CSS 盒子模型
来源:互联网 发布:python items 编辑:程序博客网 时间:2024/05/21 14:58
随着CSS3的兴起,现在的盒模型的计算基准有两种,分别为content-box和border-box.
即box-sizing:content-box|border-box|inherit
取值说明:
1.content-box是默认值,其让元素维持W3C标准盒模型,即
Width/height(盒子的宽度/高度)=border+padding+content width/height(内容的宽度/高度).
而盒模型包含了元素的border、padding、width/height。
2.border-box:此值是让元素维持IE盒模型。即
Width/height=border+padding+content width/height(内容的宽度/高度).
而盒模型包含了元素的border、padding、width/height。
两种盒模型都包含了盒子的border、padding、content。
不同之处在于content的大小不一样。W3C标准盒模型中,width是内容content的width,不包含border和padding。而IE盒模型中,width是整个盒模型的width,包含border、padding和content的width。
示意图如下:
代码部分:
.box1 {
1. box-sizing: content-box;
2. width: 100px;
3. height: 100px;
4. background: green;
5. border: 10px solid red;
6. padding: 20px;
}
效果图与W3C标准盒模型示意图如下:
例2:
代码部分:
.box1 {
1. box-sizing: border-box;
2. width: 100px;
3. height: 100px;
4. background: green;
5. border: 10px solid red;
6. padding: 20px;
}
效果图与IE盒模型示意图如下:
兼容的浏览器如下所示:
兼容性写法如下:
box-sizing现代浏览器都支持,但IE家族只有IE8版本以上才支持,虽然现代浏览器支持box-sizing,但有些浏览器还是需要加上自己的前缀,Mozilla需要加上-moz-,Webkit内核需要加上-webkit-,Presto内核-o-,IE8-ms-,所以box-sizing兼容浏览器时需要加上各自的前缀。
附上前人代码:
/*Content box*/ Element{ -moz-box-sizing: content-box; /*Firefox3.5+*/ -webkit-box-sizing: content-box; /*Safari3.2+*/ -o-box-sizing: content-box; /*Opera9.6*/ -ms-box-sizing: content-box; /*IE8*/ box-sizing: content-box; /*W3C标准(IE9+,Safari5.1+,Chrome10.0+,Opera10.6+都符合box-sizing的w3c标准语法)*/ } /*Border box*/ Element{ -moz-box-sizing: border-box; /*Firefox3.5+*/ -webkit-box-sizing: border-box; /*Safari3.2+*/ -o-box-sizing: border-box; /*Opera9.6*/ -ms-box-sizing: border-box; /*IE8*/ box-sizing: border-box; /*W3C标准(IE9+,Safari5.1+,Chrome10.0+,Opera10.6+都符合box-sizing的w3c标准语法)*/ }
详情参考CSS3Box-sizing这篇文章详解和form兼容性分析http://www.w3cplus.com/content/css3-box-sizing
- 理解CSS盒子模型
- 盒子模型 css
- css盒子模型
- CSS盒子模型
- CSS核心--盒子模型
- CSS核心--盒子模型
- CSS盒子模型
- CSS盒子模型
- DIV+CSS盒子模型
- CSS盒子模型
- css盒子模型
- CSS盒子模型介绍
- CSS+DIV 盒子模型
- CSS盒子模型
- CSS 盒子模型
- CSS盒子模型
- CSS盒子模型详解 .
- css中的盒子模型
- 用nginx+uwsgi+django配置网站
- C++类中的内存对齐
- (十六)evbuffers缓冲区(下)
- cacti安装
- 奥数
- CSS 盒子模型
- 写给自己的Java程序员学习路线图
- 基于ionic+cordova+angularJs从零开始搭建自己的移动端H5 APP
- java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
- Promise对象的含义和基本用法
- CentOS 搭建GitLab
- Socket参数用法
- 9-2 DAIRY
- vim笔记