CSS3学习笔记 之 属性选择器

    属性选择器可以给予元素的属性来匹配元素,CSS3还支持基于模式匹配来定位元素,属性选择器语法如下:

选择器功能描述
E[attr]选择匹配具有属性attr的E元素。其中E可以省略,表示选择定义了attr属性的任意类型元素
E[attr=value]选择匹配具有属性attr的E元素,并且attr的属性值为val(其中val区分大小写),同样E元素省略的时表示选择定义了attr属性值为val的任意类型元素
E[attr|=val]选择匹配E元素,且E元素定义了属性attr,attr属性值是一个具有val或者以val-开始的属性值。常用于lang属性(例如lang=“en-US”)。例如p[lang=en]将匹配定义为英语的任何段落,无论是英式英语还是美式英语
E[attr~=val]将匹配E元素,且E元素定义了属性值attr,attr属性值具有多个空格分隔的值,其中一个值等于val。例如,.info[title~=more]将匹配元素具有类名info,且这个元素设置了一个属性title,同时title属性值是包含了“more”的任何元素,例如<a class="info" title="click here for more information">click me</a>
E[attr*=val]将匹配元素E,且元素E定义了属性attr,其属性值任意位置包含了val,换句话说字符串val与属性值中的任意位置相匹配
E[attr^=val]将匹配元素E,且E元素定义了属性attr,其属性值以val开头的任何字符串
E[attr$=val]选择匹配元素E,且E元素定义了属性attr,其属性值以val结尾的任何字符串,刚好与E[attr^=val]相反

浏览器兼容性:IE7+,还有所有版本的FF,Chrome,Safari,Opera都支持属性选择器。

下面使用实例来演示属性选择器的使用,首先编写入下一个简单的HTML程序:

<!DOCTYPE HTML>
<html lang="en-US">
<head>
	<meta charset="UTF-8">
	<title>CSS3属性选择器的使用</title>
  <style type="text/css">
    .demo {
      width: 300px;
			border: 1px solid #ccc;
			padding: 10px;	
      overflow: hidden;
      margin: 20px auto;
		}

		.demo a {
			float: left;
			display: block;
			height: 50px;
			width: 50px;
			border-radius: 10px;
			text-align: center;
			background: #aac;
			color: blue;
      font: bold 20px/50px Arial;
			margin-right: 5px;
			text-decoration: none;
      margin: 5px;
		}
  </style>
</head>
<body>
	<div class="demo">
		<a href="http://www.w3cplus.com" target="_blank" class="links item first" id="first" title="w3cplus">1</a>
		<a href="" class="links active item" title="test website" target="_blank" lang="zh">2</a>
		<a href="sites/file/test.html" class="links item" title="this is a link" lang="zh-cn">3</a>
		<a href="sites/file/test.png" class="links item" target="_balnk" lang="zh-tw">4</a>
		<a href="sites/file/image.jpg" class="links item" title="zh-cn">5</a>
		<a href="mailto:w3cplus@hotmail" class="links item" title="website link" lang="zh">6</a>
		<a href="/a.pdf" class="links item" title="open the website" lang="cn">7</a>
		<a href="/abc.pdf" class="links item" title="close the website" lang="en-zh">8</a>
		<a href="abcdef.doc" class="links item" title="http://www.sina.com">9</a>
		<a href="abd.doc" class="linksitem last" id="last">10</a>
	</div>
</body>
</html>

显示效果如下:


E[attr]属性选择器

选择所有带有id属性的a元素,并且改变匹配元素的背景颜色,在上面HTML代码CSS样式部分的最后增加如下代码:

a[id] {
      background-color:yellow;
}

显示效果如下:



E[attr=val]属性选择器

指元素E设置了属性attr,并且其属性值为val,在上述html代码CSS样式的末尾增加如下代码:

a[id=first] {
    background-color: red;
}

显示效果如下:


E[attr|=val]属性选择器

选择attr属性值等于val或以val-开头的所有字符串属性的元素,在上面HTML的CSS样式后面增加如下代码:

a[lang|=zh] {
	background-color: yellow;
}

显示效果如下:



E[attr~=val]属性选择器

根据元素值中的此列表的某个词来匹配需要的元素,就可以使用这个选择器。在上面HTML页面CSS样式最后增加下面代码:
a[title~=website] {
	background-color: green;
}

显示效果如下:

E[attr*=val]属性选择器

将匹配那些设置了attr属性,而且attr属性值中包含val字符串的元素,在上面html页面代码CSS样式最后增加如下代码:
a[class*=links] {
	background-color: pink;
}
显示效果如下:

E[attr^=val]属性选择器

选中attr属性以val开头的所有元素,在上述HTML页面的CSS样式最后增加如下代码:
a[href^=http] {
	background-color: crimson;
}
显示效果如下:


E[attr$=val]属性选择器

选择属性以val结尾的所有元素,在上面html代码最后增加如下代码:
a[href$=png] {
	background-color: cyan;
}

显示效果如下:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值