CSS3之选择器1(属性选择器,结构伪类)

一.属性选择器

1          E[attr]只使用属性名,但没有确定任何属性值

 

例如:

<style>

p{height:30px;border:1pxsolid #000;}

p[miaov]{background:red;}

</style>

</head>

<body>

         <pmiaov="leo">leo</p>

    <p miaov="dp">杜鹏</p>

    <p miaov="zM">子鼠</p>

    <p miaov="xm">小美</p>

</body>

 

2          E[attr="value"]指定属性名,并指定了该属性的属性值

 

<style>

p{height:30px;border:1pxsolid #000;}

p[miaov=leo]{background:red;}

</style>

</head>

<body>

         <pmiaov="leo">leo</p>

    <p miaov="dp">杜鹏</p>

    <p miaov="zM">子鼠</p>

    <p miaov="xm">小美</p>

</body>

</html>

 

 

3          E[attr~="value"]指定属性名,并且具有属性值,此属性值是一个词列表,并且以空格隔开,其中词列表中包含了一个value词,而且等号前面的“”不能不

 

<style>

p{height:30px;border:1pxsolid #000;}

p[miaov~=old]{background:red;}

</style>

</head>

<body>

         <p miaov="leoold">leo</p>

    <p miaov="dp">杜鹏</p>

    <p miaov="zM">子鼠</p>

    <p miaov="xm">小美</p>

</body>

CSS3之选择器1(属性选择器,结构伪类)_第1张图片

4          E[attr|="value"]指定了属性名,并且属性值是value或者以“value-”开头的值(比如说zh-cn

<style>

p{height:30px;border:1pxsolid #000;}

p[miaov|=b]{background:#C3C;}

</style>

</head>

<body>

         <p miaov="b-leo">leo</p>

    <p miaov="bleo">杜鹏</p>

    <pmiaov="b-leo">子鼠</p>

    <p miaov="g-xm">小美</p>

    <p miaov="b">无名氏</p>

</body>

 CSS3之选择器1(属性选择器,结构伪类)_第2张图片

 

5          E[attr^="value"]指定了属性名,并且有属性值,属性值是以value开头的

    <style>

p{height:30px;border:1px solid #000;}

p[miaov^=g]{background:pink;}

</style>

</head>

<body>

         <p miaov="bleoold">leo</p>

    <pmiaov="bdp">杜鹏</p>

    <pmiaov="bzM">子鼠</p>

    <p miaov="gxm">小美</p>

</body>

 CSS3之选择器1(属性选择器,结构伪类)_第3张图片

6          E[attr$="value"]指定了属性名,并且有属性值,而且属性值是以value结束的

   <style>

p{height:30px;border:1px solid #000;}

p[miaov$=M]{background:#CC0;}

</style>

</head>

<body>

     <p miaov="bleoold">leo</p>

    <pmiaov="bdp">杜鹏</p>

    <p miaov="bzM">子鼠</p>

    <p miaov="gXM">小美</p>

</body>

 

7          E[attr*="value"]指定了属性名,并且有属性值,而且属值中包含了value

<style>

p{height:30px;border:1pxsolid #000;}

p[miaov*=d]{background:#C3C;}

</style>

</head>

<body>

         <p miaov="bleo old">leo</p>

    <p miaov="bdp">杜鹏</p>

    <p miaov="bzM">子鼠</p>

    <p miaov="gxm">小美</p>

</body>

CSS3之选择器1(属性选择器,结构伪类)_第4张图片

 

二.           结构性伪类

伪类选择器是CSS中已经定义好的选择器,不能随便起名。利用文档结构树实现元素过滤,通过文档结构的相互关系来匹配特定的元素,从而减少文档内Class属性和ID属性的定义,使得文档更加简洁。

 

1         E:nth-child(n) 表示E父元素中的第n个字节点

p:nth-child(odd){background:red}/*匹配奇数行*/

p:nth-child(even){background:red}/*匹配偶数行*/

p:nth-child(2n){background:red}//匹配偶数行

p:nth-child(2n+1){background:red}//匹配奇数行

 

<style>

p{height:30px;border:1px solid #000;}

body *:nth-child(2){background:red;}

</style>

</head>

<body>

<p>p1</p>

<h1>h1</h1>

<p>p2</p>

<h1>h2</h1>

<p>p3</p>

<h1>h3</h1>

<p>p4</p>

<p>p5</p>

</body>

CSS3之选择器1(属性选择器,结构伪类)_第5张图片

2         E:nth-last-child(n)表示E父元素中的第n个字节点,从后向前计算

与1是计算顺序相反的选择器

 

3         E:nth-of-type(n) 表示E父元素中的第n个字节点,且类型为E

<style>

p{height:30px;border:1px solid #000;}

p:nth-of-type(2){background:red;}

/*

p:nth-of-type(2) 找p标签父级下的第二个子元素,并且这个元素还的是p标签

 

p:nth-child(2) 找p标签父级下的第二个p元素

*/

</style>

</head>

<body>

<p>p1</p>

<h1>h1</h1>

<p>p2</p>

<h1>h2</h1>

<p>p3</p>

<h1>h3</h1>

<p>p4</p>

<p>p5</p>

</body>

CSS3之选择器1(属性选择器,结构伪类)_第6张图片

4         E:nth-last-of-type(n)表示E父元素中的第n个字节点,且类型为E,从后向前计算

 

 

5         E:first-child表示E元素中的第一个子节点

6         E:last-child表示E元素中的最后一个子节点

7         E:first-of-type表示E父元素中的第一个子节点且节点类型是E

8         E:last-of-type表示E父元素中的最后一个子节点且节点类型是E

:first-child==:nth-child(1)

:last-child==:nth-last-child(1)

:first-of-type==nth-of-type(1)

:last-of-type==nth-last-of-type(1)

 

 

9         E:empty表示E元素中没有子节点。注意:子节点包含文本节点

<style>

p{height:30px;border:1pxsolid #000;}

 p:empty{background:red;}

</style>

</head>

<body>

<p></p>

<h1>h1</h1>

<p>p2</p>

<h1>h2</h1>

<p>p3</p>

<h1>h3</h1>

<p><span></span></p>

<p>p5</p>

</body>

CSS3之选择器1(属性选择器,结构伪类)_第7张图片

10     E:only-child表示E元素中只有一个子节点。注意:子节点不包含文本节点关注子节点

          如:匹配<div><p></p></div   但不匹配<div><p></p><h1></h1></div

11    E:only-of-type 表示父元素只包含一个同类子元素且子元素匹配E。注意:子节点不包含文本节点 关注类型

     如:匹配<div><p></p></div   也匹配<div><p></p><h1></h1></div

    <style>

p{height:30px;border:1px solid #000;}

p:empty{background:red;}

span{ display:block;height:20px;}

p *:only-of-type{ background:yellow;}

p *:only-child{ background:blue;}

</style>

</head>

<body>

<p></p>

<h1>h1</h1>

<p>p2</p>

<h1>h2</h1>

<p><span></span></p>

<h1>h3</h1>

<p>

<span></span>

<a href="#">链接</a>

</p>

<p>p5</p>

</body>

CSS3之选择器1(属性选择器,结构伪类)_第8张图片

你可能感兴趣的:(CSS3之选择器1(属性选择器,结构伪类))