前言
本文基于尚硅谷Web前端基础教程发布,你也可以理解成这是一篇尚硅谷教程笔记,当然这里也有我的一些经验总结
复合选择器
复合选择器说白了其实就是一个套着一个,多重使用,但它复合的条件以下标签必须全部满足,下面举例说明
1 | <div class="red">我是红色div</div> |
现在如果我们想把class
设置成红色这已经难不了我们来,我们直接
1 | .red{ |
可是我们如果想要把div
的字体调成30px
呢?在red
那一行写吗?显然不行,因为这里有两个标签的class是red
,在red
里写会使两个标签都变成红色,可我们的要求是一个div
标签变成红色就好,那应该怎么办呢
1 | div.red{ |
这样div
标签就即是红色,又是30px
啦,想要p标签不被影响就可以单独把它列出来,保留上一个CSS
这样的选择器又可以叫交集选择器
- 作用:选中同时符合多个条件的标签
- 语法:选择器1选择器2选择器n{}
- 要注意的是如果选择器中有标签元素,必须要以标签开头,如上就是
div
在前头,.选择器在后头
复合选择器里又分了并集选择器
并集选择器相比交集选择器要求稍微松一点,因为你只要满足选择器中的其中一项要求就可以了,例如
1 | <div class="red">我是div</div> |
如果按照交集选择器就只会让第一行的div
变成红色,因为它满足选择器中的条件,又有div
有时red
的class
但你们看出来没有,这里的两个元素中间有空格并且有,
隔开,这就是并集选择器的语法,作用就是让不是div
的元素,只要你满足了red
这一点就一律帮你完成字体和颜色的设置
并集选择器只需要符合一点要求就可以了,所以div
的p
元素都能得到设置而交集选择器需要完成两个,这里的,
代表“或,或者”
关系选择器
在正式开始之前,还需要认识几个概念
1 |
|
在这个里面,各标签和各之前是环环相扣包括的,其中包括
- 父元素
- 直接包含子元素的元素叫子元素
- 子元素
- 直接被父元素包含的元素
- 祖先元素
- 直接或间接包含后代元素的元素
- 一个元素的父元素都可以称是祖先元素
- 后代元素
- 直接或间接被祖先元素包含的元素
- 子元素同时也可以说是后代元素
- 兄弟元素
- 拥有相同父元素的元素
综上我们把刚才那段代码写上注释方便理解,方便区分我把两个span
标上序号.1和.2
1 | <div> |
子元素选择器
- 选中指定父元素下的子元素
- 父元素 > 子元素{}
理解了这个接下来就好说了,如果有一个要求,需要在下面的代码框里添加代码,使它实现让.2变成红色我们需要
1 |
|
这个的意思是直接选中div内的直接span,也就是span.2定义为红色
也可以复合使用
1 | div > p > span{ |
这样就只想p
元素里的span
,相当于文件的路径了
后代选择器
- 选中指定元素内指定后代元素
- 祖先 后代
这次我不让.2变色了,我想让.1变色,首先先想想.1和谁有关系–div,div在其中是.1的祖先,我们可以用后代选择器
1 | <div> |
也就是说省略大于号了,直接空格
选择下一个兄弟
- 前一个 + 下一个
- 兄 ~ 弟
改变一个样式的话就是+
,之间所有的话呢就是~
相接