CSS3 box-sizing属性


Posted in HTML / CSS onApril 17, 2009

说到 IE 的 bug,一个臭名昭著的例子是它对于“盒模型”的错误解释:在 IE5.x 以及 Quirks 模式的 IE6/7 中,将 border 与 padding 都包含在 width 之内。这为前端工程师的工作平添了不少麻烦,几户每个需要定义尺寸的 box 都要思量一下:是否触发了“盒模型 bug”?

同时,由于另一撮浏览器对标准的遵从,我们在精确定义一个在有限空间内显示的 box 时,也需要计算一下:留给它的空间只有那么大,刨去 border 和 padding,我们该把它的 width 写成多少呢?

这种情况在 CSS3 时代有了改善,得益于这个叫做 box-sizing 的属性,它具有“content-box”和“border-box”两个值。

  • 定义 box-sizing: content-box; 时,浏览器对盒模型的解释遵从我们之前认识到的 W3C 标准;
  • 定义 box-sizing: border-box; 时,浏览器对盒模型的解释与 IE6 相同;

CSS3 box-sizing属性

为什么说这个属性“迟来”呢?IE 对于盒模型的解释固然不符合 W3C 的规范,但是也有它的好处:无论如何改动 border 与 padding 的值,都不会导致 box 总尺寸发生变化,也就不会打乱页面整体布局。而在 Firefox 等现代浏览器下,如果我们要改变一下 padding 的值,就不得不重新计算 box 的 width。现在 IE6 寿终正寝,这个 CSS 属性未免有些姗姗来迟。

试用这个新属性,Firefox 请使用 -moz-box-sizing,Safari / WebKit 请使用 -webkit-box-sizing,Opera 直接用 box-sizing 即可。

HTML / CSS 相关文章推荐
CSS3 3D制作实战案例分析
Sep 18 HTML / CSS
CSS3中:nth-child和:nth-of-type的区别深入理解
Mar 10 HTML / CSS
浅析css3中matrix函数的使用
Jun 06 HTML / CSS
css3media响应式布局实例
Jul 08 HTML / CSS
使用phonegap检测网络状态的方法
Mar 30 HTML / CSS
HTML5 语义化结构化规范化
Oct 17 HTML / CSS
一波HTML5 Canvas基础绘图实例代码集合
Feb 28 HTML / CSS
详解HTML5 Canvas绘制不规则图形时的非零环绕原则
Mar 21 HTML / CSS
Html5实现文件异步上传功能
May 19 HTML / CSS
详解如何通过H5(浏览器/WebView/其他)唤起本地app
Dec 11 HTML / CSS
html5 外链式实现加减乘除的代码
Sep 04 HTML / CSS
HTML中table表格拆分合并(colspan、rowspan)
Apr 07 HTML / CSS
CSS3伪类选择器:nth-child()
Apr 02 #HTML / CSS
CSS3教程:新增加的结构伪类
Apr 02 #HTML / CSS
CSS3五个技巧给你的网站带来出色的效果
Apr 02 #HTML / CSS
CSS3教程:边框属性border的极致应用
Apr 02 #HTML / CSS
CSS3中的5个有趣的新技术
Apr 02 #HTML / CSS
介绍CSS3使用技巧5个
Apr 02 #HTML / CSS
CSS3教程(1):什么是CSS3
Apr 02 #HTML / CSS
You might like
国外比较好的几个的Php开源建站平台小结
2010/04/22 PHP
PHP版 汉字转码的实现详解
2013/06/09 PHP
解析php类的注册与自动加载
2013/07/05 PHP
PHP实现文件下载断点续传详解
2014/10/15 PHP
Thinkphp中数据按分类嵌套循环实现方法
2014/10/30 PHP
ThinkPHP2.x防范XSS跨站攻击的方法
2015/09/25 PHP
新浪中用来显示flash的函数
2007/04/02 Javascript
细品javascript 寻址,闭包,对象模型和相关问题
2009/04/27 Javascript
Extjs中ComboBox加载并赋初值的实现方法
2012/03/22 Javascript
对js关键字命名的疑问介绍
2014/04/25 Javascript
jQuery实现日期联动效果实例
2016/07/26 Javascript
jQuery EasyUI datagrid在翻页以后仍能记录被选中行的实现代码
2016/08/15 Javascript
es7学习教程之fetch解决异步嵌套问题的方法示例
2017/07/21 Javascript
微信小程序request请求后台接口php的实例详解
2017/09/20 Javascript
解决angular2在双向数据绑定时[(ngModel)]无法使用的问题
2018/09/13 Javascript
小程序实现左滑删除功能
2018/10/30 Javascript
JavaScript实现获取两个排序数组的中位数算法示例
2019/02/26 Javascript
在Python编程过程中用单元测试法调试代码的介绍
2015/04/02 Python
一个基于flask的web应用诞生 bootstrap框架美化(3)
2017/04/11 Python
pandas 缺失值与空值处理的实现方法
2019/10/12 Python
Canon佳能美国官方商店:购买数码相机、数码单反相机、镜头和打印机
2016/11/15 全球购物
澳大利亚拥有最佳跳伞降落点和最好服务的跳伞项目运营商:Skydive Australia
2018/03/05 全球购物
三陽商会官方网站:Sanyo iStore
2019/05/15 全球购物
Java里面StringBuilder和StringBuffer有什么区别
2016/06/06 面试题
物流专业大学应届生求职信
2013/11/03 职场文书
行政工作个人的自我评价
2014/02/13 职场文书
对教师的评语
2014/04/28 职场文书
咖啡厅商业计划书
2014/09/15 职场文书
2014院党委领导班子对照检查材料思想汇报
2014/09/24 职场文书
2014副镇长民主生活会个人对照检查材料思想汇报
2014/09/30 职场文书
个人求职意向书
2015/05/11 职场文书
同意报考证明
2015/06/17 职场文书
小学运动会通讯稿
2015/07/18 职场文书
电工实训心得体会
2016/01/14 职场文书
预防职务犯罪警示教育心得体会
2016/01/15 职场文书
vue+echarts实现多条折线图
2022/03/21 Vue.js