css选择器温故知新
程序员文章站
2022-06-18 17:08:32
一、前言 复习一下css选择器中的一些常用符号的使用,例如“+、~、^、$、>、*”等的使用! 二、css选择器之特殊符号 1、>(大于号) 大于号代表选择子元素,这个我们经常用,值得注意的是 h1>strong 和h1 strong的区别 这2个都是选择子元素,但是 h1>strong 只选择某个 ......
一、前言
复习一下css选择器中的一些常用符号的使用,例如“+、~、^、$、>、*”等的使用!
二、css选择器之特殊符号
1、>(大于号)
大于号代表选择子元素,这个我们经常用,值得注意的是 h1>strong 和h1 strong的区别
这2个都是选择子元素,但是 h1>strong 只选择某个元素的直接子元素。
2、+号
选择相邻兄弟,这点和jquery相同。
三、属性选择器
1、把包含标题(title)的所有元素变为红色
如下写:
*[title] {color:red;}
2、将同时有 href 和 title 属性的 HTML 超链接的文本设置为红色
a[href][title] {color:red;}
3、指定将 这篇文字颜色变红
a[href="http://www.haorooms.com/post/css_wl_wys"] {color: red;}
4、属性与属性值必须完全匹配
我们来看一个class的div
<p class="important haorooms">This paragraph is a very important warning.</p>
我们用class选择,大家都晓得,很简答,但是用属性选择,我们用如下:
p[class="important"]
是选择不到的,因为还有一个haorooms。因此,必须这样写:
p[class="important haorooms"] {color: red;}
5、根据部分属性值选择
看到上面多个属性必须完全匹配,很不爽,那么有没有可以部分匹配属性的方法呢?答案是有的。还是上面的例子,我们如下选择就可以了!
p[class~="haorooms"] {color: red;}
如果需要根据属性值中的词列表的某个词进行选择,则需要使用波浪号(~)。
6、字符串匹配属性选择器
上面说到了~(波浪号选择),有朋友会把他和*= 搞混,例如,如下例子:
<p haorooms="importanthaorooms">This paragraph is a very important warning.</p>
我们可以用[haorooms * ="haoroom"]来选择,这个和~的区别就是包含,~是几个属性直接有空格,空格中的一个。*=没有空格,但是包含某个字符。除此之外,还有开头选择和结尾选择,和jquery类似:
[haorooms^="haorooms"] 选择 haorooms 属性值以 "haorooms" 开头的所有元素 [haorooms$="haorooms"] 选择 haorooms 属性值以 "haorooms" 结尾的所有元素
7、特定属性选择类型
请看下面的例子:
*[lang|="en"] {color: red;}
上面这个规则会选择 lang 属性等于 en 或以 en- 开头的所有元素。因此,以下示例标记中的前三个元素将被选中,而不会选择后两个元素:
<p lang="en">Hello!</p> <p lang="en-us">Greetings!</p> <p lang="en-au">G'day!</p> <p lang="fr">Bonjour!</p> <p lang="cy-en">Jrooana!</p>
8、CSS3 element1~element2 选择器
同样是~波浪号,上面第五条那么用,代表部分属性选择,假如p~ul 这么用,代表:所有相同的父元素中位于 p 元素之后的所有 ul 元素。
四、小结
以上就是css中一些比较重要的选择器。要好好掌握!