当前位置: 首页 > Web前端 > CSS

保证金_0

时间:2023-03-30 15:58:06 CSS

第一步:基本描述。边距的含义很容易理解。它是外边距。通俗点说就是两个盒子之间距离的设置。margin有很多需要注意的地方,比如块级元素的垂直相邻的margin会合并,inline元素实际上并不占据上下margin,左右margin不会合并,浮动元素的margin会合并不合并。普通元素的外边距是100%根据父元素的宽度计算的(正确的说法应该是包含块,具体可以参考这篇关于CSS中设置overflow属性值为hidden的文章),而绝对定位元素的外边距百分比是根据第一个定位元素的宽度(relative、absolute和fixed)来计算的。第2步:块元素重叠。块元素(不管float和absolute)垂直重叠有margin(不管writing-mode改变写法);margin重叠的三种方式:1.相邻的兄弟元素;2.父元素和第一个或最后一个子元素;3.空块元素。第3步:重叠条件。父子元素重叠条件(margin-top)父元素不是块格式上下文元素;父元素和第一个子元素之间没有内联元素划分;父元素没有border-top或padding-top设置。父子元素重叠条件(margin-bottom)父元素不是块格式上下文元素;父元素没有border-bottom或padding-bottom设置;父元素和最后一个子元素之间没有行内元素划分;父元素没有高度、最小高度和最大高度限制。空块元素重叠元素没有边框或填充或内联设置;没有高度或最小高度设置。第四步:有价值的细节。重叠计算方法:正负取最大值,负负取最小值,正负相加。在书写方向的垂直方向,margin:auto会自动分配剩余空间(剩余空间的意思可以简单理解为:未设置宽度前的长度减去你设置的宽度的剩余距离)。绝对定位元素的非定位方向的margin无效(好像是,但是描述的不准确,其实一直有效,只是现在只能影响自己,不能改变兄弟,所以它似乎是无效的)。最后题外话,margin-collapse可以设置重叠模式(collapsedefaults,overlap,discard取消margin,等于margin:0并且separate,即不发生重叠)。