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

结合CSS属性和伪元素选择器?

汪才英
2023-03-14
问题内容

如何将伪元素选择器(:after)与属性选择器([title])组合在一起?

我尝试使用div[title]:after,但这在Chrome中不起作用。

HTML:

<div title="foo">This div has a title.</div>
<div>This div does not have a title.</div>

CSS:

div:after {
    content: "NO";
}
div[title]:after {
    content: "YES";
}

在每个div的末尾显示“ YES”,第二个div之后应显示“ NO”。

我正在运行Chrome 17.0.963.38。在Safari 5.1.2中似乎可以正常工作。


问题答案:

这看起来像个错误,终于被报道了。如果您为样式表中的div[title]任何位置 添加CSS规则并至少包含一个声明,那么该div[title]:after规则将神奇地适用。例如:

div:after {
    content: "NO";
}
div[title] {
    display: block;
}
div[title]:after {
    content: "YES";
}

似乎也与第二个div属性是否具有某些HTML属性有关,如下面的注释所示。



 类似资料:
  • 问题内容: 通用选择器是否会影响伪元素,例如和? 让我举一个例子: 执行此操作时: ......没有上述声明包括自动/影响伪元素,如和呢? 或者,为了影响诸如和的伪元素,必须声明这一点? 这有意义吗? 我一直只使用伪元素,而从来没有任何问题。但是我看到许多教程在做,但是它们从没有真正解释为什么将它们包含在声明中。 问题答案: 不,通用选择器不影响伪元素(通过继承间接除外,因为伪元素通常作为实际元素

  • 伪元素选择器,并不是基于真正的元素,而是基于元素当前所具有的特性来选取元素。由于这些元素本身并不存在于文档中,只是基于元素的抽象,因此称作伪元素。 伪元素选择器是CSS 中已经定义好的选择器,不能由用户随便起名,只能按CSS规定的标准格式使用。语法格式为: 选择器:伪元素 { 属性: 值 } 伪元素选择器在CSS中一直存在,但CSS3对伪元素进行了一定的调整,把选择器和伪元素之间冒号,由CSS1和

  • 问题内容: 是否可以通过CSS5的HTML5数据属性(例如)来选择元素? 问题答案: 如果您想使用属性选择器,请确定为什么: 我可以链接到文档中介绍各种可用于各种场景的属性选择器。请注意,尽管自定义数据属性是“新的HTML5功能”, 浏览器通常在支持非标准属性方面没有任何问题,因此您应该能够使用属性选择器对其进行过滤;和 您也不必担心CSS验证,因为CSS不在乎非命名空间的属性名称,只要它们不破坏

  • 问题内容: 我想选择伪元素 这是我的CSS: 码 问题答案: 直接绑定到伪元素是不可能的,因为它们不是DOM的一部分,但是可以通过绑定到父元素并测试与作用于该元素的元素相关的偏移来近似达到预期的效果: 以下显示为,其中单击“ ELEMENT”和“ ++”分别会触发不同的行为:

  • 主要内容:1. ::after,2. ::before,3. ::first-letter,4. ::first-line,5. ::selection,6. ::placeholder伪元素是一个附加在选择器末尾的关键词,通过伪元素您不需要借助元素的 ID 或 class 属性就可以对被选择元素的特定部分定义样式。例如通过伪元素您可以设置段落中第一个字母的样式,或者在元素之前、之后插入一些内容等等。 在 CSS1 和 CSS2 中,伪元素的使用与伪类相同,都是使一个冒号 与选择器相连。但在 C

  • CSS伪元素是用来添加一些选择器的特殊效果。 语法 伪元素的语法:selector:pseudo-element {property:value;} CSS类也可以使用伪元素:selector.class:pseudo-element {property:value;} :first-line 伪元素 "first-line" 伪元素用于向文本的首行设置特殊样式。 在下面的例子中,浏览器会根据 "