zoukankan      html  css  js  c++  java
  • css盒模型

    css盒模型分类

    标准盒模型

    mdn,在标准盒模型中,如果给盒设置width和height,实际设置的是content box。padding和border再加上设置的宽高一起设置盒子大小。

    • 盒子大小 = content + padding + border
    • css中设置的winth和height只包含内容content,不包含padding和border,只是最终盒子占位大小为content + padding + border

    #app {
         100px;
        height: 100px;
        border: 20px solid #ddd;
        padding: 20px;
        background-color: #ccc;
    }
    

    app这个元素盒子大小 = 20 + 20 + 100 + 20 + 20

    IE盒模型

    mdn中规定,盒子宽高为可见宽高,所以内容宽度是该宽度减去边框和填充部分

    • 在ie8+浏览器中,可以使用box-sizing属性来控制盒模型的类型,默认值content-box为标准盒模型;如果将值设置为border-box则为IE盒模型。
    • 在IE6,7,8浏览器中,如果html中没有DOCTYPE,就会以IE盒模型显示
    • css中设置的width和height指的是内容content + padding + border

    box-sizing属性

    • content-box,默认值,及尺寸大小width/height为content的width和height
    • border-box,转为IE盒模型,及尺寸大小width/height为border及以内的部分,border + padding + content

    外边距margin的影响

    • 外边距不会影响盒子的大小,只是会把其他元素从盒子旁边推开
    • 外边距具有折叠的概念,即有两个外边距相接的元素,这些外边距将合并为一个外边距,即最大的单个外边距的大小
    在下图两个.app的元素,会发现标准盒模型下,盒子大小(160px) = width(100px) + padding(10 * 2px) + border(20 * 2px),但是两个盒子的下边距处,margin出现了重合。

    参考

    1. mdn盒模型文档
  • 相关阅读:
    _bzoj1061 [Noi2008]志愿者招募【最小费用最大流】
    _bzoj2243 [SDOI2011]染色【树链剖分】
    _bzoj1013 [JSOI2008]球形空间产生器sphere【高斯消元】
    _bzoj1002 [FJOI2007]轮状病毒【瞎搞】
    leetcode 273 Integer to English Words
    leetcode 12 Integer to Roman
    leetcode 1071 Greatest Common Divisor of Strings
    lc6 ZigZag Conversion
    lc13 Roman to Integer
    leetcode 171 Excel Sheet Column Number
  • 原文地址:https://www.cnblogs.com/sk-3/p/13538840.html
Copyright © 2011-2022 走看看