美文网首页前端攻城狮
前端开发-CSS盒子模型

前端开发-CSS盒子模型

作者: 阿尔法乀 | 来源:发表于2017-11-20 10:39 被阅读0次

css盒子模型是css中一个重点也是难点,因为这个盒子模型与定位属性会设计到布局的问题
盒子模型具有
1.边框(border)
2.内边距(padding)
3.外边距(margin)这三个属性

盒子模型一般分为两种:IE盒子模型和标准盒子模型

IE盒子模型
所谓IE盒子模型,就是之前IE浏览器实现的一种怪异的盒子模型,怎么怪异呢?当我们这样设置的时候:

div {
    box-sizing: border-box;
    -webkit-box-sizing:border-box;
    -mox-box-sizing:border-box;
    height: 200px;
    width: 200px;
    background: #242424;
    margin: 10px;
    padding: 10px;
    border: 2px solid #24ce70;
}

理论上我们想要设置的就是content box的宽高嘛,但是IE在解析的时候会按照这个规则解析:

width = content-width + padding-width + border-width
height = content-height + padding-height + border-height

通俗讲:IE盒子模型宽高就是内容(content),内填充(padding),边框(border)。如果盒子模型设定了固定的width,如果设置border,padding任何一个属性的宽度,将会压缩内容区,让内容区变小


内容1.png
IE盒子模型.png

标准盒子模型
标准的css盒子模型宽高就是内容区宽高;

div {
    box-sizing: centent-box;
    -webkit-box-sizing:centent-box;
    -mox-box-sizing:centent-box;
    height: 200px;
    width: 200px;
    background: #242424;
    margin: 10px;
    padding: 10px;
    border: 2px solid #24ce70;
}

如果盒子模型设定了固定的width,则这个width指的就是内容的width了,如果再添加border,padding的值,这时候总的宽度就会超过设置的宽度,这个需要注意,不然就会影响到了网页布局了


标准盒子模型.png

IE盒子模型和标准盒子模型的设置
CSS3加了个box-sizing属性,变相承认了这两种盒子都对,不过box-sizing默认属性就是content-box,即标准盒子模式,IE盒子模型呢,是属性border-box。

浏览器兼容性
IE8及以上版本支持该属性,Firefox 需要加上浏览器厂商前缀-moz-,对于低版本的IOS和Android浏览器也需要加上-webkit-。实际上,很多reset.css或者normal.css里都包含如下CSS语句,也是比较赞成的用法:

*, *:before, *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

相关文章

  • 05-盒子模型

    typora-copy-images-to: media 第01阶段.前端基础.盒子模型 盒子模型(CSS重点) ...

  • 前端开发-CSS盒子模型

    css盒子模型是css中一个重点也是难点,因为这个盒子模型与定位属性会设计到布局的问题盒子模型具有1.边框(bor...

  • css 盒子模型

    作为一枚前端开发工程师,首先一定要清楚盒子模型是什么,因为盒子模型是html+css中最核心的基础知识,理解了这个...

  • Interview-Questions(web)

    前端开发知识点 HTML&CSS对Web标准的理解、浏览器内核差异、兼容性、hack、CSS基本功:布局、盒子模型...

  • CSS 盒子模型

    CSS盒子模型 盒子模型边框 CSS盒子模型的宽度和高度 CSS模型的填充 CSS盒子模型的边界 填充和边界的区别

  • web前端面试之CSS盒子与选择器(码动未来)

    web前端面试之CSS盒子与选择器(码动未来) 1.1.1、介绍一下标准的CSS的盒子模型?低版本IE的盒子模型有...

  • Python(三十六)CSS提升

    前端第三课CSS提升来啦!涉及的内容有box model:盒子模型;CSS floating:CSS浮动;CSS ...

  • box-sizing属性使用场景

    关键词:布局 盒子模型盒子模型盒子模型在前端开发中有着非常重要的地位。盒子模型的组成由content+paddin...

  • 2019-05-05

    基于CSS盒子模型及其CSS定位详解 CSS盒子模型 效果显示 盒子模型的简单应用 效果显示: CSS定位 效果显示

  • css基础问题

    介绍css的盒子模型 css的盒子模型有两种:IE盒子模型,W3C盒子模型盒子模型:内容(content),内边距...

网友评论

    本文标题:前端开发-CSS盒子模型

    本文链接:https://www.haomeiwen.com/subject/azfqpxtx.html