2012-03-08 69 views
0

是否可以使用css挑选和设置段落中的某个单词?因此,例如在句子“你好,我的名字是缺口,你好,你好”这个句子中,是否有可能将单词“hello”定位在任何位置,并添加一条规则,例如在出现时更改hello的颜色?我不希望在出现的每个问候语中添加一个span标签。你可以使用CSS来选择和设置段落内的字符串吗?

我想这样做只在可能的情况下CSS。 css3很好用。

+0

http://stackoverflow.com/questions/1275776/is -there-a-css-selector-to-select-text-inline-blocks-within-rectangular-box – 2012-03-08 15:14:04

+0

我怀疑这是可能的,但我期待着你可能得到的创造性答案。 – Bazzz 2012-03-08 15:14:49

+0

你不想使用''?那么,你很幸运,你可以使用''! – 2012-03-08 20:20:47

回答

1

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

+0

感谢 - 结束了使用PHP并做了一个查找/替换,用单词plus span标签替换单词,就像您建议的那样:) – nick501414 2012-03-13 16:50:13

+0

很高兴能够提供帮助!如果此答案回答了您的问题,请不要忘记将其标记为帮助未来用户找到您的问题的答案。 – Dave 2012-03-13 18:23:52

0

我知道它不可能定位textnode,你可以通过使用Javascript来完成。用span标签包装Hello字词并将属性设置为SPAN标签

1

如果你知道para的内容并且有耐心,你可以将每一个你需要在span标记中突出显示的单词换掉。将它们分配给同一个班级,然后对其进行设计。

1

CSS有2 *伪元素:

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

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

+0

+1因为你击败了我几秒钟! – bfavaretto 2012-03-08 20:16:31

+0

............;) – Christoph 2012-03-08 20:20:14

1

对于在任何特定单词的精细控制,或片段,你必须把它包装成一个像其他人所说的那样跨度和设计跨度。

但是,也有:first-line:first-letter伪元素,自CSS2以来可用。因此,举例来说,你可以第一个字母有不同的字体大小,而整个第一线有不同的颜色,像this

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

这些不是伪类,它们是伪元素。自从CSS1的平静日子以来,这些功能也已经可用(尽管直到IE5.5才得到支持),因此也是同类产品中的前两种。在CSS2中引入的伪元素是':before'和':after'。 – BoltClock 2012-03-09 01:44:47

+0

感谢您提供的信息!我一直对伪类和元素命名感到困惑。现在我读了规格。 [CSS1规范](http://www.w3.org/TR/CSS1/#pseudo-classes-and-pseudo-elements)对此没有太多的信息,但[CSS2规范](http:// www .w3.org/TR/CSS2/selector.html#pseudo-elements)非常清楚。 – bfavaretto 2012-03-09 02:05:41

相关问题