盒模型

作者: cooore | 来源:发表于2016-07-01 17:09 被阅读0次

    盒子模型

    CSS盒模型

    width:<length>|<percentage>|auto|inherit

    width:200px;

    width:50%;参照父元素

    引申:max-width,min-width

    height:<length>|<percentage>|auto|inherit

    引申:max-height,min-height

    padding:[<length>|<percentage>]{1,4}|inherit

    padding:20px;

    padding:40px 30px 20px 10px;

    TRBL 上右下左

    padding的值缩写

    padding:20px; == padding:20px 20px 20px 20px;

    padding:20px 10px; == padding:20px 10px 20px 10px;

    padding:20px 10px 30px; == padding:20px 10px 30px 10px;

    对面相等,后者省略,4者相等,只设一个

    margin:[<length>|<percentage>|auto]{1,4}|inherit

    margin合并:毗邻元素的外边距会合并,取两者较大值;父元素与其第一个/最后一个子元素的外边距也可以合并,取两者较大值。

    块元素的top与bottom外边距有时会合并(塌陷)为单个外边距(合并后最大的外边距),这样的现象称之为外边距合并(塌陷)。

    下面三种基本情形会出现外边距塌陷:

    毗邻兄弟元素

    毗邻的兄弟元素的外边距会塌陷(当靠后的元素清除浮动时除外)。

    父元素与第一个/最后一个子元素

    如果块元素的marigin-top与它的第一个子元素的marigin-top之间没有border、padding、inline content、clearance来分隔,或者块元素的margin-bottom与它的最后一个子元素的margin-bottom之间没有border、padding、inline content、heightmin-heightmax-height分隔,那么外边距会合并(塌陷)。子元素多余的外边距会被父元素的外边距截断。

    空块元素

    如果块元素的marigin-top与margin-bottom之间没有border、padding、inline content、height、min-height来分隔,那么它的上下外边距将会合并。

    当这些情形混合时,外边距合并更加复杂(两个以上外边距)。

    即使外边距为0,这些规则仍旧生效。因此,无论父元素的外边距是否为0,第一个或者最后一个子元素的外边距会被父元素的外边距截断(根据上面的规则),在负外边距的情况下,合并后的外边距为最大正外边距与最小负外边距之和。

    浮动及绝对定位元素外边距不会合并。

    水平居中

    margin:0 auto;浏览器自动分配多余空间

    border:[<border-width>||<border-style>||<border-color>]|inherit

    border-width:[<length>|thin|medium|thick]{1,4}|inherit

    border-style:[solid|dashed|dotted|...]{1,4}|inherit

    border-color:[<color>|transparent]{1,4}|inherit

    border:1px dashed blue;

     border-radius:[<length>|<percentage>]{1,4}[/[<length>|<percentage>]{1,4}]?

    前面四个值表示X方向半径,后面四个值表示Y方向上的半径

    border-radius:10px;

    border-radius:

    0px 5px 10px 15px/

    20px 15px 10px 5px;

    border-radius:50%;圆

     内容溢出:overflow:visible|hidden|scroll|auto

    引申:overflow-x,overflow-y

    box-sizing:content-box|border-box|inherit

    默认情况下宽、高设置的是内容区

    box-shadow:none|<shadow>[,<shadow>]*

    <shadow>:inset?&&<length>{2,4}<color>?

    box-shadow:4px 6px 3px 0 red;

    第一个值是水平偏移

    第二个值是垂直偏移

    第三个值是模糊半径

    第四个值是阴影大小

    color颜色默认文字颜色

    阴影不占空间

    outline:[<outline-width>||<outline-style>||<outline-color>]|inherit 轮廓,描边

    outline-width:<length>|thin|medium|thick|inherit

    outline-style:solid|dashed|dotted|inherit

    outline-color:<color>|invert|inherit

    outline:5px dashed blue;

    - 不占空间

    - border外

    关于CSS属性的浏览器兼容性,可以通过caniuse 查询。

    border-radius ie8及以下不支持

    box-sizing ie7及以下不支持

    box-shadow ie8及以下不支持

    outline ie7及以下不支持

    相关文章

      网友评论

          本文标题:盒模型

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