1. 程式人生 > >css消除a標籤點選後的虛線框

css消除a標籤點選後的虛線框

當聚焦a標籤的時候,在a標籤的區域周圍會有一個虛線的框,這個虛線框不同於border的是,它是不佔有任何寬度的。當你取消焦點的時候,這個虛線框就會自然消失。你可以通過Firefox或者IE等幾個版本看到。而Safari、Opera、Google瀏覽器等本身就不支援這個效果,所以看不到。 這個就是a標籤被聚焦後出現了虛線框,也就是outline。

     取消a標籤點選後的虛線框方法:

1:在a標籤里加入js控制,當a標籤被聚焦時,強制取消焦點,這時候a標籤自然不會有虛線框。

    <a href="#" onfocus="this.blur();">測試</a>
    這裡設定聚焦時觸發blur(),強制取消焦點。

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;}