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

我可以使用同级组合器定位:before或:after伪元素吗?

诸经略
2023-03-14
问题内容

有什么原因导致此CSS无法正常工作?

a[href^="http"]:after {
    content:"";
    width:10px;
    height:10px;
    display:inline-block;
    background-color:red;
}

a[href^="http"] img ~ :after {
    display:none;
}

..在这个HTML上?

<a href="http://google.com">Test</a>
<a href="http://google.com">
    <img src="https://www.google.com/logos/classicplus.png">
</a>

这个想法是在匹配的锚标签上有一个伪元素。但是我不希望它适用于包装图像的锚标签。而且由于我无法使用诸如来定位锚a < img,所以我想也许可以通过找到一个与之类似的图像来定位:after伪元素。

任何见识将不胜感激。


问题答案:

您无法定位:之后,因为它的内容未在DOM中呈现且无法对其进行操作-为此,必须重新呈现DOM,而CSS不能像这样进行操作。

生成的内容不会更改文档树。特别是,它不会反馈给文档语言处理器(例如,用于重新解析)。

我建议您使用JavaScript为您完成这项工作。



 类似资料:
  • 问题内容: 我正在尝试在字段上使用CSS伪元素,但是它不起作用。如果我将它与一起使用,则可以正常运行。 这有效(在“ buu!”之后和“更多”之前放置笑脸) 这是行不通的-它只将someValue涂成红色,但没有笑脸。 我究竟做错了什么?我应该使用另一个伪选择器吗? 注意:我无法在周围添加,因为它是由第三方控件生成的。 问题答案: 并且在Internet Explorer 7及更高版本中的任何元素

  • 问题内容: 这是我最近的问题的补充:是否可以使用伪元素来使包含元素包裹在绝对定位的元素周围(如clearfix)? 我正在尝试使用伪元素来“清除”绝对定位的图像。我已经尽力使相同的图像显示在幻灯片后面,但似乎无法对插入的图像应用宽度。我疯了吗,还是不能将宽度应用于内容为url(img/image.jpg)的伪元素?我尝试了display:block等的各种变化,但无济于事… 我需要将伪元素图像的宽

  • 问题内容: 我正在尝试为HTML5中的提出一些好的默认样式,并尝试了以下方法: las,内容从不显示。对于伪元素,双冒号和单冒号都不是问题。我都尝试过。拥有一个伪元素和一个伪类也不是问题。我已经尝试过不使用和了。在Chrome,Safari和Firefox中,我得到了相同的行为(Firefox没有和类,但是我尝试了不使用它们。) 在伪元素工作细,,,和元素-其中一些是块元件和一些是内联。 因此,我

  • 问题内容: 同一元素是否可以有多个伪元素? 我正在尝试使用jQuery将上述样式应用于相同的元素,但仅应用了最新样式,从未应用过这两种样式。 问题答案: 在CSS2.1中,一个元素在任何时候最多只能具有任何一种伪元素。(这意味着一个元素可以同时具有a 和一个伪元素- 每种元素不能超过一个。) 结果,当您有多个匹配同一元素的规则时,它们将全部层叠并应用于单个伪元素,就像普通元素一样。在您的示例中,最

  • 问题内容: 我无权访问页面的HTML或PHP,只能通过CSS进行编辑。我一直在网站上进行修改,并通过或伪元素添加文本,并且发现转义Unicode应该用于添加内容之前或之后的空格等内容。 如何在属性中添加多行? 在示例中,HTML换行符 仅用于可视化 我想要实现的目标: 问题答案: 该属性指出: 作者可以通过在“ content”属性之后的字符串之一中写入“ \ A”转义序列来在生成的内容中包含换行

  • 问题内容: 我想将一些SVG图像放置在某些选定元素之前。我正在使用JQuery,但这无关紧要。我想将:before元素设置为: 如果我如上所示进行操作,它将仅显示字符串。我检查了规格,似乎对内容有一些限制。是否可以解决此限制?只有内容CSS与我的问题有关。 问题答案: 是的你可以!刚刚测试过,效果很好,太棒了!它仍然不能与html一起使用,但可以与svg一起使用。 在我的index.html中,我