CSS Outline(轮廓)

(outline)轮廓线是在元素(例如按钮,活动表单域等)的边框边缘外部绘制的一条线,以使其突出。

轮廓(Outline) VS 边框(Border)

轮廓通常用于突出显示元素。轮廓一眼看上去与边框非常相似,但在以下方面与边框有所不同:

  • 轮廓不占用空间,因为它们始终放置在元素框的顶部,这可能导致它们与页面上的其他元素重叠。

  • 与边框不同,轮廓不允许我们将每个边缘设置为不同的宽度,也不能为每个边缘设置不同的颜色和样式。轮廓在所有方面都是相同的。

  • 轮廓除了重叠之外,对周围的元素没有任何影响。

  • 与边框不同,轮廓不会更改元素的大小或位置。

  • 轮廓可能不是矩形的。

注意:如果将轮廓放在元素上,则它将在网页上占用相同的空间,就好像您对该元素没有轮廓一样。

outline-width 轮廓宽度属性

outline-width属性指定要添加到元素上的轮廓的宽度。它的值应该是一个CSS长度(px,pt,em等)或允许的关键字之一,但百分比或负值是不允许的。就像border-width财产一样。

p {
    outline-width: thick;
}
测试看看‹/›

注意:如果outline-width缺少或未指定的值,则将使用的默认值(medium)代替。

outline-style 轮廓样式的属性

该outline-style属性设置样式轮廓,如:solid,dotted等等。

该属性可采取以下值之一:none,hidden,dashed,dotted,double,groove,inset,outset,ridge和solid。就像border-style值一样。

none: 没有定义轮廓。

hidden: 定义隐藏的轮廓。

dotted: 定义虚线轮廓

dashed: 定义虚线轮廓

solid: 定义一个坚实的轮廓

double:定义两个轮廓。两个轮廓的宽度与轮廓宽度值相同

groove:定义3D沟槽轮廓。效果取决于轮廓颜色值

ridge:定义3D脊形轮廓。效果取决于轮廓颜色值

inset:定义3D插入轮廓。效果取决于轮廓颜色值

outset:定义3D起始轮廓。效果取决于轮廓颜色值

p {
    outline-style: double;
}
测试看看‹/›

outline-color 轮廓颜色属性

outline-color属性设置轮廓的颜色。

p {
    outline-style: solid;
    outline-color: #0000ff;
}
测试看看‹/›

您也可以将设置outline-color为transparent。

注意:outline-color如果单独使用该属性,则该属性将不起作用。使用outline-style属性首先设置轮廓。

轮廓速记属性

CSS outline属性是设置一个或多个单独的轮廓属性的速记简写属性outline-style,outline-width并outline-color在一个单一的规则。

p {
    outline: 5px solid #9acd32;
}
测试看看‹/›

如果在设置轮廓速记属性时忽略或未指定单个轮廓属性的值,outline则将使用该属性的默认值(如果有的话)。

注意:outline-color在设置元素的轮廓时,如果缺少属性值或未指定属性值(例如outline: 5px solid;),则该元素的color属性将用作的值outline-color。

在下面的示例中,轮廓将为宽度为5px的黑色实线:

p {
    color: black;
    outline: 5px solid;
}
测试看看‹/›

但是,在情况下outline-style,省略该值将不会显示任何轮廓,因为outline-styleproperty 的默认值为none。

在下面的示例中,将没有轮廓:

p {
    outline: 5px #00ff00;
}
测试看看‹/›

警告: Internet Explorer 7和更早版本不支持该outline属性。IE8 outline仅在<!DOCTYPE>指定a的情况下才支持该属性。

删除活动链接周围的虚线

该outline属性被广泛用于删除活动链接周围的虚线。

a, a:acive, a:focus {
    outline: none; /* Works in Firefox, Chrome, IE8 and above */
}
测试看看‹/›