首页 > 试题广场 >

关于 CSS 选择器,以下说法正确的是:

[不定项选择题]
关于 CSS 选择器,以下说法正确的是:
  • 每个选择器最多只能出现一个伪元素
  • 每格选择器最多只能出现一个伪类
  • :nth-child(an+b) 中 n 的取值从 0 开始
  • A+B 匹配 A 之后所有符合 B 规则的元素
:nth-child(n),n从1开始计数
:nth-child(odd)和:nth-child(even),从1开始计数
:nth-child(an+b),n从0开始计数
发表于 2020-01-08 16:46:21 回复(11)
指路:
伪类和伪元素的区别, 总结的很好, 直接看结论. - 唐安 - 博客园
https://www.cnblogs.com/andy-lehhaxm/p/9561776.html
发表于 2020-02-25 20:54:44 回复(1)

补充一下为元素和伪类的区别,参考的是我csdn的文章https://blog.csdn.net/qq_37820580/article/details/107289944#21

伪元素

  • 每条选择器最多只能包含一个伪元素
    伪元素

    伪类

  • 每条选择器可以包含多个伪类
    伪类

    总结

  • 伪元素的操作对象是新生成的dom元素,而不是原来dom结构里就存在的;而伪类恰好相反,伪类的操作对象是原来的dom结构里就存在的元素。

  • 伪元素与伪类的根本区别在于:操作的对象元素是否存在于原来的dom结构里。

发表于 2020-12-07 09:42:03 回复(0)
C.:nth-child(an+b)在下标计算表达式an+b中:
a,b是系数可以是任意整数;
n就是个字面量“n”,表示是递增变量,并且取值是从0开始的整数。
这里不知为何而错
D.匹配任意元素,满足条件:
B是A的下一个兄弟节点(AB有相同的父结点,并且B紧跟在A的后面)
编辑于 2019-08-16 10:53:08 回复(7)
A+B,从+号看出是相邻选择器,选定的只有与A相邻的一个B,并非是选择A后面所有的B。
发表于 2020-10-14 00:20:55 回复(0)
## 伪元素和伪类的区别
```
1. 伪类本质上是给元素创建多一个类名,多个类名多个效果
2. 伪元素本质上是创建了一个有内容的虚拟容器,也就是多了一个dom节点(元素)
3. CSS3中伪类和伪元素的语法不同,伪元素一般是:: , 伪类是:
4. 可以同时使用多个伪类,而只能同时使用一个伪元素;

			<a href="">sdasasd</a>
			<a href="">第二个a不会有效果</a>
			/* 同时使用两个伪类,那就中间不要有空格! */
			a:first-child:hover{
				color: red;
			}
			/* 只能同时使用一个伪元素,不能同时使用多个伪元素! */
			a:after{
				content: '';
				position: absolute;
				top: 0;
				height: 10px;
				width: 10px;
				border-radius: 50%;
				background: red;
			}
```

发表于 2020-04-19 23:31:08 回复(0)
  1. 伪类本质上是为了弥补常规CSS选择器的不足以便获取到更多信息
  2. 伪元素本质上是创建了一个有内容的虚拟容器
  3. CSS3中伪类和伪元素的语法不同;   伪类  :link  :hover         伪元素  ::before    ::after
  4. 可以同时使用多个伪类,而只能同时使用一个伪元素;
  5. 其中伪类和伪元素的根本区别在于:它们是否创造了的元素,,   这个新创造的元素就叫  "伪无素" 

    伪元素/伪对象:不存在在DOM文档中,是虚拟的元素,是创建新元素。 这个新元素(伪元素)  是某个元素的子元素,这个子元素虽然在逻辑上存在,但却并不实际存在于文档树中.

  伪类:存在DOM文档中,(无标签,找不到,  只有符合触发条件时才能看到 ),  逻辑上存在但在文档树中却无须标识的“幽灵”分类。

6.  因为伪类是类似于添加类所以可以是多个,而伪元素在一个选择器中只能出现一次,并且只能出现在末尾 

