使用CSS选择器创建带图标链接样式

2016-02-19 18:30 10 1 收藏

下面图老师小编跟大家分享一个简单易学的使用CSS选择器创建带图标链接样式教程,get新技能是需要行动的,喜欢的朋友赶紧收藏起来学习下吧!

【 tulaoshi.com - Web开发 】

    我们在设计网站的时候,有的时候需要根据页面元素的属性来制作不同的样式,比如,对于不同的链接类型,显示不同的链接图标。CSS的选择器是个很有用的技术,通过它们,我们可以很容易的实现某些效果。今天我们通过制作个性化链接样式来介绍一下CSS的属性选择器。

    先看一下演示吧:

 

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

    正如上图中看到的那样,我们为每种链接定义了不同的样式:当链接a的href属性的值为"mailto"邮件链接的时候,在该链接后面显示一个邮件的图标;当链接为word文件时,后面显示word文档图标;当链接地址为mp3的时候,显示音乐播放图标;当链接地址包含"qianduan.net"的时候,就显示一个首页图标……

    其实实现这样的功能非常容易,我们先来看看CSS的属性选择器的语法:

    需要注意的是,CSS选择器无论CSS 2.1版本还是CSS 3版本,IE7和IE8都支持,webkit、Gecko核心及Opera也都支持,只有IE6以下浏览器才不支持。

    好了,让我们来实现这些样式吧:

    1.链接的基础样式首先我们准备了一个CSS Sprites的图片,我们将所有的图标都整合到这一个a.gif中。
a {
background:url(a.gif) no-repeat right 4px;
padding-right:18px;
color:#369;
line-height:24px;
}


    这样,我们就为所有的链接定义了默认的样式了,所有的链接右侧都会显示一个红色的小箭头图标。

    2.定义个性化样式现在我们来为各种类型的链接定义各自的样式,其实这个时候我们需要做的仅仅是定义不同的背景图片位置(background-position):

    mailtomailto邮件链接是形如href=”mailto:abc@abc.com”的样式,它们的href属性的值以mailto开头,那么我们使用[att^=val]这种格式:
a[href^="mailto:"] {
 background-position:right -242px;
}
    word文档我们一般认为,所有的doc文件链接都是href=”abc.doc”这种格式,也就是链接地址一.doc结束,那么我们需要使用[att$=val]这种格式。样式如下:
a[href$=".doc"] {
background-position:right -160px
}

    PDF、excle、mp3等格式的文档也是通过这种方法来实现的。

    包含qianduan.net字段的链接对于包含某个字符串的链接,可以使用[att*=val]这种方式:

a {
background:url(a.gif) no-repeat right 4px;
padding-right:18px;color:#369;line-height:24px;
}
a[href^="mailto:"] {background-position:right -242px;}
a[href$=".doc"] {background-position:right -161px}
a[href$=".xls"] {background-position:right -282px}
a[href$=".pdf"] {background-position:right -79px}
a[href$=".mp3"] {background-position:right -204px}
a[href$=".swf"] {background-position:right -120px}
 a[href$=".rar"] {background-position:right -38px}
a[href*="qianduan.net"] {background-position:right -328px}

    而我们在使用的时候,也不需要添加额外的class:

a href="abc.doc"Word文档/a

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

来源:http://www.tulaoshi.com/n/20160219/1617940.html

延伸阅读
标签: Web开发
当你想在一个浏览器里改变样式而不像在其他浏览器中改变时,这些选择器很有用。 IE6以下 *html{} IE 7 以下 *:first-child+html {} * html {} 只对IE 7 *:first-child+html {} 只对IE 7 和现代浏览器 htmlbody {} 只对现代浏览器(非IE 7) html/**/body {} 最新的Opera 9以下版本 html:first-child {} Safari html[xmlns*=&qu...
标签: Web开发
关于CSS选择器优先级,目前国内已有很多人进行过解释,但感觉不如人意,特别对于初学者,更是难以理解。这里我把W3C上所描述的规范以我的理解再解释一下,希望能给大家提供到帮助。 在Calculating a selector’s specificity上的原文摘选如下: A selector’s specificity is calculated as follows: count 1 if the declaration is...
标签: Web开发
我很久以前就开始计划着整理一下CSS选择器的浏览器支持,因为CSS3增加了很多非常有用的选择器。之前我也写过一篇《使用CSS选择器创建个性化链接样式 》,作为对CSS选择器的初步研究。 kimblim网站整理了一份很全面的CSS选择器支持情况,我将其翻译过来并进行进一步的整理,将其尽可能的简化。同时结合evotech网站整理的CSS选择器支持列表,以...
标签: Web开发
自从JQuery实现了Selector后,貌似其他一些JavaScript框架也开始向Selector靠拢,相继推出了自己的CSS选择器, 考虑到css选择器确实强大,所以,在easyUI中也添加了一个自己的cssSelector方法:easyUI.cssSelector('css选 择器',dom范围) CSS选择器实现原理: 一、解析 1、格式化数据,将css选择器转换成一种便于后面进行操作的格...
标签: Web开发
我很久以前就开始计划着整理一下CSS选择器的浏览器支持,因为CSS3增加了很多非常有用的选择器。CSS属性选择器制作个性化链接样式作为对CSS选择器的初步研究。 kimblim网站整理了一份很全面的CSS选择器支持情况,我将其翻译过来并进行进一步的整理,将其尽可能的简化。同时结合evotech网站整理的CSS选择器支持列表,以及我自己平时总结的一...

经验教程

582

收藏

42
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部