你可以使用CSS来选择和设置一个段落内的字符串样式吗?

时间:2012-03-08 15:12:34

标签: css css3 css-selectors

是否可以仅使用css选择段落中的特定单词?因此,例如在句子“你好我的名字是昵称,大家好”,是否有可能将“hello”这个词定位在它出现的地方并添加规则,例如随时改变你好的颜色?我不想在每个出现的hello周围添加span标记。

如果可能,我想只在css中这样做。 css3可以使用。

6 个答案:

答案 0 :(得分:1)

不,你需要使用javascript。或者,如果您使用的是PHP / ASP等,则可以在页面呈现之前自动在任何指定的单词周围添加跨度。

答案 1 :(得分:1)

如果您知道该段落的内容并且有耐心,则可以在span标记中包含您需要突出显示的每个单词。为它们分配相同的类,然后设置样式。

答案 2 :(得分:1)

CSS有2 *伪元素:

::first-line::first-letter。这些是仅定位Tag的innerhtml的一部分的唯一可能性。

(* ofc它有更多,我的意思是只选择innerhtml的一部分。)

答案 3 :(得分:1)

对于任何特定单词或片段的精细控制,你必须将其包装成跨度并设置跨度样式,正如其他人所说。

但是,自CSS2以来,还有:first-line:first-letter个伪元素。因此,例如,您可以让第一个字母具有不同的字体大小,并且整个第一行具有不同的颜色,例如this

p:first-letter {font-size: 30px;}
p:first-line {color: #FF0000;}

答案 4 :(得分:0)

我知道无法定位textnode,你可以使用Javascript来实现。用span标记包装Hello字,并将属性设置为SPAN标记

答案 5 :(得分:0)

CSS选择器处理标签或伪指令,而不是查询文本。检查参考http://www.w3.org/TR/selectors/,也许你可以在这里找到有用的东西。