集合选择器
交集选择器
选择同时符合多个条件的元素。
直接排列就代表且的意思。
1 | /*选中标签为p并且类名为class_value1和class_value2的元素*/ |
为什么能直接排列?
首先如果有标签名那么标签名必须写在第一位,其余后面的不管是类值还是id值,都带有天然的分隔’.’或者’#’。而且后面不会再跟其他标签,因为一个标签就是一个标签,不可能还含有另一个标签。
并集选择器
选择满足选择器条件中任意一条的元素。
‘,’就代表或的意思。
1 | /*选择标签为p,类名为class_value1,id值为id_value1的元素*/ |
并集选择器一般竖着写,没有明确的先后顺序。
元素关系选择器
后代选择器
选择指定的元素中,所有符合要求的后代元素。
1 | /*选择标签为div的元素中所有标签为a的后代元素。*/ |
空格代表后代关系,可以叠加多层。选择的后代是所有后代,后代的后代也包括在内,只要符合条件就会被选中。
子代选择器
选择指定元素中,所有符合要求的子元素(就指儿子元素)。
1 | /*选择标签为div的元素中,标签为p的子元素。*/ |
兄弟选择器
相邻兄弟选择器
选择指定元素的相邻(紧挨着的下一个,只有这一个!)的兄弟元素。
1 | /*选择标签为p的元素的相邻的下一个标签为a的元素。*/ |
注意,必须是紧挨着p元素的a,中间插入一个别的元素都不行,并且p和a必须是兄弟元素。
通用兄弟选择器
选择指定元素后面的所有符合条件的兄弟元素。
1 | /*选择标签为p的元素的所有标签为a的兄弟元素。*/ |
注意,虽说是所有元素,但只作用于指定元素的后面的元素,前面的不会被选。
属性选择器
包含某个属性的元素
选择包含某个属性的元素。
1 | /*选择含有title属性的元素。*/ |
‘[]’就是选择某个属性。
指定属性值
选择包含某个属性且属性值等于指定值的元素。
1 | /*选择符合title="value"条件的元素。*/ |
指定属性值的开头
选择包含某个属性且属性值的开头等于给定值的元素。
‘^=’代表给定开头值。
1 | [title^="v"] { |
指定属性值的结尾
选择包含某个属性且属性值的结尾等于给定值的元素。
‘&=’代表给定结尾值。
1 | [title$="e"] { |
指定属性值的包含部分
选择包含某个属性且属性值中含有给定值的元素。
‘*=’代表要求含有给定值。
1 | [title*='alu'] { |