浅谈CSS盒子模型
2017-07-29 15:36
155 查看
关于盒子模型
CSS盒子模型,是在网页设计中经常使用到的CSS技术,也是一种开发的思维模型。目前主流的浏览器对于盒子模型的标准阐释和渲染效果有所不同,Google Chrome 等所使用的是
标准盒子模型,而 IE 使用的则是“非标准”盒子模型,下面以
IE盒子模型来称。
标准盒子模型
标准盒子模型以W3C标准的盒子模型为例:CSS盒子模型规定了元素框处理元素
内容(Content)、
内边距(Padding)、
边框(Border)和
外边距(Margin)的方式。
由上图可知,盒子的宽度(Width)为 内容区宽度(Content-Width),高度则为 内容区高度(Content-Height)。
IE盒子模型
然而 IE 的盒子模型跟上面不同,以 IE 6 为例:由上图可知,此时盒子的宽度变为整个容器的宽度,即内容、内边距、边框、外边距四者加起来的宽度,而高度也为其四者的高度之和。
关于浏览器兼容性
W3C指出,一旦为页面设置了恰当的 DTD,大多数浏览器都会按照上面的图示来呈现内容。然而 IE 5 和 6 的呈现却是不正确的。根据 W3C 的规范,元素内容占据的空间是由 width 属性设置的,而内容周围的 padding 和 border 值是另外计算的。不幸的是,IE5.X 和 6 在怪异模式中使用自己的非标准模型。这些浏览器的 width 属性不是内容的宽度,而是内容、内边距和边框的宽度的总和。虽然有方法解决这个问题。但是目前最好的解决方案是回避这个问题。也就是,不要给元素添加具有指定宽度的内边距,而是尝试将内边距或外边距添加到元素的父元素和子元素。
选择W3C还是IE标准
其实两者各有好处和短处,各方的看法也各不相同。无论如何,只有在合适的环境下采用合适4000
的渲染方式,才能有利于页面的基础开发。
避免触发IE盒模型:
使用
<!DOCTYPE html>声明,让IE采用W3C盒子模型。
选择采用IE标准:
通过CSS的
box-sizing属性来指明。其有两个可选值,一个是默认的
content-box,另一个是
border-box。如果选用后者,盒子模型则将按 IE标准进行处理。
相关文章推荐
- DIV CSS盒子模型浅谈
- 浅谈CSS盒子模型
- 从实作标题栏按钮开始浅谈组件的制作
- 浅谈 qmake 之 pro、pri、prf、prl文件
- 浅谈TCP优化
- 浅谈usort、uasort、uksort
- 浅谈post提交和get提交方式的区别
- 浅谈Servlet转发到JSP页面的路径问题(必看)
- 浅谈编程工具
- 浅谈定制化OA突破传统OA瓶颈
- HTML5 VS. Flash&Flex? – 浅谈Flash/Flex/HTML 5技术选型
- 浅谈Android线程通信之Handler
- 浅谈SMTP配置(邮件系统)
- BZOJ 3207 浅谈主席树及哈希表对于区间数列存在性判断问题的应用
- delphi连接数据库浅谈
- 浅谈ListBox在Windows Phone 7 中的使用
- Powershell进阶学习(1) 浅谈Powershell学习方法
- 浅谈$(document)和$(window)的区别
- 浅谈js中的引用和复制(传值和传址)
- 浅谈Java数组的一些使用方法及堆栈存储