子选择符 、相邻选择符 、 兄弟选择符 、 伪类选择符

子选择符:

E>F

选择所有作为E元素的子元素F

<style>
div>p{ color: red; }
</style>
<div>
<h3>我是标题1</h3>
<p>我第1个是p标签</p>
<p>我第2个是p标签</p>
<p>我第3个是p标签</p>
<small>我是小标题</small>
</div>

显示效果:

相邻选择符:

E+F

选择紧贴在E元素之后F元素。

<style>
div+p{background: red;}
</style>
<div>
<h3>我是标题1</h3>
</div>

<div>
<small>我是小标题</small>
<p>我第1个是p标签</p>
</div>

<p>我就是紧贴在div元素后面的p元素</p>
<p>我第3个是p标签</p>
</div>

显示效果:

       

兄弟选择符:

E~F

选择E元素所有兄弟元素F。

<style>
    div~p{ background: yellow; }
</style>
<div>
<p>我第1个是p标签,我在div里</p>
<p>我第2个是p标签,我在div里</p>
</div>

<p>我第3个是p标签,我不在div里</p>
<p>我第3个是p标签,我不在div里</p>
</div>

显示效果:

      

伪类选择符:

     选择符       描述

1、E:link          设置超链接a在未被访问前的样式。

<style>
a:link{
background-color:yellow;
color:blue;
}
</style>
<a href="http://www.daidu.com">百度</a>
<a href="http://www.daidu.com">百度</a>
<a href="http://www.daidu.com">百度</a>

显示效果:未被访问前是黄色的背景色和字体是蓝色

2、E:visited      设置超链接a在其链接地址已被访问过时的样式。

3、E:hover       设置元素在其鼠标悬停时的样式。

4、E:active       设置元素在被用户激活

<style>
a:visited {color:green;}
a:hover   {color:red;}
a:active  {color:yellow;}
</style>

<p>将鼠标移上并点击此链接: <a href="#">访问后是绿色的,鼠标悬停时时红色的,点击那刻是黄色的</a></p>

5、E:focus         设置元素在成为输入焦点 (该元素的onfocus事件发生)时的样式。

<style>
input:focus{background-color:yellow;}
</style>

用户名:<input type="text" name="user" />

效果:点击文本输入框表单可以看到黄色背景

    

6、E:lang(fr)       匹配使用特殊语言的E元素。很少用

<style>
p:lang(abc) {
    color: #f00;
}
p:lang(d) {
    color: #ccc;
}
</style>

<p lang="abc">(效果为红色的字体)</p>
<p lang="d">(效果为灰色的字体)</p>

7、E:not(s)         匹配不含有s选择符的元素E。

