盒子模型,ie怪异盒子模型,box-sizing

  • 盒模型由四部分组成:
  1. 内容边界(Conent edge)
  2. 内边距边界(Padding Edge)
  3. 边框边界(Border Edge)
  4. 外边框边界(Margin Edge)
  • ie盒模型和w3c标准和盒模型
  1. ie怪异盒模型:width和height包含padding和border
  2. w3c标准盒模型:width和height不包含padding和border

这么说吧:如果采用ie怪异模型,盒子元素实际占据的宽高是 height/width属性值 + margin。如果采用标准盒模型,盒子元素实际占据的宽高是 height/width属性值 + padding + border + margin

  • box-sizing属性(需要前缀兼容)
  1. content-box w3c标准盒模型(默认值)
  2. boder-box ie盒模型
<style>
  .ie,
  .w3c {
    height: 200px;
    width: 200px;
    background: #999999;
    padding: 20px;
    border: 1px solid red;
  }

  .ie {
    box-sizing: border-box;
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
  }
</style>

<body>
  <div class="ie">
    我是ie盒模型,width和height包含padding和border,实际宽高200px
  </div>
  <br>
  <div class="w3c">
    我是ie盒模型,width和height不包含padding和border,实际宽高240px
  </div>
</body>
盒模型
  • box-sizing使用场景
  1. 布局时防止添加border属性导致换行(一行四列布局,每个元素占据25%的宽度,如果添加border那么最后一个元素就换行了,此时可以将四个元素改为box-sizing:border-box解决)还有一个解决方法: 使用outline属性,嘻嘻

ps:有个老哥写的阿里面经谈到好几个box-sizing的使用场景,但我只想到一个,如果知道其他的请评论指点

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,796评论 1 92
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,335评论 0 11
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 1,803评论 0 2
  • 丫头0921 2017 Day 52/90 ️毕业论文搞定 ️把针灸笔记整理到印象笔记(已完成) ️学习思维导图 ...
    爱中医的丫头阅读 147评论 0 0
  • 不知道为什么,无论是做西红柿蛋花汤,或是简单的鸡蛋茶,打出来的蛋花总是一坨一坨的,要不就是碎碎烂烂的,看得一点食欲...
    味库美食视频阅读 417评论 0 0