常用复合选择器

概述:由两个或多个基础选择器通过不同的方式组合而成的选择器

(1)后代选择器

后代选择器又称包含选择器,可以选择某元素后代的元素

  • 语法:

EF {

样式声明;

}

  • 描述:【空格】连接一个或多个选择器

  • 作用: 选择E元素内部包含的所有F元素

/* .warp 范围内所有的span都有效 */

.wrapspan {

color: tomato;

}

<divclass="wrap">

<span>我是第一个span</span>

<ul>

<li>

<span>我是第a二span个</span>

</li>

</ul>

<span>我是第三个span</span>

<divclass="txt">div文本</div>

</div>

(2)子代选择器

子代选择器他只能选择他的子代范围内的选择器,也就是父子关系

  • 语法

E > F {

样式声明;

}

  • 描述:【大于】号 连接一个或多个选择器

  • 作用: 选择E元素内部包含的所有直接子元素F(第一嵌套层级)

父类选择器与子代选择器之间与大于号隔开

/* .warp 范围内所有的子元素span都有效 */

.wrap>span {

color: tomato;

}

<divclass="wrap">

<span>我是第一个span</span>

<ul>

<li>

<span>我是第a二span个</span>

</li>

</ul>

<span>我是第三个span</span>

<divclass="txt">div文本</div>

</div>

</div>

(3)群组选择器

群组选择器是在样式表中有很多具有相同样式的元素,为了尽量减少代码,我们可以用群组选择器

群组选择器是将任意多个选择器分在一组,每个选择器之间用逗号隔开

  • 语法

E,F {

样式声明;

}

  • 描述:【逗号】连接一个或多个选择器

  • 作用: 使用逗号分隔的列表来对选择器进行分组,给列表中每一个选择器选中的元素设置样式

选择器1,选择器2,选择器3{};

选择器1和选择器2选择器3是都具有相同的样式的

选择器1和选择器2选择器3中间以逗号来隔开: 选择器1,选择器2,选择器

注意:最后一个选择器后面不用加逗号

h2,

h3,

h6,

div,

.box,

#box2 {

color: blue;

}

<h2>h2h2h2h2h2h</h2>

<h3>h3h3h3h3h3</h3>

<h6>h6h6h6h6h6h</h6>

<div>divdivdiv</div>

<divclass="box">box111</div>

<pid="box2">ppppp</p>

(4)伪类链接选择器

用于添加特殊效果

  • 语法

选择器:伪类{ }

  • 用于设置链接的不同状态

a:link{ 链接的默认样式 }

a:visited{ 链接访问过后的样式 }

a:hover{ 鼠标悬停的样式 }

a:active{ 鼠标按下的样式 }

a:link {

color: tomato;

}

a:visited {

color: yellow;

}

a:hover {

color: purple;

}

a:active {

color: greenyellow;

}

四个伪类状态都有效:L-v-H-a
  • :hover不仅可以表示链接的悬停,也可以用于其他标签中

/* 鼠标悬停到.box1盒上,让其本身的背景颜色变为蓝色 */

.box1:hover{

background-color: lightblue;

}

/* 鼠标悬停到.box2盒上,让p标签文字颜色变为红色 */

.box2:hover p{

color: red;

}

/* 鼠标悬停到.box3上,让p标签和h3标签的文字颜色都变为blue */

.box3:hover h3,

.box3:hover p{

color: red;

}

.box3 :hover{

color: blue;

}

(5)相邻选择器

  • 语法

  • 示例:E+F{ 样式声明 } 用加号连接

  • 描述:【加号】 连接一个或多个选择器

  • 作用:E元素之后紧跟着的兄弟元素F

  • 代码示例

.box + p{

background-color:red

}

<p>这个P元素不会被应用样式</p>

<div class="box">box</div>

<p>这个P元素会被应用样式</p>

<p>这个P元素不会被应用样式</p>

兄弟之间的hover

<!DOCTYPE html>

<htmllang="en">

<head>

<metacharset="UTF-8">

<metahttp-equiv="X-UA-Compatible"content="IE=edge">

<metaname="viewport"content="width=device-width, initial-scale=1.0">

<title>Document</title>

<style>

* {

margin: 0;

padding: 0;

}

.box {

width: 100px;

height: 100px;

background: tomato;

}

.con {

width: 300px;

height: 300px;

height: 0;

background: yellowgreen;

transition: 2s;

}

.box:hover+.con {

height: 300px;

background-color: blue;

}

</style>

</head>

<body>

<divclass="box"></div>

<divclass="con"></div>

</body>

</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值