当前位置: 首页 > 面试题库 >

我应该对伪元素使用单冒号还是双冒号?

融修平
2023-03-14
问题内容

由于IE7和IE8不支持对伪元素(例如::after::first- letter)使用双冒号表示法,并且由于现代浏览器支持:after向后兼容的单冒号(例如),我应该仅使用单冒号表示法以及何时使用IE8的市场份额下降到可以忽略的水平,然后回去查找/替换我的代码库?还是我都应该同时包括:

.foo:after,
.foo::after { /*styles*/ }

如果我关心IE8用户(可怜的朋友),单独使用double似乎很愚蠢。


问题答案:

请勿 同时 使用逗号和逗号。兼容CSS 2.1(不支持CSS3)的用户代理将忽略整个规则:

当用户代理无法解析选择器时(即,它不是有效的CSS 2.1),它必须忽略选择器以及随后的声明块(如果有)。

CSS 2.1为选择器中的逗号(,)赋予了特殊含义。但是,由于不知道逗号是否会在将来的CSS更新中获取其他含义,因此即使选择器的其余部分在CSS2.1中看起来很合理,如果选择器中的任何地方出现错误,也应忽略整个语句。

您可以使用

.foo:after { /*styles*/ }
.foo::after { /*styles*/ }

另一方面,这比必要的更为冗长。现在,您可以使用单冒号表示法。



 类似资料:
  • 问题内容: 从MDN: 在CSS 3中引入了该符号,以便在伪类和伪元素之间建立区别。浏览器还接受CSS 2中引入的符号。 如果该表示法将始终被CSS3浏览器接受,那么我应该使用它,因为它适用于新旧浏览器吗? 还是应该将它们都用于旧浏览器和新浏览器,因为这种表示法不会总是被接受? 注意 :我认为我的问题不是重复项,也不是我应该对伪元素使用单冒号还是双冒号表示的重复项?因为另一个问题询问所有伪元素的单

  • 本文向大家介绍::before和:after中单冒号和双冒号的区别是什么,这两个伪元素有什么作用?相关面试题,主要包含被问及::before和:after中单冒号和双冒号的区别是什么,这两个伪元素有什么作用?时的应答技巧和注意事项,需要的朋友参考一下 区别: 伪元素在css1中已经存在当时用单冒号,css3时做了修订用双冒号 ::before ::after表示伪元素用来区别伪类。 作用: 在元素

  • 问题内容: 我有这样的字符串 我想用冒号作为分隔符,而不是双冒号。所需结果: 我正在尝试: 但我得到了错误的结果。 在此期间,我逃避,用 问题答案: 您可以继续讨论。这使用两个否定的环视(回溯和回溯),它们断言有效匹配只有一个冒号,在它之前或之后没有冒号。 解释模式: 这两种环视都是必需的,因为如果只有后向,则正则表达式引擎将匹配其中的第一个冒号(因为前一个字符不是冒号),如果只有前瞻,则第二个冒

  • 问题内容: CSS 中的双冒号()是什么意思? 例如: 问题答案: 这意味着 伪元素 选择器。这意味着右边的 元素 在普通DOM中不存在,但是可以选择。 伪元素由两个冒号(::)组成,后跟伪元素的名称。 它最初只有一个冒号,而是改为从区分其 伪类 (如,,等)。最好使用for 和伪元素,因为单个冒号具有更好的浏览器支持,即在较早的IE版本中。

  • 我想使用此模式创建一个数据帧: 代码: 但是有一些。显示抛出: 错误执行器:阶段0.0(TID 0)java中任务0.0中出现异常。lang.RuntimeException:编码时出错:java。lang.RuntimeException:scala。收集不可变$冒号$冒号不是结构架构的有效外部类型 编辑: 513和549应该是子列名而不是值。这是我期望的输出示例:

  • 我有一个类分别组成两个方法静态和非静态,根据我有限的知识提交方法接受可运行的,可调用的实例直接或通过lamba表达式。 今天我知道了,我们甚至可以直接使用双冒号调用或触发静态和非静态方法,这是在Java8中添加的。 我只是想知道这是如何工作的,我的类中没有run方法,它也没有实现runnable,甚至我也没有使用Lamba? 使用::是一个好的实践吗?还是应该传递runnable或callable