Z
ZHANK
背景与边框

轮廓 outline

outline 不占空间的轮廓、offset 偏移、与 border 区别

轮廓 outline

outline 类似 border——但不占空间,常用于聚焦指示。

学完本章你将: 掌握 outline 与 border 区别、offset 偏移、focus 可见轮廓。


outline vs border

css
/* border:占空间,撑大元素 */
.with-border { border: 2px solid red; }

/* outline:不占空间,覆盖在其他元素上 */
.with-outline { outline: 2px solid blue; }
区别borderoutline
占空间
各边独立❌(统一)
圆角❌(跟随 border-radius)
偏移✅ outline-offset

outline 样式

css
.outline-solid { outline: 2px solid red; }
.outline-dashed { outline: 2px dashed blue; }
.outline-dotted { outline: 2px dotted green; }

outline-offset

css
/* offset:轮廓与边框的距离 */
.box {
  border: 2px solid #333;
  outline: 2px solid tomato;
  outline-offset: 5px;  /* 轮廓向外偏移 5px */
}

聚焦轮廓(可访问性)

css
/* 去掉默认轮廓后必须提供替代方案 */
input:focus {
  outline: none;              /* 去掉默认 */
  border-color: #4CAF50;     /* 替代指示 */
  box-shadow: 0 0 0 2px rgba(76,175,80,0.3);
}