CSS3 总结(六)——盒子模型

盒子模型

  • padding和margin
    1.使用padding时,如果未指定盒子的width,则盒子的尺寸不会改变,当指定了时,盒子的尺寸会相应的发生变化。
    2.行内元素只有左右外边距,没有上下外边距,应尽量避免调整垂直方向的padding,因为可能会与预料的不同(浏览器问题)。
    3.块元素垂直方向上使用margin时,相邻块元素可能会发生外边距合并,之间的外边距取两者之间的最大值。
    4.块元素内嵌块元素时使用margin,可能会发生外边距合并(现象是,父元素外边距改变,子元素相对于父元素外边距没变),解决办法:
    (1)可以为父元素定义1像素的上边框或上内边距。
    (2)可以为父元素添加overflow:hidden。
    详细请查看:https://www.w3school.com.cn/css/css_margin_collapsing.asp

  • content宽度和高度
    使用宽度属性width和高度属性height可以对盒子的大小进行控制。width和height属性值可以是不同单位的数值或相对于父元素的百分比%。最常用的是像素值。·
盒子尺寸计算 计算方式
外盒尺寸(元素空间尺寸) 元素空间高度=height+padding+border+margin
元素空间宽度=width+padding+border+margin
内盒尺寸(元素大小) 元素Height=height+padding+border
元素Width=width+padding+border

注意:
1.宽度属性width和高度属性height仅适用于块级元素,对于行内元素无效。
2.计算盒子模型的总高度时,还应该考虑上下两个盒子垂直外边距合并的情况。


  • 盒模型(CSS3)
    以上为标准和模型的相关内容,在这介绍其他盒模型。CSS3中可以通过box-sizing属性来指定盒模型,既可以指定为content-box、border-box,区别在于计算盒子大小的方式发生了变化。
属性 描述 格式
box-sizing 不设置的话默认值为 content-box。
1.content-box:盒子大小为width+padding+border
2.border-box:盒子大小为width,即width包括了padding和border,设置这些属性时,只是改变内容的大小,width属性值不会改变。
box-sizing: content-box | border-box

注意:容易 margin 的尺寸不会被计算入最终容器宽度,因为对他的定义为对这个容器的留白,但不属于容器本身。


  • 边框阴影
属性 描述 格式
box-shadow box-shadow 属性向框添加一个或多个阴影。该属性是由逗号分隔的阴影列表,每个阴影由 2-4 个长度值、可选的颜色值以及可选的 inset 关键词来规定。省略长度的值是 0。参数:
1.h-shadow :必需。水平阴影的位置。允许负值。
2.v-shadow :必需。垂直阴影的位置。允许负值。
3.blur :可选。模糊距离。
4.spread :可选。阴影的尺寸。
5.color :可选。阴影的颜色。
6.inset :可选。将外部阴影 (outset为默认,不能写,写了会出错) 改为内部阴影。
box-shadow: h-shadow v-shadow blur spread color inset;
发布了34 篇原创文章 · 获赞 3 · 访问量 731

猜你喜欢

转载自blog.csdn.net/qq_42188457/article/details/104779901