善用你的html的属性选择符

   在学习Css3.0选择符的时候,参考了《CSS3.0参考手册》。有个地方没有说明,于是被坑了半个小时呀!

    在这里和大家分享一下,在选择符分类那里,有一类是属性选择符是通过字串来匹配的!

形式有以下几种:


属性名选择符
E[att] -- 匹配文档中具有att属性的E元素
属性值选择符
E[att=val] -- 匹配文档中具有att属性且其值为val的E元素
E[att~=val] -- 匹配文档中具有att属性且其中一个值(多个值使用空格分隔)为val(val不能包含空格)的E元素
E[att|=val] -- 匹配文档中具有att属性且其中一个值为val,或者以val开头紧随其后的是连字符-的E元素(主要用来允许语言编码的匹配,例如HTML中的hreflang属性。关于lang(或 xml:lang)语言码的比配,可查看:lang伪类)
属性值子串选择符
E[att^=val] -- 匹配文档中具有att属性且其值的前缀为val的E元素
E[att$=val] -- 匹配文档中具有att属性且其值的后缀为val的E元素
E[att*=val] -- 匹配文档中具有att属性且其包含val的E元素



    在上述的引用引用中,橙色的三个便是经常使用的!

    但使用的时候,我们应该注意一个坑,就是这些属性选择符并不是所有标签都适用,它只适用于HTML文档性质的标签,常见的如<p>、<del>、<a>这些!当你将属性选择符用于一些非文档性质的元素时,它不会进行匹配!

    还有需要注意的是,我们这些是属性选择器,也是css的样式,所以需要在头部<head>或者外部css文件来表明。

    下面写一个简单的例子。

    

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!DOCTYPE html>
<html>
     <head>
         <style>
         del[id$= "l1" ]
         {
             color:green;
         }
         </style>
     </head>
     <body>
         <del id= "del1" >This is del1</del>
         <br>
         <del id= "del2" >This is del2</del>
         <br>
     </body>
</html>

   可以知道,"This is del1"的内容将会变成绿色!

    如图:

    

wKiom1RCYSnBXlheAAAvVeqVkZo083.jpg




    同时我们可以测试一下块级区域,通过字串选择符来匹配一下!便可以知道对于块级区域无效

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!DOCTYPE html>
< html >
     < head >
         < style >
         div[id$="v1"]
         {
             color:green;
         }
         </ style >
     </ head >
     < body >
         < div  id = "div1"  style = "color:red;width: 300px;height:200px;border:1px solid" >This is div1</ div >
         < br >
         < div  id = "div2"  style = "color:red;width: 300px;height:200px;border:1px solid" >This is div2</ div >
         < br >
     </ body >
</ html >

    如图:

    wKioL1RCYXCD8AEbAAC38Dl5flI740.jpg

    可以看见字串匹配模式不生效,所以它的使用的对象应该是文档性质的!










本文转自 qq414207614 51CTO博客,原文链接:http://blog.51cto.com/skytina/1565539,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值