边框

**border** 速记 CSS 属性设置元素的边框。它设置 border-widthborder-styleborder-color 的值。

试一试

组成属性

此属性是以下 CSS 属性的速记

语法

css
/* style */
border: solid;

/* width | style */
border: 2px dotted;

/* style | color */
border: outset #f33;

/* width | style | color */
border: medium dashed green;

/* Global values */
border: inherit;
border: initial;
border: revert;
border: revert-layer;
border: unset;

border 属性可以使用下面列出的一个、两个或三个值来指定。值的顺序无关紧要。

注意:如果未定义边框样式,则边框将不可见。这是因为样式默认为 none

<line-width>

设置边框的粗细。如果不存在,则默认为 medium。请参阅 border-width

<line-style>

设置边框的样式。如果不存在,则默认为 none。请参阅 border-style

<color>

设置边框的颜色。如果不存在,则默认为 currentcolor。请参阅 border-color

描述

与所有速记属性一样,任何省略的子值都将设置为其 初始值。重要的是,border 不能用于为 border-image 指定自定义值,而是将其设置为其初始值,即 none

border 速记在您希望所有四个边框都相同的情况下特别有用。但是,要使它们彼此不同,您可以使用长格式的 border-widthborder-styleborder-color 属性,这些属性接受每侧不同的值。或者,您可以使用物理(例如 border-top)和逻辑(例如 border-block-start)边框属性一次定位一个边框。

边框与轮廓

边框和 轮廓 非常相似。但是,轮廓在以下方面与边框不同

  • 轮廓永远不会占用空间,因为它们绘制在元素内容的外部。
  • 根据规范,轮廓不必是矩形,尽管它们通常是矩形。

正式定义

初始值作为速记的每个属性
应用于所有元素。它也适用于 ::first-letter
继承
计算值

作为速记的每个属性
动画类型作为速记的每个属性

正式语法

border = 
<line-width> ||
<line-style> ||
<color>

<line-width> =
<length [0,∞]> |
thin |
medium |
thick

<line-style> =
none |
hidden |
dotted |
dashed |
solid |
double |
groove |
ridge |
inset |
outset

示例

设置粉红色的凸出边框

HTML

html
<div>I have a border, an outline, and a box shadow! Amazing, isn't it?</div>

CSS

css
div {
  border: 0.5rem outset pink;
  outline: 0.5rem solid khaki;
  box-shadow: 0 0 0 2rem skyblue;
  border-radius: 12px;
  font: bold 1rem sans-serif;
  margin: 2rem;
  padding: 1rem;
  outline-offset: 0.5rem;
}

结果

规范

规范
CSS 背景和边框模块 Level 3
# propdef-border

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