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 动画技术
Jul 27 HTML / CSS
非常漂亮的CSS3百叶窗焦点图动画
Feb 24 HTML / CSS
详解CSS3中nth-child与nth-of-type的区别
Jan 05 HTML / CSS
CSS3 filter(滤镜)实现网页灰色或者黑色模式的示例代码
Feb 24 HTML / CSS
html5标记文字_动力节点Java学院整理
Jul 11 HTML / CSS
html5中去掉input type date默认样式的方法
Sep 06 HTML / CSS
HTML5之SVG 2D入门2—图形绘制(基本形状)介绍及使用
Jan 30 HTML / CSS
HTML5中图片之间的缝隙完美解决方法
Jul 07 HTML / CSS
教你使用Canvas处理图片的方法
Nov 28 HTML / CSS
CSS中妙用 drop-shadow 实现线条光影效果
Nov 11 HTML / CSS
CSS巧用渐变实现高级感背景光动画
Dec 06 HTML / CSS
开发微信小程序之WXSS样式教程
Apr 18 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
简单分析ucenter 会员同步登录通信原理
2014/08/25 PHP
thinkphp区间查询、统计查询与SQL直接查询实例分析
2014/11/24 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
2018/06/16 PHP
IE中jscript/javascript的条件编译
2006/09/07 Javascript
Javascript继承(上)——对象构建介绍
2012/11/08 Javascript
innerText 使用示例
2014/01/23 Javascript
JavaScript中的标签语句用法分析
2015/02/10 Javascript
jQuery使用removeClass方法删除元素指定Class的方法
2015/03/26 Javascript
jquery简单实现外部链接用新窗口打开的方法
2015/05/30 Javascript
Windows下用PyCharm和Visual Studio开始Python编程
2015/10/26 Javascript
Vue.js 插件开发详解
2017/03/29 Javascript
JS限制输入框输入的实现代码
2018/07/02 Javascript
在axios中使用params传参的时候传入数组的方法
2018/09/25 Javascript
js实现淘宝首页的banner栏效果
2019/11/26 Javascript
原生js实现瀑布流效果
2020/03/09 Javascript
[53:29]完美世界DOTA2联赛循环赛 DM vs Matador BO2第二场 11.04
2020/11/05 DOTA
Python文件右键找不到IDLE打开项解决办法
2015/06/08 Python
python判断字符串是否是json格式方法分享
2017/11/07 Python
Python求出0~100以内的所有素数
2018/01/23 Python
python将一组数分成每3个一组的实例
2018/11/14 Python
python判断两个序列的成员是否一样的实例代码
2020/03/01 Python
Python 给下载文件显示进度条和下载时间的实现
2020/04/02 Python
Python 基于jwt实现认证机制流程解析
2020/06/22 Python
Diamondback自行车:拥有你的冒险
2019/04/22 全球购物
关于旷工的检讨书
2014/02/02 职场文书
电脑售后服务承诺书
2014/03/27 职场文书
一体化教学实施方案
2014/05/10 职场文书
学校个人对照检查材料
2014/08/26 职场文书
优秀纪检干部材料
2014/08/27 职场文书
领导干部个人对照检查材料(群众路线)
2014/09/26 职场文书
2014年文员工作总结
2014/11/18 职场文书
讲文明倡议书
2015/04/29 职场文书
浪漫婚礼主持词开场白
2015/11/24 职场文书
Pytest allure 命令行参数的使用
2021/04/18 Python
Python Django搭建文件下载服务器的实现
2021/05/10 Python
Java图书管理系统,课程设计必用(源码+文档)
2021/06/30 Java/Android