CSS outline 属性

html-css033

CSS outline 属性,第1张

CSS outline (轮廓)是一个简写属性,用于围绕元素外部绘制一条线。它与 a:focus 选择器结合使用特别有用,可以更加强调链接或其他元素。

outline 与 border 相似,不同之处在于 outline 在整个元素周围画了一条线;它不能像 border 那样,指定在元素的一个面上设置轮廓,也就是不能单独设置顶部轮廓、右侧轮廓、底部轮廓或左侧轮廓。

outline 简写属性可以用一个、两个或三个值声明,并且它们的顺序可以任意更换。例如:

这里需要注意两点:

outline 属性是由三个单独属性组成的缩写,用于定义轮廓的颜色、宽度和样式。我们将在下面逐一探讨。

定义要绘制的线的厚度。其值可以是任意长度值,也可以是以下任意关键字:

outline-style 定义要绘制的线的类型。它的值可以是以下任何关键字:

设置 outline 的文字部分和装饰部分的颜色。它可以通过关键字、十六进制值、RGB/RGBA 值和 HSL/HSLA 值来指定。

如果[浏览器支持]( https://caniuse.com/?search=outline-color%3A invert),其默认值为 invert ;否则,其默认值为 currentColor 。

尝试打开任何网站上的控制台并运行以下内容:

你们会看到很多网站都是这样的结构:

默认情况下, outline 用于 :focus 样式。但请记住,如果删除轮廓样式,例如: a:focus { outline: 0} ,您需要使用其他视觉上不同的样式将它们添加回来。

CSS outline:none

当元素获得焦点的时候,焦点框为0.

比如说当前这个网页,你用tab键切换的时候,文字链接、搜索框、按钮等的外面会有一个虚线框(或高亮框),此时当前的元素就获得了焦点,你可以对它进行操作。

这个功能一般是为使用键盘操作的用户准备的。

有些链接——比如一个图片链接,你不想让他出现虚线框破坏设计感,就可以用此方法。

建议一般不要去掉,只在一些影响设计美感的地方用。毕竟这个焦点框对键盘用户是很有帮助的。

定义和用法

outline-style 属性用于设置元素的整个轮廓的样式。样式不能是 none,否则轮廓不会出现。

outline (轮廓)是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用。outline 属性设置元素周围的轮廓线。

注释:请始终在 outline-color 属性之前声明 outline-style 属性。元素只有获得轮廓以后才能改变其轮廓的颜色。

注释:轮廓线不会占据空间,也不一定是矩形。

默认值: none

设置轮廓的样式:

p

{

outline-style:dotted

}

浏览器支持

所有主流浏览器都支持 outline-style 属性。

只有在规定了 !DOCTYPE 时,Internet Explorer 才支持 outline-style 属性。

可能的值

值 描述

none 默认。定义无轮廓。

dotted 定义点状的轮廓。

dashed 定义虚线轮廓。

solid 定义实线轮廓。

double 定义双线轮廓。双线的宽度等同于 outline-width 的值。

groove 定义 3D 凹槽轮廓。此效果取决于 outline-color 值。

ridge 定义 3D 凸槽轮廓。此效果取决于 outline-color 值。

inset 定义 3D 凹边轮廓。此效果取决于 outline-color 值。

outset 定义 3D 凸边轮廓。此效果取决于 outline-color 值。

inherit 规定应该从父元素继承轮廓样式的设置。