CSS选择器怎么用?

4. 通配符选择器

通配符选择器用“*”号表示,它是所有选择器中作用范围最广的,能匹配页面中所有的标记。其基本语法格式如下:

*{属性1:属性值1;属性2:属性值2;属性3:属性值3;}

例如,下面的代码使用通配符选择器定义CSS样式,清除所有HTML标记的默认边距。

*{

margin: 0; /定义外边距/

padding: 0; /定义内边距/

}

在实际网页开发中不建议使用通配符选择器,因为它设置的样式对所有的HTML标生效,不管标记是否需要该样式,这样反而降低了代码的执行速度。

5. 标签指定式选择器

标签指定式选择器又称交集选择器,由两个选择器构成,其中第一个为标记选择器,第二个为class选择器或id选择器,两个选择器之间不能有空格,如h3.specail或p#one。

6.后代选择器

后代选择器用来选择某标记的后代标记,其写法就是把外层标记写在前面,内层标记写在后面,中间用空格分隔。当标记发生嵌套时,内层标记就成为外层标记的后代。例如,当标记内嵌套标记时,就可以使用后代选择器对其中的标记进行控制。

7.并集选择器

并集选择器是各个选择器通过逗号连接而成的,任何形式的选择器(包括标记选择器、类选择器以及id选择器等)都可以作为并集选择器的一部分。如果某些选择器定义的样式完全相同或部分相同,就可以利用并集选择器为它们定义相同的CSS样式。

例如在页面中有两个标题和三个段落,它们的字号和颜色相同。同时其中一个标题和两个段落文本有下画线效果,这时就可以使用并集选择器定义CSS样式。

CSS3新增选择器


CSS3CSS的最新版本,在CSS3中增加了许多新的选择器。运用这些选择器可以简网页代码的书写,让稳当的结构更加简单。CSS3新增的选择器主要分为属性选择器、关系选择器、结构化伪类选择器、伪元素选择器4类,具体介绍如下。

1、  属性选择器

属性选择器可以根据网页标记的属性及属性值来选择标记。属性选择器一般是一个记后紧跟中括号“[]”,中括号内部是属性或者属性表达式,如下所示:

1574752151521_CSS3新增标记.jpg

CSS3中常见的属性选择器主要包括E[att^=value]、E[att$=value]和E[att*=value]这三种性选择器,具体如下所示:

(1)E[att^=value]

例如: div[id^=section]

说明:表示匹配包含id属性,且id属性值是以“section”字符串开头的div标记。

(2)E[att$=value]

例如:

div[id$=section]

说明:表示匹配包含id属性,且id属性值是以“section”字符串结尾的div标记

(3)E[att*=value]

例如:

div[id*=section]

说明:表示匹配包含id属性,且id属性值包含“section”字符串开头的div标记。

2、关系选择器

CSS3中的关系选择器主要包括子代选择器和兄弟选择器,其中子代选择器由符号连接,兄弟选择器由符号“+”和“~”连接,具体如下所示。

(1)关系选择器

例如:

h1>strong

说明:表示选择嵌套在h1标记的子标记strong。

(2)临近兄弟选择器

例如:

h2+p

说明:表示选择h2标记后紧邻的第一个兄弟标记p。

(3)普通兄弟选择器

例如:

p~h2

说明:表示选择p标记所有的h2兄弟标记。

3、结构化伪类选择器

结构化伪类选择器可以减少文档内class属性和id属性的定义,使文档变得更加简洁。下面列举了常用的结构化伪类选择器。

:root

用于匹配文档根标记,使用“:root选择器”定义的样式,对所有页面标记都生效。

:not

例如:

body*:not(h2)

用于排除body结构中的子结构标记h2。

:only-child

例如:

li:only-child

用于匹配属于某父标记的唯一子标记(li),也就是说某个父标记仅有一个子标记(li)。

:first=child

用于选择父元素第一个子标记。

:last-child

用于选择父元素最后一个子标记。

:nth-child(n)

例如:

p:nth-child(2)

表示用于选择父元素第二个p标记。

:nth-last-child(n)

例如:

p:nth-last-child(2)

用于表示父元素倒数第二个p标记。

:nth-of-type(n)

例如:

h2:nth-of-type(odd)

表示用于选择所有h2标记中位于奇数行数的标记。

:nth-last-of-type(2)

例如:

p:nth-last-of-type(2)

表示用于选择倒数第二个p标记。

:empty

用于选择没有子标记或者文本内容为空的所有标记。

4、伪元素选择器

伪元素选择器一般是一个标记后面紧跟英文冒号“:”,英文冒号后是伪元素名,如下所示。

1574752171445_伪元素选择器.jpg

需要注意的是,标记与伪元素名之间不要有空格,伪元素选择器常见有:before选择器和:after选择器。

:before

例如:

p:before

表示:表示在p标记的内容前面插入内容。

:after

例如:

  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSS选择器的优先级是由多个因素决定的。一般情况下,选择器的优先级由其组成部分的权重决定,具体规则如下: 1. 使用!important标记的样式具有最高优先级,会覆盖其他所有样式。 2. 选择器中包含的ID选择器的权重最高,接下来是类选择器和属性选择器,最后是标签选择器。例如,#id选择器的权重高于.class选择器,而.class选择器的权重又高于标签选择器。 3. 组合选择器(如子选择器、后代选择器等)的优先级与组合中各个选择器的优先级相加。例如,div p选择器的优先级高于div选择器。 4. 当具有相同优先级的选择器应用于同一个元素时,后面出现的选择器具有更高的优先级。这意味着后渲染的样式会覆盖先渲染的样式。 为了避免样式冲突和样式覆盖的问题,可以采取以下措施: 1. 确保选择器的权重足够高,以覆盖其他可能的选择器。可以使用ID选择器或!important标记来提高权重,但需要谨慎使用!important,尽量避免滥用。 2. 使用更具体的选择器来定位目标元素,以减少与其他元素的冲突。 3. 避免使用嵌套选择器和通用选择器,这样可以减少选择器的复杂性和权重。 4. 使用样式层叠和继承的特性,合理组织样式表的结构,使得样式之间相互独立且易于维护。 通过合理的选择器使用和样式组织,可以有效地解决CSS选择器优先级的问题,避免样式冲突和样式覆盖的情况发生。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [CSS选择器优先级](https://blog.csdn.net/qq_40920910/article/details/122920539)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值