谈谈对css属性box-sizing的了解


Posted in HTML / CSS onJanuary 04, 2017

在了解box-sizing之前,让我们来稍稍回顾一下盒子模型,模型分为:标准盒模型+IE盒模型。那这有什么区别呢?见图所示:

从上图可以看到标准 w3c 盒子模型的范围包括 margin、border、padding、content,并且 content 部分不包含其他部分。

谈谈对css属性box-sizing的了解

从上图可以看到 ie 盒子模型的范围也包括 margin、border、padding、content,和标准 w3c 盒子模型不同的是:ie 盒子模型的 content 部分包含了 border 和 pading。

谈谈对css属性box-sizing的了解

当然前端工程师在写页面布局的时候该采取的是 标准的盒模型(需要在页面html声明处加上doctype 声明),告知浏览器按照标准盒模型的方式进行渲染页面,反之,页面会根据不用的浏览器进行解析,IE会使用IE的盒模型进行渲染,FIREFOX 和 GOOGLE等会按照标准模式惊醒渲染,显然是不合常理的。

所以为了让我们写的网页能兼容各个浏览器,最好使用标准 w3c 盒子模型。

说完了盒子模型,进入到我们这个css属性box-sizing的了解。

box-sizing的三个属性值: content-box在宽度和高度之外绘制元素的内边距和边框|border-box为元素指定的任何内边距和边框都将在已设定的宽度和高度内进行绘制|inherit规定应从父元素继承 box-sizing 属性的值;box-sizing 属性允许您以特定的方式定义匹配某个区域的特定元素。

ie8+浏览器支持content-box和border-box;

ff则支持全部三个值。

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">  
<html lang="en">  
    <head>  
        <meta charset="utf-8">  
        <title>box-sizing事项</title>  
        <style type="text/css">  
            *{padding: 0;margin: 0;font-family: "微软雅黑";box-sizing:border-box;-moz-box-sizing:border-box; /* Firefox */  
-webkit-box-sizing:border-box; /* Safari */}  
            .content{width: 800px;height: 500px;margin: 30px auto;border: 5px solid #e2e2e2;padding: 10px}  
        </style>  
    </head>  
    <body>  
        <div class="content">  
            这是内容@!  
        </div>  
    </body>  
</html>

在进行box-sizing属性修饰之后盒子得到的宽度是:770px = 800px - 10px -20px;

意思是内填充和边框在已经设定的content盒子800像素里面进行绘制,导致了content盒子的宽度为:770。

在不进行box-sizing属性修饰之后盒子得到的宽度是:800px;

谈谈对css属性box-sizing的了解

谈谈对css属性box-sizing的了解

box-sizing这个属性在我们前端开发过程中,使得页面布局显得十分整齐,简单!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
CSS3 Media Queries详细介绍和使用实例
May 08 HTML / CSS
详解CSS3选择器:nth-child和:nth-of-type之间的差异
Sep 18 HTML / CSS
CSS3实现可翻转的hover效果
May 23 HTML / CSS
css3遮罩层镂空效果的多种实现方法
May 11 HTML / CSS
详解HTML5 LocalStorage 本地存储
Dec 23 HTML / CSS
前端canvas动画如何转成mp4视频的方法
Jun 17 HTML / CSS
HTML5 语音搜索只需一句代码
Jan 03 HTML / CSS
HTML5验证以及日期显示的实现详解
Jul 05 HTML / CSS
canvas实现二维码和图片合成的示例代码
Aug 01 HTML / CSS
canvas压缩图片以及卡片制作的方法示例
Dec 04 HTML / CSS
Html5移动端网页端适配(js+rem)
Feb 03 HTML / CSS
CSS三大特性继承性、层叠性和优先级详解
Jan 18 HTML / CSS
纯CSS3制作的鼠标悬停时边框旋转
Jan 03 #HTML / CSS
HTML5+CSS3网页加载进度条的实现,下载进度条的代码实例
Dec 30 #HTML / CSS
HTML5+CSS3实例 :canvas 模拟实现电子彩票刮刮乐代码
Dec 30 #HTML / CSS
HTML5+CSS3 诱人的实例:3D立方体旋转动画实例
Dec 30 #HTML / CSS
CSS3实现瀑布流布局与无限加载图片相册的实例代码
Dec 22 #HTML / CSS
详解CSS透明opacity和IE各版本透明度滤镜filter的最准确用法
Dec 20 #HTML / CSS
详解CSS3浏览器兼容
Dec 14 #HTML / CSS
You might like
WordPress的主题编写中获取头部模板和底部模板
2015/12/28 PHP
总结PHP删除字符串最后一个字符的三种方法
2016/08/30 PHP
laravel如何开启跨域功能示例详解
2017/08/31 PHP
详解PHP中mb_strpos的使用
2018/02/04 PHP
JavaScript入门教程(10) 认识其他对象
2009/01/31 Javascript
Javascript select下拉框操作常用方法
2009/11/09 Javascript
Javascript string 扩展库代码
2010/04/09 Javascript
日期处理的js库(迷你版)--自建js库总结
2011/11/21 Javascript
JavaScript在多浏览器下for循环的使用方法
2012/11/07 Javascript
javascript闭包的高级使用方法实例
2013/07/04 Javascript
jquery访问ashx文件示例代码
2014/08/11 Javascript
jQuery/CSS3图片特效插件整理推荐
2014/12/07 Javascript
JS将unicode码转中文方法
2017/05/08 Javascript
解决Vue项目中tff报错的问题
2020/10/21 Javascript
[02:27]2018DOTA2亚洲邀请赛赛前采访-OpTic
2018/04/03 DOTA
Python二叉树的定义及常用遍历算法分析
2017/11/24 Python
python对excel文档去重及求和的实例
2018/04/18 Python
解决python使用list()时总是报错的问题
2020/05/05 Python
Python爬虫如何应对Cloudflare邮箱加密
2020/06/24 Python
基于Python模拟浏览器发送http请求
2020/11/06 Python
python Scrapy框架原理解析
2021/01/04 Python
详解H5 活动页之移动端 REM 布局适配方法
2017/12/07 HTML / CSS
意大利制造的西装、衬衫和针对男士量身定制的服装:Lanieri
2018/04/08 全球购物
REISS美国官网:伦敦最受欢迎的时尚品牌
2019/08/16 全球购物
化工专业推荐信范文
2013/11/28 职场文书
你懂得怎么写自荐信吗?
2013/12/27 职场文书
红领巾广播站广播稿
2014/02/01 职场文书
消防安全标语
2014/06/07 职场文书
2014年小学国庆节活动方案
2014/09/16 职场文书
团干部培训班心得体会
2016/01/06 职场文书
陶瓷类经典广告语集锦
2019/10/25 职场文书
某某店铺的开业庆典主持词范本
2019/11/25 职场文书
导游词之江南周庄
2019/12/06 职场文书
一次线上mongo慢查询问题排查处理记录
2022/03/18 MongoDB
vue2的 router在使用过程中遇到的一些问题
2022/04/13 Vue.js
Java设计模式之代理模式
2022/04/22 Java/Android