<style>
p:not(.abc) { color: #f00;}
</style>

<p class="abc">否定伪类选择符 E:not(s)</p>
<p id="abc">否定伪类选择符 E:not(s)</p>
<p class="abcd">否定伪类选择符 E:not(s)</p>
<p>否定伪类选择符 E:not(s)</p>

显示效果:

  

8、E:root          匹配E元素在文档的根元素。常指html元素

父类型中的子元素:

9、E:first-child          匹配父元素的第一个子元素E。

10、E:last-child       匹配父元素的最后一个子元素E。

11、E:only-child      匹配父元素仅有的一个子元素E。

12、E:nth-child(n)      匹配父元素的第n个子元素E。

13、E:nth-last-child(n)   匹配父元素的倒数第n个子元素E。

<style>
div p:first-of-type {color: red;}/* 父类元素的第一个子元素 */
div p:last-of-type {color: yellow;}/* 父类元素的最后一个子元素 */
div p:nth-of-type(4) {color: blue;}/* 父类元素的第四个子元素 */
</style>

<div>
<p>我是第一个p标签,是红色</p>
<p>11111111</p>
<p>11111111</p>
<p>我是第四个p标签,是蓝色</p>
<p>11111111</p>
<p>我是最后一个p标签,是黄色</p>
</div>

效果显示:

同类型中的同级兄弟元素:

14、E:first-of-type     匹配同类型中的第一个同级兄弟元素E。

15、E:last-of-type      匹配同类型中的最后一个同级兄弟元素E。

16、E:only-of-type     匹配同类型中的唯一的一个同级兄弟元素E。

17、E:nth-of-type(n)    匹配同类型中的第n个同级兄弟元素E。

18、E:nth-last-of-type(n)匹配同类型中的倒数第n个同级兄弟元素E。

<style>
p:first-of-type {color: red;}/* 同类型中的第一个同级兄弟元素 */
p:last-of-type {color: yellow;}/* 同类型中的最后一个 */
p:nth-of-type(4) {color: blue;}/* 同类型中的第四个 */
</style>

<p>我是第一个p标签,是红色</p>
<p>11111111</p>
<p>11111111</p>
<p>我是第四个p标签,是蓝色</p>
<p>11111111</p>
<p>我是最后一个p标签,是黄色</p>

效果:

19、E:empty       匹配没有任何子元素(包括text节点)的元素E。

<style>
p:empty {
    height: 25px;
    border: 1px solid #ddd;
    background: #eee;
}
</style>
<div>
    <p>结构性伪类选择符 E:empty</p>
    <p><!--我是没文字的空标签--></p>
    <p>结构性伪类选择符 E:empty</p>
</div>

效果图:

    

20、E:checked      匹配用户界面上处于选中状态的元素E。(用于input type为radio与checkbox时)

<style>
    input:checked{ width: 25px; height: 25px; }
</style>

<input type="radio"/>女
<input type="radio"/>男

效果是被选中时宽高都变25px:

21、E:enabled         匹配用户界面上处于可用状态的元素E。

22、E:disabled        匹配用户界面上处于禁用状态的元素E。

<style>
input[type="text"]:enabled
{
    background:#ffff00;
}
input[type="button"]:disabled
{
    background: ccc;
}
</style>

<form action="">
用户名: <input type="text" value="可用" /><br>
用户名: <input type="text" value="可用" /><br>
注 册: <input type="button" disabled="disabled" value="禁用了" /><br>
</form>

效果:

23、E:target       匹配相关URL指向的E元素。

<style>
.box ul{list-style: none;}
.box ul li{ float: left; margin-left: 20px;}
a:target{ color: red; }
</style>

<div class="box">
    <ul>
        <li><a href="#nav1" id="nav1">导航一</a></li>
        <li><a href="#nav2" id="nav2">导航二</a></li>
        <li><a href="#nav3" id="nav3">导航三</a></li>
    </ul>
</div>

效果:鼠标点击那个导航时那个导航字体就变红。

    当点击在导航三看导航三的内容时,导航三的字体的红色可以当做标记来记住当前的位置

注意:<a>标签的id要和href链接的地址一样。

时间: 2024-08-08 05:38:05

子选择符 、相邻选择符 、 兄弟选择符 、 伪类选择符的相关文章

#8.9.16总结# 关系选择符和伪类选择符

1.关系选择符 示例: E F 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>关系选择符</title> 6 <style type="text/css"> 7 .item+li{ 8 background-color: #F00; 9 } 10 &l

CSS伪类选择符归纳

伪类选择符归纳 伪类选择符比较多,不加以归类很难记清楚记全:我们可以先把他分为两类 和元素本身转态有关,类似于链接点击前,点击后 和元素在DOM结构中所处的结构有关,类似于第n个元素,或者奇数行. 一.和元素本身转态有关 :link,:visited,:hover,:active :link指的是超链接在访问前的状态 :visited指的是超链接在访问后的转态 :hover指的是鼠标悬停在元素上的状态 :active指的是鼠标点击元素不放时的转态 这几个伪类的书写有一定的顺序,:link和:vi

伪类选择符

更有趣的是伪类选择符,为什么叫做伪类选择符,它允许给html不存在的标签(标签的某种状态)设置样式,比如说我们给html中一个标签元素的鼠标滑过的状态来设置字体颜色: a:hover{color:red;} 上面一行代码就是为 a 标签鼠标滑过的状态设置字体颜色变红.这样就会使第一段文字内容中的“胆小如鼠”文字加入鼠标滑过字体颜色变为红色特效. 关于伪选择符: 关于伪类选择符,到目前为止,可以兼容所有浏鉴器的“伪类选择符”就是 a 标签上使用 :hover 了(其实伪类选择符还有很多,尤其是 c

css3属性选择器,兄弟选择器,伪类选择器

属性选择器 css3语法(类似于正则) 属性选择器:属性是相对于标签而言. 所谓属性选择器就是根据指定名称的属性的值来查找元素 /*1.E[attr]:查找指定的拥有attr属性的E标签.如查找拥有style属性的li标签*/ li[style]{ text-decoration: underline; } /*2.E[attr=value]:查找拥有指定的Attr属性并且属性值为value的E标签.如想查找拥有class属性并且值为Red的li标签   =是严格匹配*/ li[class=re

【00】伪类选择符-魔芋的理解

[00]魔芋的理解 nth-child(n)这样的带n的,n从1开始. n可以是表达式:n*3,n+3 可以是特殊字符串"odd","even" [02]empty 匹配没有任何子元素(包括text节点)的元素E. 注意:如果开始标签和结束标签间有空格或是换行,都是属于有元素的.(魔芋:所以不实用) [04]not(s) 匹配不含有s选择符的元素E. [05]first-child E:first-child E:first-child { sRules } 用法比

CSS选择符-----伪类选择符

Element:hover E:hover { sRules }  设置元素在其鼠标悬停时的样式 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> h1 { font-size: 16px; } a, div { display: block; ma

CSS Pseudo-Element Selectors伪对象选择符

一: CSS3将伪对象选择符(Pseudo-Element Selectors)前面的单个冒号(:)修改为双冒号(::)用以区别伪类选择符(Pseudo-Classes Selectors),但以前的写法仍然有效. 为了支持IE8,许多目前许多情况还是使用单个冒号,显示效果一样 Selectors选择符 CSS Version版本 Description简介 E:first-letter/E::first-letter CSS1/CSS3 设置对象内的第一个字符的样式. E:first-line

子选择器、后代选择器和通用选择器以及伪选择器

子选择器(>) .food>li{border:1px solid red;}后代选择器(空格) 包含选择器,即加入空格,用于选择指定标签元素下的后辈元素.如右侧代码编辑器中的代码: .first span{color:red;} 这行代码会使第一段文字内容中的"胆小如鼠"字体颜色变为红色. 请注意这个选择器与子选择器的区别,子选择器(child selector)仅是指它的直接后代,或者你可以理解为作用于子元素的第一代后代.而后代选择器是作用于所有子后代元素.后代选择器通

CSS选择符、属性继承、优先级算法以及CSS3新增伪类、新特性

CSS 选择符有哪些?哪些属性可以继承?优先级算法如何计算? CSS3新增伪类有那些?CSS新增了哪些特性?下面我整理了一些,仅供参考. CSS 选择符: 1)      id选择器(# myid) 2)      类选择器(.myclassname) 3)      标签选择器(div, h1, p) 4)      相邻选择器(h1 + p) 5)      子选择器(ul > li) 6)      后代选择器(li a) 7)      通配符选择器( * ) 8)      属性选择器