我有短语 as Client Testimonial
,我只想更改Client
我只使用过的first-letter
,但是 css 中是否有任何方法可以更改颜色.. 请不要使用 javascript。
5 回答
怎么用:before
?
我会将文本从“Client Testimonial”更改为“Testimonial”,然后使用 CSS 应用:before
规则:
HTML:
<div class="word">Testimonial</div>
CSS:
.word {
color: black;
}
.word:before {
color: red;
content: "Client ";
}
示例:http: //jsfiddle.net/LvZt7/
正如其他人所指出的,(不幸的是*):first-word
CSS 中没有可用的伪选择器(据我目前所知,即使是版本 3 或 4)。然而,在没有 JavaScript 的情况下存在两种可能性,尽管两者都有其缺点。
第一个也是最简单的方法是将第一个单词简单地包装在一个跨度中:
<p><span>Client</span> Testimonial</p>
并使用突出显示设置跨度:
p span {
color: #f90;
}
虽然这种方法确实需要添加一个额外的元素,但在这种情况下,span
用于样式目的的元素很容易实现,并且可以跨浏览器可靠地工作。
第二个稍微脆弱一些,虽然避免添加无关span
标签,但要求您添加一个属性:
<p data-highlightword="Client">Client Testimonial</p>
使用以下 CSS:
p[data-highlightword] {
position: relative;
}
p[data-highlightword]::before {
content: attr(data-highlightword);
color: #f90;
position: absolute;
top: 0;
left: 0;
}
这种方法依赖于向单个元素添加单个属性,但确实需要额外的 CSS,并且仅适用于兼容的浏览器。现在几乎所有这些,只有 IE 8,或者可能是 9,以及以下证明是有问题的。
<p><span style="color: #c0ff33;">Client</span> Testimonial</p>
所以是的,只需将<span></span>
其设计为最适合这种情况的样式即可。
编辑:
此编辑不是针对帖子作者,而是针对刚刚学习使用 css 的人:基于“最佳实践”,应该考虑使用单独的 .css 文件以如下方式设置样式:
.client {
color: #c0ff33;
}
并像这样使用它:
<p><span class="client">Client</span> Testimonial</p>
如果您想指定更多并确定您只span
在内部使用您的样式,<p></p>
您也可以像这样引入它:
p span.client {
color: #c0ff33;
}
小提琴:http: //jsfiddle.net/LvZt7/97/
您也可以通过其他方式指定您的 p 类而不是跨度:
<p class="client"><span>Client</span> Testimonial</p>
和
p.client span {
color: #c0ff33;
}
或者只是指定所有 p span html 标记以在 span 中包含带有颜色的文本#c0ff33
:
<p><span>Client</span> Testimonial</p>
和
p span {
color: #c0ff33;
}
您可以将单词包装在 a 中span
并设置样式。正如 Henrik Ammer 在评论中所说,没有:first-word
.
我建议做这样的事情:
<span class = "redcolor">Client </span> Testimonial
CSS:
.redcolor
{
color: red
}
这样,如果你想要任何红色的东西,只需给它一个带有该类的 div/span