不同的选择器是可以进行组合的,一个单独的选择器可以和另外一个选择器乃至更多的CSS选择器进行组合。CSS选择器的组合则一般包括如下4中组合方式:
通过上下文关系来选择元素的选择器叫派生选择器,这是一个过时的词汇了,不用去了解。没必要太去纠结这类词汇的概念与包含范围,这些都是虚的,此章节,搞懂上述的四类组合方式就ok啦~
后代选择器可以选择指定元素内的特定元素,后者元素只要在前者元素内就ok啦。换言之,后者是前者的子元素、孙元素、重孙元素、重重孙元素……都可以!
div p { background: Tomato; }
子元素选择器也是用来选择特定元素内的特定元素,但是不同的是,后者元素必须是前者元素的直接子元素。再强调一下,必须是直接的子元素才ok,孙元素、重孙元素……都不行。
div > p { background: Tomato; }
相邻兄弟选择器是用来选择指定元素的紧接着的兄弟元素,前者和后者的关系:
只有同时满足上述关系的后者元素才会被成功选择。
div + p { background: Tomato; }
与相邻兄弟选择器类似,区别就是相邻关系上不必紧邻。前者元素和后者的关系:
同时满足上述两个条件的后者元素就会被成功选择。
div ~ p { background: Tomato; }