7.   W3C中对于二者应用的描述(描述太模糊, 不容易理解):

    • 伪类:用于向某些选择器添加特殊的效果
    • 伪元素:用于将特殊的效果添加到某些选择器(标签

 

:after/::after和:before/::before的异同

 

相同点

  • 都可以用来表示伪类对象,用来设置对象前的内容
  • :before和::before写法是等效的; :after和::after写法是等效的

不同点

  • :before/:after是Css2的写法,::before/::after是Css3的写法
  • 所以css2的要比css3的兼容好    ,,  :before/:after 的兼容性要比::before/::after好 , 

 

  • 不过在H5开发中建议使用::before/::after比较好

注意:

  1. 伪对象要配合content属性一起使用
  2. 伪对象不会出现在DOM中,所以不能通过js来操作,仅仅是在 CSS 渲染层加入
  3. 伪对象的特效通常要使用:hover伪类样式来激活
发表于 2020-06-09 15:59:33 回复(0)
完美避过正确答案
发表于 2021-03-30 14:14:49 回复(0)
伪元素是指:before,:after,他们不是经常一起使用来清除浮动吗?为什么a对了
发表于 2020-09-10 08:29:35 回复(2)
C为什么不对?
发表于 2019-07-13 18:31:31 回复(7)
每个选择器只能出现一个伪元素,但能出现很多个伪类。伪元素操作的是新生成的dom,而伪类操作的是原有的dom。
发表于 2022-12-10 19:42:23 回复(1)
C是对的 牛客又改答案了 
发表于 2021-01-12 09:55:14 回复(0)
  1. 伪类本质上是为了弥补常规CSS选择器的不足以便获取到更多信息
  2. 伪元素本质上是创建了一个有内容的虚拟容器
  3. CSS3中伪类和伪元素的语法不同;   伪类  :link  :hover         伪元素  ::before    ::after
  4. 可以同时使用多个伪类,而只能同时使用一个伪元素;
  5. 其中伪类和伪元素的根本区别在于:它们是否创造了的元素,,   这个新创造的元素就叫  "伪无素" 

    伪元素/伪对象:不存在在DOM文档中,是虚拟的元素,是创建新元素。 这个新元素(伪元素)  是某个元素的子元素,这个子元素虽然在逻辑上存在,但却并不实际存在于文档树中.

  伪类:存在DOM文档中,(无标签,找不到,  只有符合触发条件时才能看到 ),  逻辑上存在但在文档树中却无须标识的“幽灵”分类。

6.  因为伪类是类似于添加类所以可以是多个,而伪元素在一个选择器中只能出现一次,并且只能出现在末尾 

7.   W3C中对于二者应用的描述(描述太模糊, 不容易理解):

    • 伪类:用于向某些选择器添加特殊的效果
    • 伪元素:用于将特殊的效果添加到某些选择器(标签
发表于 2020-07-14 20:10:37 回复(0)
伪类本质上是为了弥补常规CSS选择器的不足,以便获取到更多信息; 伪元素本质上是创建了一个有内容的虚拟容器; CSS3中伪类和伪元素的语法不同; 伪类 :link :hover 伪元素 ::before ::after 可以同时使用多个伪类,而只能同时使用一个伪元素; 其中伪类和伪元素的根本区别在于:它们是否创造了新的元素,, 这个新创造的元素就叫 "伪无素" 。 伪元素/伪对象:不存在在DOM文档中,是虚拟的元素,是创建新元素。 这个新元素(伪元素) 是某个元素的子元素,这个子元素虽然在逻辑上存在,但却并不实际存在于文档树中.     伪类:存在DOM文档中,(无标签,找不到, 只有符合触发条件时才能看到 ), 逻辑上存在但在文档树中却无须标识的“幽灵”分类。   6. 因为伪类是类似于添加类所以可以是多个,而伪元素在一个选择器中只能出现一次,并且只能出现在末尾   7. W3C中对于二者应用的描述(描述太模糊, 不容易理解): 伪类:用于向某些选择器添加特殊的效果 伪元素:用于将特殊的效果添加到某些选择器(标签
发表于 2020-04-13 16:42:46 回复(0)
每条选择器最多只能出现一个伪元素 A为什么正确
不是经常用双伪元素 :before,:after 来设置内容么,求解
发表于 2019-12-31 16:13:29 回复(5)
伪元素::/伪类:
发表于 2023-10-30 17:14:19 回复(0)
伪元素beforeafter
发表于 2022-04-20 18:58:38 回复(0)
把我绕晕了,难道是:nth-child(an+b)中;n从0开始       (an+b)从1开始,an+b>1么?
发表于 2022-02-19 18:05:38 回复(0)
真的邪门,就不能统一点吗。一会从1一会从0,眼睛都花了
发表于 2022-02-17 09:28:23 回复(0)
歧义题吗,出题人小学文凭?
发表于 2021-08-14 14:31:03 回复(0)