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五个技巧给你的网站带来出色的效果
Apr 02 HTML / CSS
纯CSS实现右侧底部悬浮效果(悬浮QQ、微信、微博、邮箱等联系方式)
Apr 24 HTML / CSS
CSS3制作酷炫的条纹背景
Nov 09 HTML / CSS
html5使用html2canvas实现浏览器截图的示例
Aug 31 HTML / CSS
html Table 表头固定的实现
Jan 22 HTML / CSS
html5 worker 实例(一) 为什么测试不到效果
Jun 24 HTML / CSS
HTML5 画布canvas使用方法
Mar 18 HTML / CSS
HTML5 Canvas绘制五星红旗
May 04 HTML / CSS
使用iframe+postMessage实现页面跨域通信的示例代码
Jan 14 HTML / CSS
HTML里显示pdf、word、xls、ppt的方法示例
Apr 14 HTML / CSS
amazeui页面校验功能的实现代码
Aug 24 HTML / CSS
CSS实现鼠标悬浮动画特效
May 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程序实现支持页面后退的两种方法
2008/06/30 PHP
PHP封装的MSSql操作类完整实例
2016/05/26 PHP
js各种验证文本框输入格式(正则表达式)
2010/10/22 Javascript
不使用中间变量,交换int型的 a, b两个变量的值。
2010/10/29 Javascript
JavaScript中的稀疏数组与密集数组[译]
2012/09/17 Javascript
jquery获取被勾选的checked(选中)的那一行的3列和4列的值
2013/07/04 Javascript
JavaScript的21条基本知识点
2014/03/04 Javascript
js判断游览器类型及版本号的代码
2014/05/11 Javascript
Jquery 获取指定标签的对象及属性的设置与移除
2014/05/29 Javascript
JS获取当前网页大小以及屏幕分辨率等
2014/09/05 Javascript
DOM基础教程之使用DOM
2015/01/19 Javascript
封装了jQuery的Ajax请求全局配置
2015/02/05 Javascript
JavaScript实现向右伸出的多级网页菜单效果
2015/08/25 Javascript
jQuery操作Table技巧大汇总
2016/01/23 Javascript
JS实现简单的二维矩阵乘积运算
2016/01/26 Javascript
jquery 仿锚点跳转到页面指定位置的实例
2017/02/14 Javascript
js简单实现网页换肤功能
2017/04/07 Javascript
详谈表单格式化插件jquery.serializeJSON
2017/06/23 jQuery
vue 中引用gojs绘制E-R图的方法示例
2018/08/24 Javascript
js事件on动态绑定数据,绑定多个事件的方法
2018/09/15 Javascript
vue页面切换过渡transition效果
2018/10/08 Javascript
Node.js折腾记一:读指定文件夹,输出该文件夹的文件树详解
2019/04/20 Javascript
JS实现的检验身份证格式并输出出生日期,年龄,性别,出生地示例
2019/05/17 Javascript
mpvue微信小程序开发之实现一个弹幕评论
2019/11/24 Javascript
详解一些适用于Node.js的命名约定
2019/12/08 Javascript
Python中使用OpenCV库来进行简单的气象学遥感影像计算
2016/02/19 Python
Python原始字符串与Unicode字符串操作符用法实例分析
2017/07/22 Python
python try 异常处理(史上最全)
2019/03/07 Python
Python-jenkins模块之folder相关操作介绍
2020/05/12 Python
一套Delphi的笔试题二
2013/05/11 面试题
英语演讲稿范文
2014/01/03 职场文书
运动会广播稿150字(9篇)
2014/09/20 职场文书
支部书记四风问题对照检查材料
2014/10/04 职场文书
学院党委班子四风问题自查报告及整改措施
2014/10/25 职场文书
三年级学生评语大全
2014/12/26 职场文书
Java框架入门之简单介绍SpringBoot框架
2021/06/18 Java/Android