outline 不占布局空间且环绕元素绘制,常用于焦点提示;通过 outline-color、style、width 设置样式,配合 outline-offset 控制偏移,提升可访问性。
在CSS中,outline 属性用于在元素的边框边缘之外绘制一条轮廓线,用来突出显示元素。它与 border 相似,但有本质区别:outline 不占据文档流空间,不会影响布局,通常由浏览器自动添加(比如聚焦状态),也可以手动设置。
理解 outline 的使用,首先要清楚它和 border 的不同:
outline 是一个简写属性,可以同时设置颜色、样式和宽度:
outline: outline-color outline-style outline-width;例如:
button:focus {也
可以单独设置每个子属性:
outline 最常见的用途是处理焦点样式,提升可访问性:
input:focus {另一个重要属性是 outline-offset,它控制轮廓线距离元素边框的距离,正值表示向外偏移,负值则向内。
有时候为了统一设计风格,开发者会这样移除默认 outline:
button:focus {但建议不要完全去掉 focus 样式,而是替换为更美观的方案,避免影响键盘用户操作。
outline: none,尤其在可交互元素上,会降低可访问性基本上就这些。合理使用 outline 能提升用户体验,特别是在表单交互和无障碍访问方面。关键是用得恰当,别忽略它的存在意义。不复杂但容易忽略。