-1

我只是想知道是否有一种方法可以组合 CSS属性leftright和.topbottom

例如,如果我这样做:

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

我可以这样做:

some-property: 0 0 0 0;

或者

some-property: 0;
4

3 回答 3

0

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

于 2020-01-09T23:11:56.140 回答
0

也许使用 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>

于 2020-01-09T19:44:41.613 回答
0

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

@each $position in $positions{
        #{$position}: $value;
    }
于 2020-01-09T19:21:04.210 回答