深入研究负边距:行为、直觉和差异
CSS 允许负边距,但它们的效果可能会令人困惑。为了揭开这个话题的神秘面纱,让我们探索一下它们的行为并理解为什么 margin-top:-5 不等于 margin-bottom:5。
理解负边距
负边距应用于边框之外,并且在视觉边距中不可见。这是因为它们会影响边距框,同时保持内容和填充框不变。对于绝对定位的元素,负边距将元素移动指定的量而不影响布局。
图形表示
想象一个具有负上边距的元素:
[上边距为负的矩形的图像]
边距框缩小负数,但内容和内边距框不受影响。
负边距背后的直觉
负边距“凸起”元素,因为它们减小了边距框的大小。对于 margin-top
顶部和底部边距之间的差异
margin-top:-8px 与 margin-bottom:8px 不同因为边距崩溃。当一个元素的相对两侧同时具有负边距和正边距时,边距会折叠,从而消除负边距。因此,不会发生净移动。
垂直居中的额外提示
当使用 % 表示横向边距(即顶部或底部)时,将计算该值作为包含块的宽度的百分比。这可能会导致垂直居中问题。垂直居中最好使用 margin-top:-50vh ,其中 vh 表示视口高度的单位。
以上是CSS 中的负边距:为什么 margin-top:-5 与 margin-bottom:5 不同?的详细内容。更多信息请关注PHP中文网其他相关文章!