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

再谈“文本修饰”和“:after”伪元素

程淮晨
2023-03-14
问题内容

我要重新提出这个问题,因为在我的情况下它的答案不起作用。

在我的印刷媒体样式表中,我想使用:after伪类在每个链接后附加URL 。

a:after {
    content: " <" attr(href) ">";
    text-decoration: none;
    color: #000000;
}

在Firefox(可能是Chrome,但不是IE8)中,text-decoration: none它会被忽略,并且下划线在URL的底部引人注目。该color然而,正确设置为黑色的网址。有没有办法做这项text-decoration工作?

的原来的问题所附固定大小的图像,而不是可变宽度的文本。它的答案使用填充和背景图像,以避免必须使用text-
decoration属性。当内容为可变宽度文本时,我仍在寻找解决方案。


问题答案:

IE8的:before和:after伪元素的实现不正确。Firefox,Chrome和Safari均根据CSS 2.1规范来实现。

5.12.3:before和:after伪元素

伪元素’:before’和’:after’可用于 元素 content之前或之后 插入 生成 的内容
。它们在生成的文本部分中说明。

级联样式表2级修订1(CSS 2.1)规范

规范指出内容应该插入在 元素的内容 之前或之后, 而不是元素 (即 content:before content
content:after
)之前或之后。因此,在Firefox和Chrome中,您遇到的文本装饰不在插入的内容上,而是在包含插入内容的父锚元素上。

我认为您的选择将使用上一个问题中建议的背景图像/填充技术,或者可能将锚元素包裹在span元素中,然后将伪元素应用于span元素。



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

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

  • 问题内容: 在此MS兼容性表上,它说IE9不支持伪元素和,但是当我尝试时,它似乎支持伪元素… 难道我做错了什么?我认为并且将是隐藏IE9中内容的好工具,而实际上却不是。 问题答案: IE8和更高版本支持CSS2伪元素和(具有传统的单冒号表示法)。它们不是CSS3的新功能。 另一方面,双冒号表示法是CSS3的新功能。IE9 确实 支持and和CSS1伪元素and的新符号。然而,展望未来,没有新的伪元

  • 问题内容: 我正在使用和CSS伪元素,并且它在 IE8 和所有现代浏览器中都可以正常工作,但在 IE7中 却不能正常工作。在 IE7中 是否存在已知的解决方法? 问题答案: 我在项目中使用的是IE8.js(http://code.google.com/p/ie7-js/),我必须将其删除,因为它在10/15秒内阻止了IE7。 为了保留用:after和:before伪元素生成的内容,而没有IE8.j

  • 问题内容: 在以下情况下,为什么:after选择器需要content属性才能起作用? 请注意,直到您指定content属性,您才看不到伪元素: 为什么这是预期的功能?您可能会认为显示块将迫使该元素显示出来。奇怪的是,您实际上可以在Web调试器中看到样式。但是,它们不会显示在页面上。 问题答案: 以下是各种W3C规范和草案的参考: 选择器级别3 伪元素’:before’和’:after’可用于在元素

  • 问题内容: 我尝试通过多种方式通过jQuery隐藏:after伪类,但没有成功,但我找到了另一种解决方案,方法是在div下添加一个包含:after内容的空div,然后将其完全隐藏,产生相同的效果。 但是我只是好奇是否有人设法找到一种隐藏:after或:before东西的方法。这是我尝试的无效的方法。 只是为了给您提供上下文,我有一个包含搜索表单等的div,并且当搜索处于活动状态时,我想在div下启