css|控制|連結
有時我們可能希望內部連結與外部連結顯示不同的樣式,如外部連結。我想在連結的旁邊加上一個小表徵圖,以表示其是一個外部的連結,來告訴來訪者,讓他們來確認是在新視窗開啟還是在本視窗開啟。我們可能會這樣做:
.external
{
background:url(images/external.gif) no-repeat right top;
padding-right:12px;
}
然後給每一個外部的連結應用該CSS,當然,這樣做並不是不可以,只是太繁瑣。
那有沒有好的辦法來實現呢?有。可以利用CSS3中的屬性選擇,但是在IE6及以下版本不支援該方法,在FireFox中已經實現了。
屬性選取器的基本文法為:[att^=val]
例如:
a[href^="http://www.webjx.com"]
{
background-image:none;
padding-right:0px;
}
會尋找所有以http://www.webjx.com開頭的連結,並且排除背景圖片。有了上面的屬性,就好辦了。
<style type="text/css">
a
{
background:url(external.gif) no-repeat right top;
padding-right:14px;
font-size:12px;
}
a[href^="http://www.webjx.com"]
{
background-image:none;
padding-right:0px;
}
</style>
先給所有連結加上表徵圖,然後去掉以http://www.webjx.com開頭的連結表徵圖,這樣就實現了外部連結顯示表徵圖,內部連結不顯示表徵圖了。
註:firefox中適用,IE就不行了。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title> new document </title><meta name="generator" content="editplus" /><meta name="author" content="" /><meta name="keywords" content="" /><meta name="description" content="" /><style type="text/css">a{background:url(20070513002041_19.gif) no-repeat right top;padding-right:14px;font-size:12px;}a[href^="http://www.webjx.com"]{background-image:none;padding-right:0px;}</style></head><body><a href="http://www.webjx.com">Webjxcom</a><br /><a href="http://www.webjx.com/">Webjx.Com</a><br /></body></html>
[Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運行]