CSS3中的box-sizing属性

来源:asp之家 时间:2010-04-05 21:52:00 

说到 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 相同;

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

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

标签:CSS3,IE6,box-sizing
0
投稿

猜你喜欢

  • rs.getrows的使用方法

    2008-04-05 14:01:00
  • 用CSS设置表格Table的细边框的比较好用的方法

    2010-09-06 14:58:00
  • 一实用的table内容排序Javascript类库

    2008-11-02 15:03:00
  • SQL学习笔记二 创建表、插入数据的语句

    2011-09-30 11:17:32
  • 也谈谈DIV+CSS的牛角尖

    2007-11-16 16:12:00
  • html网页颜色表大全(苏昱)

    2008-01-01 15:52:00
  • 比较文档位置

    2008-04-03 13:24:00
  • SQL Server的BUILTIN\\Administrators用户

    2009-02-04 13:51:00
  • position两三事

    2009-02-16 15:23:00
  • asp.net性能的技巧

    2007-10-07 21:55:00
  • asp如何在数据库中用好Transaction?

    2010-06-22 21:07:00
  • 提升JavaScript运行速度之循环篇[译]

    2009-02-20 12:54:00
  • 在SQL查询中使用LIKE来代替IN查询的方法

    2011-09-30 11:10:18
  • 如何做一个只搜索本网站的引擎?

    2010-07-12 19:02:00
  • 设计哲学与跨界

    2009-08-18 12:25:00
  • MSSQL中递归SQL查询语句实例说明-

    2011-09-30 11:42:43
  • ASP,PHP与.NET伪造HTTP-REFERER方法及防止伪造REFERER的方法

    2010-03-12 12:40:00
  • PHP实现登录的Cookie存储方案详解

    2023-05-25 08:45:17
  • JS完美实现对象克隆

    2008-08-03 16:51:00
  • 让所有IE支持HTML5的解决方案

    2009-10-31 18:43:00
  • asp之家 网络编程 m.aspxhome.com