CSS中輪廓(outline)是一種繪制在元素周圍的線條,它不占用布局空間也不一定非常明顯。在默認情況下,輪廓會跟著元素邊框走。
有時候我們需要將輪廓居中,比如在實現一些動畫效果、按鈕點擊效果等,這個時候可以使用CSS的outline-offset
屬性實現。
button { outline: 2px solid #f00; outline-offset: -2px; }
上述代碼中,我們將按鈕的輪廓設置為2像素的紅色實線,然后通過outline-offset
屬性將輪廓往內縮 2 像素,從而使輪廓居中。
需要注意的是,該屬性只有在輪廓已經存在的情況下才能起作用。
除了使用outline-offset
屬性,我們還可以通過其他方式實現輪廓居中。比如,我們可以通過偽元素+邊框實現:
button { position: relative; border: 2px solid #f00; } button::before { content: ''; position: absolute; top: -2px; left: -2px; right: -2px; bottom: -2px; border: 2px solid #f00; }
上述代碼中,我們給按鈕添加了一個 2 像素的邊框,并使用偽元素來覆蓋這個邊框,從而實現居中的效果。
總結起來,CSS中的輪廓(outline)可以使用outline-offset
屬性來實現居中效果,同時也可以使用偽元素+邊框的方式來實現。
下一篇憤怒的小鳥css編程