有时我们可能希望内部链接与外部链接显示不同的样式,如外部链接。我想在链接的旁边加上一个小图标,以表示其是一个外部的链接,来告诉来访者,让他们来确认是在新窗口打开还是在本窗口打开。我们可能会这样做:
代码如下 | 复制代码 |
.external { background:url(images/external.gif) no-repeat right top; padding-right:12px; } |
然后给每一个外部的链接应用该CSS,当然,这样做并不是不可以,只是太繁琐。
那有没有好的办法来实现呢?有。可以利用CSS3中的属性选择,但是在IE6及以下版本不支持该方法,在FireFox中已经实现了。
属性选择器的基本语法为:[att^=val]
例如:
代码如下 | 复制代码 |
a[href^="http://"] { background-image:none; padding-right:0px; } |
会查找所有以http://开头的链接,并且排除背景图片。有了上面的属性,就好办了。
代码如下 | 复制代码 |
先给所有链接加上图标,然后去掉以http://开头的链接图标,这样就实现了外部链接显示图标,内部链接不显示图标了。
注:firefox中适用,IE就不行了。
代码如下 | 复制代码 |
163.com |