css消除a標籤點選後的虛線框
阿新 • • 發佈:2019-01-23
當聚焦a標籤的時候,在a標籤的區域周圍會有一個虛線的框,這個虛線框不同於border的是,它是不佔有任何寬度的。當你取消焦點的時候,這個虛線框就會自然消失。你可以通過Firefox或者IE等幾個版本看到。而Safari、Opera、Google瀏覽器等本身就不支援這個效果,所以看不到。 這個就是a標籤被聚焦後出現了虛線框,也就是outline。
取消a標籤點選後的虛線框方法:
1:在a標籤里加入js控制,當a標籤被聚焦時,強制取消焦點,這時候a標籤自然不會有虛線框。
這裡設定聚焦時觸發blur(),強制取消焦點。<a href="#" onfocus="this.blur();">測試</a>
2:在a標籤裡巢狀其他標籤,比如span 或者var等,把內容放在被巢狀的標籤裡。這時候點選這個連結,聚焦的是a的子標籤,自然不會聚焦在a標籤上,所以也能避免這個問題。
3:hidefocus是ie的私有屬性
<a href=”#” hidefocus=”true” >hidefocus</a>
4:在 Firefox 裡可以用 -moz-outline:none; 或者 outline:none; 來將其去掉。
a:focus { outline:none; -moz-outline:none; }
綜合方法3和4,消除a虛標籤虛線框的推薦方法是:IE下使用hidefocus屬性, Firefox/Chorme/Opera/Safari下用outline:none。
即:
<a href=”#” hidefocus=”true” >連結</a>
a:focus {outline-style:none; -moz-outline-style: none;}