您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關如何去掉a標簽和按鈕加背景圖片虛線/陰影的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
當用戶注冊都會點擊一個a標簽更換驗證碼。當點擊后a標簽上有個陰影部分。對于喜歡美觀的同學卻不可容忍!
這是什么原因呢?原來是a標簽的href屬性惹的禍。
1、僅僅是a標簽
我了解的有兩種解決辦法
其一:對癥下藥。既然是href引起的。那就去掉href屬性
當我們用href=javascript:RefreshCode();只是更新驗證碼。并沒有跳轉頁面。
代碼如下:
<ahref="javascript:RefreshCode();"class="yellow">看不清楚?換個圖片</a>
所以可以去掉href后,給a標簽加上onclick事件,調用更新驗證碼函數即可
代碼如下:
<aonclick="RefreshCode()"class="yellow">看不清楚?換個圖片</a>
其二:退一步。求同存異。既然你想用href屬性。好吧。那我再給你加個事件:onfocus
只要修改一下也可以完美去掉 給a標簽加個onfocus="this.blur()"
當然。如果你想讓a標簽沒有下劃線。則:style="text-decoration: none"
代碼如下:
<a href="javascript:RefreshCode();"class="yellow"onfocus="this.blur()">看不清楚?換個圖片</a>
修改完成后的效果
而在FF等瀏覽器中則相對比較容易,直接給標簽 a 定義樣式 outline:none;就可以了,即:
代碼如下:
a{ outline:none; }
當然這僅僅是去掉單個。如果頁面有多個a標簽那豈不要挨個挨個添加onfocus事件嗎?
當然不是。我們可以在頁面加載的時候。通過:window.document.links.length(此處window可以省略)來獲取頁面所有的a標簽。然后遍歷注冊事件。
代碼如下:
<scripttype="text/javascript">
window.onload=function(){
for(var i=0; i<document.links.length; i++)
document.links[i].onfocus=function(){this.blur()}
}
</script>
2、給button加背景圖片:
另為如果你給按鈕加了背景圖片。會有陰影。
也可以用相同的辦法實現
代碼如下:
<asp:Button ID="imgBtnReg" runat="server"onfocus="this.blur()" OnClientClick="return chk_reg();"OnClick="imgBtnReg_Click" Text="確認提交"/>
<input type="submit"id="btnReg" value="注冊" name="regist" onfocus="this.blur()"onclick="return checkAll()" />
修改后效果:
3、如果給img加a標簽,那么給a標簽加onfocus的同時還要設置img的border屬性:border=0
代碼如下:
<a href="#none"onfocus="this.blur()">
<img >
</a>
如果你頁面既有a標簽。又有button。那你可以將其封裝成一個函數
代碼如下:
function fHideFocus(tName){
aTag=document.getElementsByTagName_r(tName);
for(i=0;i<aTag.length;i++)aTag.hideFocus=true;
//for(i=0;i<aTag.length;i++)aTag.onfocus=function(){this.blur();};
}
當前是添加一個hidefocus的屬性,它的值是一個布爾值,如hideFocus=true。也可省略賦值直接hideFocus。
代碼如果沒有hideFocus,那么鼠標點擊該超鏈接,則外面出現一個虛線框,即為聚焦。而使用了hideFocus則不會有虛線框。
注釋掉的句子是添加onfucus=this.blur();效果相同。
然后調用fHideFocus("A");即可把a的虛線框去掉
通過傳遞不同的參數 可以去掉不同的虛線框比如"BUTTON"可以去掉button的虛線框,但要記住參數要用大寫字母
擴展:
A. map area內鏈接如何消除鏈接虛線?
這是一個觀念上的錯誤,其實應該在所在map的圖片上加以控制,而不是在area內,參考傳統辦法
B. 關于onFocus
代碼如下:
<a href="http://blog.sina.com.cn/s/articlelist_3015911503_0_1.html"onfocus="this.blur()">
<img >
</a>
其中,onfocus是設置鼠標焦點事件的東西,這個可以用,也可以不用,不過為了讓更多的瀏覽器識別的話,建議采用;border=0這個才是去除虛線框的關鍵所在(在網上看到大部分人都是用onfocus="this.blur()"來消除虛線框,但有的時候,僅僅用這一句是不能消除的)
感謝各位的閱讀!關于“如何去掉a標簽和按鈕加背景圖片虛線/陰影”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。