5

我们可以缩短:

border-top:1px solid black;
border-left:2px solid red;
border-bottom:3px solid green;
border-right:4px solid blue;

类似于:

border:1px solid black 2px solid red 3px solid green 4px solid blue;

注意:我已经这样知道了:

border-width:1px 2px 3px 4px;
border-style:solid;
border-color:black red green blue;
4

1 回答 1

11

不,你不能让它比你提供的例子更短。

从文档

与简写的 'margin' 和 'padding' 属性不同,'border' 属性不能在四个边框上设置不同的值。为此,必须使用一个或多个其他边框属性。

谢谢@火箭


如果您使用的是预处理器(如 SCSS),您可以尝试使用 mixin,但我几乎不相信这就是您想要的:

@mixin border_shorthand(
$top_width, $top_color, $top_style,
$left_width, $left_color, $left_style,
$bottom_width, $bottom_color, $bottom_style,
$right_width, $right_color, $right_style) {
  border-top: $top_width $top_color $top_style;
  border-left: $left_width $left_color $left_style;
  border-bottom: $bottom_width $bottom_color $bottom_style;
  border-right: $right_width $right_color $right_style;
}

.element {
  @include border_shorthand(1px, black, solid, 2px, red, solid, 3px, green, solid, 4px, blue, solid);
}

哪个输出:

.element {
  border-top: 1px black solid;
  border-left: 2px red solid;
  border-bottom: 3px green solid;
  border-right: 4px blue solid; }
于 2012-06-12T17:02:05.283 回答