CSS学习日记之CSS选择器

最近工作发觉css有些遗忘,是需要再次重新复习一下css. 便开启这个系列,用于复习和更新下学过的知识.毕竟温故而知新嘛.

首先是一些基本的选择器,我归类为简单选择器.这里他们的用法我不细讲.

简单选择器

* { }

通配选择器

e { }

元素选择器

id { }

id选择器,只允许页面中出现一次.同时权值最高

.calss { }

class选择器,可多次出现

  

然后, 有一类选择器是对元素的属性进行选择, 需要同元素选择器一起使用, 这里我称之为属性选择器

属性选择器

属性选择器用[]包裹.同时属性值要用引号引起来。

e[attr] { }

具有attr属性的元素

e[attr="val"] { }

具有attr属性且值为val的的元素。

e[attr|="val"] { }

attr属性的值为val或者以 val- 开头的元素。

该值必须是整个单词或有连字符。

e[attr^="val"] { }

attr属性的值以val开头的元素

e[attr$="val"] { }

attr属性的值以val结尾的元素

e[attr~="val"] { }

attr属性包含值为val的元素。

用于选取属性值中包含指定词汇的元素。单词间用空格隔开。

e[attr*="val"] { }

attr属性的值包含val的元素

可以发现以值开头有两种, 属性包含也有两种.

接下来细分其中区别

1   
2   
3   
4 

首先是以值开头

对于a[title^="web"]{ }. 1,2,3,4元素都会选中.

对于a[title|="web"]{ }. 只会选中1,3.

可以得出

a[title^="web"]{ }.属性值当作一个整字符串,只要开头是web. 就选中.

a[title|="web"]{ }是选中web或者web-开头的. 两个单词需用-连接.

然后是包含该值

对于a[title*="web"]{ }. 1,2,3,4元素都会选中.

对于a[title~="web"]{ }. 只会选中1,4.

可以得出

a[title*="web"]{ }.属性值字符串只要有web. 就选中.

a[title~="web"]{ }是选中有对应单词web. 可多个需用空格分隔.

接下来的选择器算是在上面的选择器更上一层的选择器.可以算是选择器的选择器.这里我称为上层选择器.

上层选择器

E F { }

后代选择器,匹配到符合E选择器元素下面的所有的符合F选择器元素(包括子、孙),中间空格隔开

E>F { }

子元素选择器, 选择到符合E选择器元素的只有子代中符合F选择器的元素. 其孙代后都不会选择

E+F { }

相邻兄弟选择器, 紧接在符合E选择器元素后面(不会选择前面的)的同级中第一个符合F选择器元素,相邻兄弟选择器,有相同的父级。

E~F { }

全兄弟选择器, 选择符合E选择器元素后面(不会选择前面的)的所有兄弟中符合F选择器元素。

EF { }

交集选择器, 匹配到同时符合E选择器元素和符合F选择器元素,中间无空格

E,F { }

并集(多元素)选择器, 匹配到符合E选择器元素或者符合F选择器元素,用逗号隔开。

目前关于CSS基本选择器复习完了. 接下来还是会去整理些CSS中常用的属性, 同时更新自己欠缺的内容和使用技巧之类的

你可能感兴趣的:(css)