欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

css选择器温故知新

程序员文章站 2022-03-14 10:02:01
一、前言 复习一下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中一些比较重要的选择器。要好好掌握!