Tag: 伪元素

CSS:在不向特定元素添加内容之后

我无法理解CSS的行为:after属性:after 。 根据规范( 这里和这里 ): 正如它们的名字所表示的那样:before和:after伪元素指定元素的文档树内容之前和之后的内容的位置。 这似乎没有限制哪些元素可以具有:after (或:before )属性。 但是,它似乎只适用于特定的元素 … <p>工作, <img>不, <input>不, <table> 。 我可以testing更多,但重点是。 请注意,这在浏览器中看起来非常一致。 什么决定一个对象是否可以接受:before和:after属性?

如何写:hover条件为:之前和之后?

如何写:hover和:visited条件为a:before ? 我试图a:before:hover但它不工作

为什么不能将供应商特定的伪元素/类组合成一个规则集?

在CSS中,可以使用特定于供应商的伪类和伪元素(以获得最佳的跨浏览器覆盖率)的组合来在input中设置placeholder文本的样式。 这些都具有相同的基本属性(即文本样式和颜色声明)。 然而,尽pipe我不可避免地要使用相同的风格,而不考虑浏览器供应商,但似乎不可能将这些风格结合到一个以逗号分隔的select器中(就像您希望使用两个select器的其他CSS一样)相同的样式)。 作为一个例子,我倾向于使用以下四个select器来定位占位符样式: input:-moz-placeholder input::-moz-placeholder input:-ms-input-placeholder input::-webkit-input-placeholder (尽pipe:-moz-placeholder 被弃用 ,而是支持::-moz-placeholder这只发生在FireFox 19的发布中,所以目前都需要这两种方法才能获得更好的浏览器支持)。 令人沮丧的是,声明和赋予每个(相同)风格会导致CSS内部的重复。 所以,为了确保占位符文本是右alignment和斜体的,我最终会得到: input:-moz-placeholder{ font-style: italic; text-align: right; } input::-moz-placeholder{ font-style: italic; text-align: right; } input:-ms-input-placeholder{ font-style: italic; text-align: right; } input::-webkit-input-placeholder{ font-style: italic; text-align: right; } 我真正想要做的就是把它们组合成一个单独的逗号分隔的规则集: input:-moz-placeholder, input::-moz-placeholder, input:-ms-input-placeholder, input::-webkit-input-placeholder{ font-style: italic; text-align: right; } 但是,尽pipe这样做很公平,但这似乎并不奏效。 这让我担心,我不了解CSS的一些基本部分。 任何人都可以解释为什么发生这种情况?

在使用jQuery之后select和操作CSS伪元素,如:: before和::

有没有办法使用jQueryselect/操作CSS伪元素,如::before和::after (以及带有一个分号的旧版本)? 例如,我的样式表有以下规则: .span::after{ content:'foo' } 我如何使用jQuery将“foo”更改为“bar”?