CSS 有一個默認的行為,當元素失去焦點時,它會自動改變它的外觀。這是因為瀏覽器默認樣式里為失去焦點的元素設置了 outline 樣式。
這個默認樣式經常會引起一些困惑和問題。有些開發者會希望在元素失去焦點時保持原樣,但卻發現自己無法做到這一點。這時候,就需要手動改變元素的樣式。
.my-element:focus{ outline:none; }
如上所示,我們可以添加一個 :focus 偽類選擇器,然后使用 outline:none 來移除失去焦點時的默認樣式。
除此之外,我們還可以使用 border 或 box-shadow 來取代 outline,達到類似的效果。例如:
.my-element:focus{ border:1px solid blue; }
上述代碼將在元素獲得焦點時添加一個藍色的描邊效果。當然,這只是演示,實際應用中需要根據自己的需求選擇合適的樣式。
CSS 的默認失去焦點效果可能會在一些場景中帶來麻煩,但我們可以通過手動設置樣式來實現更好的交互效果。