好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

box-sizing 盒类型

Box -sizing 盒类型

它主要用来告诉浏览器怎么计算元素的展示宽高的。

1. 官方定义

Box -sizing 属性 允许您以特定的方式定义匹配某个区域的特定元素。

2. 解释

在开发过程中,当有 一个 固定宽高的元素带有 boder 或 padding 的时候,它在 IE 中展示和 Chrome 中是不同的,如果我们不设置这个 属性 ,那么在 IE浏览器中它的实际宽高是小于 Chrome 浏览器的这是为什么呢?

Chrome 浏览器使用的是标准盒模型 content- Box ,IE 盒模型是 border- Box 。

下面就是 一个 盒模型的结构图

3. 语法

   Box -sizing  :  content- Box  | border- Box 
 

它接受 一个 参数 content- Box 或 border- Box 。

上图是 一个 盒 模型结构

content- Box 的计算方式是:

width = content width;

height = content height

border- Box 的计算方式是:

width = border + padding + content width

heigth = border + padding + content heigth

4. 兼容性

IE Edge Firefox Chrome Safari Opera ios android 10+ 12+ 28+ 4+ 6.1+ 12.1+ 7+ 4.4

5. 实例

不是设置 Box -sizing 分别在不同浏览器中的展示。

    < div  @H_ 419 _162@class   =  " demo "   >  网 CSS3 学习 分享    </ div  >  
 

   .demo   { 
     width  : px ; 
     height  : px ; 
     background  :  #000  ; 
     color  :  #fff  ; 
     padding  : px ; 
     border  : px solid red ; 
 } 
 

效果 图

不同浏览器中的展示 效果 图

说明:左侧是 Chorme 浏览器右侧是低版本 IE 浏览器。

给上面 demo 中设置 Box -sizing 为 border- Box 。

   .demo   { 
     width  : px ; 
     height  : px ; 
     background  :  #000  ; 
     color  :  #fff  ; 
     padding  : px ; 
     border  : px solid red ; 
      Box -sizing  : border- Box  ; 
 } 
 

效果 图

使用`border- Box ` 效果 图

给上面 demo 中设置 Box -sizing 为 content- Box 。

   .demo   { 
     width  : px ; 
     height  : px ; 
     background  :  #000  ; 
     color  :  #fff  ; 
     padding  : px ; 
     border  : px solid red ; 
      Box -sizing  : content- Box  ; 
 } 
 

效果 图

使用`content- Box ` 效果 图

6. 经验 分享

推荐大家设置 Box -sizing 为 border- Box 这样方便我们写样式不必在去减去 padding 也不会造成 IE 和 Chorme 这类浏览器展示不同的 bug 。

7. 小结

如果不设置 Box -sizing 不同浏览器会有不同的计算方式。

gradients 渐变 ? ?box-shadow 阴影

查看更多关于box-sizing 盒类型的详细内容...

  阅读:46次

上一篇

下一篇

第1节:CSS3简介    第2节:border 边框    第3节:borderImage 边框图片    第4节:border-radius 圆角    第5节:box-shadow 阴影    第6节:box-sizing 盒类型    第7节:gradients 渐变    第8节:text-justify 对齐    第9节:text-overflow 文字超出    第10节:text-shadow 文本阴影    第11节:word-break 文本打断    第12节:word-wrap 文本换行    第13节:letter-spacing 字间距    第14节:perspective 透视    第15节:transform 2D 空间转换    第16节:transform 3D 空间转换    第17节:transition 过渡    第18节:animation 动画    第19节:columns 字符分割    第20节:flex 弹性盒子布局    第21节:flex order 顺序    第22节:flex: grow、shrink、basis    第23节:flex-direction 排列方向    第24节:justify-content (轴内)对齐方式    第25节:flex-wrap 换行    第26节:align-items 竖直方向对齐方式    第27节:align-content    第28节:Grid 布局简介    第29节:Grid 行和列    第30节:media 媒体查询    第31节:only 元素选择    第32节:before && after 位置    第33节:nth 类型元素选择器    第34节:calc 计算属性