如何结合CSS属性"left"、"right"、"top"和"bottom"?



我只是想知道是否有一种方法可以将CSS属性leftrighttopbottom组合在一起。

例如,如果我这样做:

top: 0;
bottom: 0;
left: 0;
right: 0;

我将能够这样做:

some-property: 0 0 0 0;

some-property: 0;

它仍然很新鲜,没有得到很好的支持,但正是你所看到的,inset: 5px, 新的 CSS 逻辑属性值: https://developer.mozilla.org/en-US/docs/Web/CSS/inset

也许使用 CSS 变量定义它们,并在需要时进行更改:

.tlbr {
top:var(--v,0);
bottom:var(--v,0);
left:var(--v,0);
right:var(--v,0);
}
.box {
background:rgba(0,255,0,0.2);
position:absolute;
}
<div class="box tlbr"></div>
<div class="box tlbr" style="--v:20px"></div>
<div class="box tlbr" style="--v:-20px"></div>
<div class="box tlbr" style="--v:40px"></div>

不,您不能将它们组合在一起,但是如果您使用的是 sass,您可以执行以下操作:

@each $position in $positions{
#{$position}: $value;
}

最新更新