Dreamweaver FrontPage HTML/CSS Javascript 
Google adsense申请技巧本站核心代理域名注册主机业务 快速发布你的买卖域名买卖网站信息 1元注册 cn域名
站长每日新闻导读 √ ·推荐万网空间¥120元 150m 站长网:站长必上的网站网站联盟大全本站代理万网域名55空间120元
 2007-7-12 14:14:10

用CSS属性选择器控制链接样式

来源: 字体:[ ]

     有时我们可能希望内部链接与外部链接显示不同的样式,如外部链接。我想在链接的旁边加上一个小图标,以表示其是一个外部的链接,来告诉来访者,让他们来确认是在新窗口打开还是在本窗口打开。我们可能会这样做:

.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.admin5.com开头的链接,并且排除背景图片。有了上面的属性,就好办了。

<style type="text/css">
a
{
background:url(external.gif) no-repeat right top;
padding-right:14px;
font-size:12px;
}
a[href^="http://www.admin5.com"]
{
background-image:none;
padding-right:0px;
}
</style>

先给所有链接加上图标,然后去掉以http://www.admin5.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(/articleimg/2007/05/4701/external.gif) no-repeat right top;
padding-right:14px;
font-size:12px;
}
a[href^="http://www.admin5.com"]
{
background-image:none;
padding-right:0px;
}
</style>
</head>
<body>
<a href="http://www.admin5.com">BlueIdea</a><br />
<a href="http://www.lemongtree.com/">Lemongtree.Com</a><br />
</body>
</html>

[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

网站地图 - 域名注册续费虚拟主机代理 - 交易论坛 - 网站投稿 - 广告服务 - 帮助中心 - 联系我们
Copyright ©2003-2007 www.Admin5.com All Rights Reserved