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实现背景模糊的三种方式
Mar 09 HTML / CSS
纯CSS实现菜单、导航栏的3D翻转动画效果
Apr 23 HTML / CSS
HTML5时代CSS设置漂亮字体取代图片
Sep 04 HTML / CSS
css3实现的多级渐变下拉菜单导航效果代码
Aug 31 HTML / CSS
css3实现元素环绕中心点布局的方法示例
Jan 15 HTML / CSS
使用css实现android系统的loading加载动画
Jul 25 HTML / CSS
HTML5 语义化结构化规范化
Oct 17 HTML / CSS
HTML5新增的8类INPUT输入类型介绍
Jul 06 HTML / CSS
HTML5标签嵌套规则详解【必看】
Apr 26 HTML / CSS
浅谈移动端网页图片预加载方案
Nov 05 HTML / CSS
css3中transform属性实现的4种功能
Aug 07 HTML / CSS
如何用H5实现好玩的2048小游戏
Jul 23 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
获取用户Ip地址通用方法与常见安全隐患(HTTP_X_FORWARDED_FOR)
2013/06/01 PHP
PHP+JS实现的商品秒杀倒计时用法示例
2016/11/15 PHP
php生成网页桌面快捷方式
2017/05/05 PHP
对于Laravel 5.5核心架构的深入理解
2018/02/22 PHP
Javascript中Eval函数的使用
2010/03/23 Javascript
腾讯的ip接口 方便获取当前用户的ip地理位置
2010/11/25 Javascript
对xmlHttp对象的理解
2011/01/17 Javascript
js中有关IE版本检测
2012/01/04 Javascript
javascript 另一种图片滚动切换效果思路
2012/04/20 Javascript
JavaScript的继承的封装介绍
2013/10/15 Javascript
jQuery中的jQuery()方法用法分析
2014/12/27 Javascript
JavaScript制作颜色反转小游戏
2016/09/25 Javascript
使用jQuery操作DOM的方法小结
2017/02/27 Javascript
Canvas放置反弹效果随机图形(实例)
2017/08/17 Javascript
js实现图片放大并跟随鼠标移动特效
2019/01/18 Javascript
详解js获取video任意时间的画面截图
2019/04/17 Javascript
vue新建项目并配置标准路由过程解析
2019/12/09 Javascript
vue props 单项数据流实例分享
2020/02/16 Javascript
vue中可编辑树状表格的实现代码
2020/10/31 Javascript
[03:01]2014DOTA2国际邀请赛 DC:我是核弹粉,为Burning和国土祝福
2014/07/13 DOTA
python中的一些类型转换函数小结
2013/02/10 Python
在Python中操作文件之truncate()方法的使用教程
2015/05/25 Python
Python中使用装饰器来优化尾递归的示例
2016/06/18 Python
Python决策树和随机森林算法实例详解
2018/01/30 Python
Python多线程应用于自动化测试操作示例
2018/12/06 Python
关于Pycharm无法debug问题的总结
2019/01/19 Python
python 列表转为字典的两个小方法(小结)
2019/06/28 Python
简单了解Python变量作用域正确使用方法
2020/06/12 Python
Python Selenium模块安装使用教程详解
2020/07/09 Python
Python用来做Web开发的优势有哪些
2020/08/05 Python
CSS3 calc()会计算属性详解
2018/02/27 HTML / CSS
安踏广告词改编版
2014/03/21 职场文书
农村党员学习党的群众路线教育实践活动心得体会
2014/11/04 职场文书
商铺租房协议书范本
2014/12/04 职场文书
2015年社区纪检工作总结
2015/04/21 职场文书
Redis+AOP+自定义注解实现限流
2022/06/28 Redis