有時我們可能希望內部連結與外部連結顯示不同的樣式,例如外部連結。我想在鏈接的旁邊加上一個小圖標,以表示其是一個外部的鏈接,來告訴來訪者,讓他們來確認是在新窗口打開還是在本窗口打開。我們可能會這樣做:
以下為引用的內容: .external { background:url(images/external.gif) no-repeat right top; padding-right:12px; } |
然後給每一個外部的連結應用該CSS,當然,這樣做並不是不可以,只是太繁瑣。
那有沒有好的辦法可以實現呢?有。可以利用CSS3中的屬性選擇,但是在IE6及以下版本不支援此方法,在FireFox中已經實現了。
屬性選擇器的基本語法為:[att^=val]
例如:
以下為引用的內容: a[href^="http://www.admin5.com"] { background-image:none; padding-right:0px; } |
會查找所有以http://www.cz268.com.cn開頭的鏈接,並且排除背景圖片。有了上面的屬性,就好辦了
以下為引用的內容: <style type="text/css"> a { background:url(external.gif) no-repeat right top; padding-right:14px; font-size:12px; } a[href^="http://www.cz268.com.cn"] { background-image:none; padding-right:0px; } </style> |
先給所有連結加上圖標,然後去掉以http://www.cz268.com.cn開頭的連結圖標,這樣就實現了外部連結顯示圖標,內部連結不顯示圖標了。
註:firefox中適用,IE就不行了。
以下為引用的內容: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |