使用CSS选择器创建个性化链接样式
作者:神采飞扬 来源:前端观察 发布时间:2009-06-02 13:07:00
我们在设计网站的时候,有的时候需要根据页面元素的属性来制作不同的样式,比如,对于不同的链接类型,显示不同的链接图标。CSS的选择器是个很有用的技术,通过它们,我们可以很容易的实现某些效果。今天我们通过制作个性化链接样式来介绍一下CSS的属性选择器。
先看一下演示吧:
正如上图中看到的那样,我们为每种链接定义了不同的样式:当链接a的href属性的值为"mailto"邮件链接的时候,在该链接后面显示一个邮件的图标;当链接为word文件时,后面显示word文档图标;当链接地址为mp3的时候,显示音乐播放图标;当链接地址包含"qianduan.net"的时候,就显示一个首页图标……
其实实现这样的功能非常容易,我们先来看看CSS的属性选择器的语法:
语法用法 css版本 [att=val] 属性"att"值为"val"的元素 css 2.1 [att] 包含"att"属性的元素 css 2.1 [att|=val] 匹配所有att属性具有多个连字号分隔(hyphen-separated)的值、其中一个值以“val”开头的E元素,主要用于lang属性,比如“en”、“en-us”、“en-gb” css 2.1 [att~=val] 匹配所有att属性具有多个空格分隔的值、其中一个值等于“val”的E元素 css 2.1 [ns|attr] 名字空间下的"attr"属性的元素,不常用 css 3 [att^=val] 属性att的值以"val"开头的元素 css 3 [att*=val] 属性att的值包含"val"字符串的元素 css 3 [att$=val] 属性att的值以"val"结尾的元素 css 3
需要注意的是,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;
}
这样,我们就为所有的链接定义了默认的样式了,所有的链接右侧都会显示一个红色的小箭头图标。


猜你喜欢
- 1.json_decode() json_decode (PHP 5 >= 5.2.0, PECL json >= 1.2.0)
- 配置好virtualenv 和virtualenvwrapper后,使用pycharm创建新项目。之后要面临的问题就来了,之前一直使用的是s
- go-cqhttp安装一、 简介1、 介绍官方文档地址:https://docs.go-cqhttp.org/各种框架都只是机器人的各种实现
- opencv读取和写入路径有汉字的处理读取图片 img_gt = cv2.imdecode(np.fromfile(path, d
- 读文件:要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符:>>> f = op
- 阅读上一篇:一个完美网站的101项指标.第六部分.性能 符合 W3C 标准是网站的发展趋势,目前,几乎所有的浏览器都使用 W3C 标准,W3
- 1)去重指定多列去重,这是在dataframe没有独一无二的字段作为PK(主键)时,需要指定多个字段一起作为该行的PK,在这种情况下对整体数
- 一、ESlint+Vetur 实现ESlint代码规范二、重点----旧版本(旧版本配置在setting.json 会出现警告){“esli
- 因为在做一个项目需要筛选掉一部分产品列表中的产品,使其在列表显示时排在最后,但是所有产品都要按照更新时间排序。研究了一下系统的数据库结构后,
- 一、前言forEach和map是数组的两个方法,作用都是遍历数组。在vue项目的处理数据中经常会用到,这里介绍一下两者的区别和具体用法示例。
- 有部分老项目是在Eclipse环境开发的,最近公司要求应用瘦身,老项目也在其中。如果在 AS 下开发就不会有这样的问题,但是在 Eclips
- N久没有开始写博客了,总觉得要随便记点东西,岁月蹉跎,曾经搞得一些东西、技术、工具,说丢也就丢了,点点滴滴还是要记录一下吧。。。在windo
- 本文中的示例主要是解决在函数间不能传递多个(32个以上)参数的问题,解题的具体思路就是采用记录类型作为函数的输入和返回值,所以我们需要先定义
- 身体是革命的本钱,身体健康了我们才有更多精力做自己想做的事情,追求女神,追求梦想。然而程序员是一个苦比的职业,大部分时间都对着电脑,我现在颈
- MySQL 查询合并如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字。un
- 大家通过手机自带浏览器打开百度、淘宝,在首页加载完毕后,会自动隐藏页面上方的地址栏,加之这些网站针对手机浏览器做了优化,乍看之下,还真难区分
- 错误代码如下:NotFoundError (see above for traceback): Unsuccessful TensorSli
- 按下"开始(win)"按钮和R键,输入cmd,打开命令行寻找点击需要的库:https://www.lfd.uci.edu
- 我们都有过函数调用的经历,那么call调用类实例的过程就跟函数很相似。类的用法很多人都知道了,类实例又是什么呢?可以把类看成一个设计图,类实
- <base href="http://digi.tech.qq.com/images/ld/2007/1022/