<line-style>
<line-style> 枚举值类型表示用于定义线条样式或无样式的关键字。<line-style> 关键字值用于以下边框和多列布局属性的普通属性和简写属性中:
border,border-styleborder-block,border-block-styleborder-block-end,border-block-end-styleborder-block-start,border-block-start-styleborder-bottom,border-bottom-styleborder-inline,border-inline-styleborder-inline-end,border-inline-end-styleborder-inline-start,border-inline-start-styleborder-left,border-left-styleborder-right,border-right-styleborder-top,border-top-stylecolumn-rule,column-rule-style
语法
值
<line-style> 枚举类型使用下面列出的值之一来指定:
none-
不显示线条。即使指定了宽度值,线条的计算宽度也为
0。在表格单元格和边框合并的情况下,none值的优先级最低。如果设置了任何其他冲突的边框,它将被显示。none值与hidden类似。 -
不显示线条。即使指定了宽度值,线条的计算宽度也为
0。在表格单元格和边框合并的情况下,hidden值的优先级最高。如果设置了任何其他冲突的边框,它将不会被显示。hidden值与none类似,但hidden不是轮廓样式的有效值。 dotted-
显示为一系列圆点。圆点的半径是线条计算宽度值的一半。圆点的间距未由规范定义,由具体实现决定。
dashed-
显示为一系列短的方头虚线或线段。线段的确切大小和长度未由规范定义,由具体实现决定。
solid-
显示为一条单实直线。
double-
显示为两条直线,中间有一些间隔。两条线的宽度之和等于由线条宽度定义的像素大小。
groove-
显示为具有雕刻外观的边框。该值与
ridge相反。 ridge-
显示为具有凸出外观的边框。该值与
groove相反。 inset-
显示为使元素看起来是嵌入的边框。该值与
outset相反。当应用于表格单元格边框且border-collapse设置为collapsed时,该值的行为类似于groove。 outset-
显示为使元素看起来是浮雕的边框。该值与
inset相反。当应用于表格单元格且border-collapse设置为collapsed时,该值的行为类似于ridge。
备注:当 <outline-style> 用作 outline 和 outline-style 属性的值类型时,它与 <line-style> 类似,但不支持 hidden 并且包含 auto 值。当设置 auto 时,将使用用户代理定义的 <line-style> 值。
正式语法
<line-style> =
none |
hidden |
dotted |
dashed |
solid |
double |
groove |
ridge |
inset |
outset
示例
第一个示例演示了所有的 <line-style> 关键字值。第二个示例演示了一些线条样式颜色可能会以意想不到的方式显示。
定义线条样式
本示例展示了所有 <line-style> 值作为 CSS border-style 和 column-rule-style 属性的值。
HTML
本示例使用多个 <div> 元素,每个元素都有一个表示正在演示的 <line-style> 值的类。
<div class="{line-style}">
<p>{line-style}</p>
<p>a b c d e f g h i j k l m n o p q r s t u v w x y z</p>
</div>
CSS
在本示例的 CSS 中,所有 <p> 元素的边框和列规则都被定义为宽度为 7px,样式值为 double。对于每个段落,通过为 border-style 和 column-rule-style 属性指定不同的 <line-style> 值来覆盖 double 值。
p {
padding: 5px;
border: double 7px #bada55;
}
p + p {
columns: 3;
column-gap: 20px;
column-rule: double 7px;
border-color: black;
}
.none p {
border-style: none;
column-rule-style: none;
}
.hidden p {
border-style: hidden;
column-rule-style: hidden;
}
.dotted p {
border-style: dotted;
column-rule-style: dotted;
}
.dashed p {
border-style: dashed;
column-rule-style: dashed;
}
.solid p {
border-style: solid;
column-rule-style: solid;
}
.double p {
border-style: double;
column-rule-style: double;
}
.groove p {
border-style: groove;
column-rule-style: groove;
}
.ridge p {
border-style: ridge;
column-rule-style: ridge;
}
.inset p {
border-style: inset;
column-rule-style: inset;
}
.outset p {
border-style: outset;
column-rule-style: outset;
}
结果
请注意,黑色边框并不总是黑色的。
定义线条样式和颜色
本示例演示了线条样式和颜色选择。对于某些 <line-style> 关键字值,线条的颜色可能不是你所期望的。为了在显示黑色或白色时创建 groove、ridge、inset 和 outset 样式所需的“3D”效果,用户代理使用的颜色计算方式不同于任何其他颜色与线条的组合。
CSS
每个 <div> 的四个边都有不同的 <line-style> 值,每个列表项都有不同的 <color> 值。我们使用生成内容来显示内联声明的 CSS。
div {
border-width: 10px;
border-style: inset groove ridge outset;
padding: 5px;
}
JavaScript
JavaScript 动态创建 <div> 元素,每个元素都设置了不同的 border-color。
// prettier-ignore
const colors = [
"#000000", "#000001", "#ffffff",
"#ff00ff", "#ffff00", "#00ffff",
"#cc33cc", "#cccc33", "#33cccc",
"#ff0000", "#00ff00", "#0000ff",
"#cc3333", "#33cc33", "#3333cc",
"#993333", "#339933", "#333399",
];
for (const c of colors) {
const div = document.createElement("div");
div.style.borderColor = c;
div.textContent = c;
document.body.appendChild(div);
}
结果
请注意,接近黑色的 #000001 可能与实际的黑色不同,当使用较浅的颜色时,深色和浅色边缘之间的对比度更加明显。
规范
| 规范 |
|---|
| CSS Backgrounds and Borders Module Level 3 # typedef-line-style |
浏览器兼容性
加载中…
另见
- CSS 背景与边框模块
- CSS 基本用户界面模块
- CSS 多列布局模块