CSS Outline(轮廓)

(outline)轮廓线是在元素(例如按钮,活动表单域等)的边框边缘外部绘制的一条线,以使其突出。 轮廓通常用于突出显示元素。轮廓一眼看上去与边框非常相似,但在以下方面与边框有所不同:

  • 轮廓不占用空间,因为它们始终放置在元素框的顶部,这可能导致它们与页面上的其他元素重叠。
  • 与边框不同,轮廓不允许我们将每个边缘设置为不同的宽度,也不能为每个边缘设置不同的颜色和样式。轮廓在所有方面都是相同的。
  • 轮廓除了重叠之外,对周围的元素没有任何影响。
  • 与边框不同,轮廓不会更改元素的大小或位置。
  • 轮廓可能不是矩形的

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

outline-width 轮廓宽度属性

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

css 复制代码
p {
    outline-width: thick;
}

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

outline-style 轮廓样式的属性

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

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

none: 没有定义轮廓。

hidden: 定义隐藏的轮廓。

dotted: 定义虚线轮廓

dashed: 定义虚线轮廓

solid: 定义一个坚实的轮廓

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

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

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

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

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

css 复制代码
p {
    outline-style: double;
}

outline-color 轮廓颜色属性

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

css 复制代码
p {
    outline-style: solid;
    outline-color: #0000ff;
}

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

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

轮廓速记属性

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

css 复制代码
p {
    outline: 5px solid #9acd32;
}

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

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

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

css 复制代码
p {
    color: black;
    outline: 5px solid;
}

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

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

css 复制代码
p {
    outline: 5px #00ff00;
}

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

删除活动链接周围的虚线

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

css 复制代码
a, a:acive, a:focus {
    outline: none; /* Works in Firefox, Chrome, IE8 and above */
}

引用

菜鸟教程

相关推荐
程序员黑豆6 小时前
Java类型推断完全指南:从var到菱形运算符,掌握使用限制与最佳实践
java·前端·ai编程
To_OC6 小时前
踩了个 TS 的坑之后,我终于把 type 和 interface 掰明白了
前端·react.js·typescript
GreenTea6 小时前
深度解读 Anthropic 多智能体报告:更强的模型 ≠ 更好的协调
前端·后端·算法
浮生望7 小时前
前端API工程化:用 Mock 数据与 Axios 配置实现独立于后端的并行开发
前端
万少7 小时前
给 DeepSeek Harness 装个"应用商店":一条命令,595 个插件随你逛
前端·javascript·后端
波波0077 小时前
C# 15 重磅新特性: 带标签 break 与 continue:重新定义嵌套循环控制流
服务器·前端·c#
Brown.alexis8 小时前
es6知识点1-自备使用
前端·ecmascript·es6
小爬的老粉丝9 小时前
JavaScript 纯前端预览 WPS:先识别容器,再路由解析器
前端·javascript·wps
计算机魔术师10 小时前
新兴多智能体系统的模式与问题
前端
用户0595401744610 小时前
AI Agent 上下文污染踩坑实录:用 pytest + Redis 揪出 3 类记忆串号 bug,排查 6 小时
前端·css