我想只使用CSS控制字体颜色。 我的HTML源代码如下。
HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
<span class="tag1">I love <span class="tag2">apple </span>pie</span>.
</body>
</html>
CSS:
我想将“我爱苹果”改为蓝色字体。
.tag1{color : blue;}
或
我想将“apple pie”改为红色字体。
.tag2{color : red;}
但是,只有“苹果派”的部分被改为带有tag2的红色字体。
我该如何解决?
答案 0 :(得分:4)
您的代码需要修改。
<span class="tag1">I love <span class="tag2">appe</span> pie</span>
您的孩子<span>
应该在父<span>
这是解决方案。
<span class="tag1">I love <span class="tag2">apple pie</span></span>
以下是 WORKING DEMO
答案 1 :(得分:3)
您必须进行以下更改
<span class="tag1">I love <span class="tag2">apple pie</span></span>
答案 2 :(得分:2)
CSS可以(只有一些非常小的例外)只选择元素
您无法选择单个文本节点。
移动与<span class="tag2">
匹配的结束标记,以便元素包含您想要更改颜色的所有文本。
<span class="tag1">I love <span class="tag2">apple pie</span></span>.
答案 3 :(得分:2)
重新排列<span>
代码。
<span class="tag1">I love <span class="tag2">apple pie</span></span>
答案 4 :(得分:2)
根据我的理解,你试图匹配这样的标签:
v________________________________________________v
<span class="tag1">I love <span class="tag2">apple</span> pie</span>.
^___________________________________^
这在HTML中无效 - 所有子标记都需要包含在父元素的范围内。
(也就是说,这也不起作用:<div><span> </div> </span>
)
如果你想用一个班级和“苹果派”影响“我爱苹果”,你需要使用更多标签:
<span class="tag1">I love <span class="tag2">apple</span></span><span class="tag2"> pie</span>.
或者有一些缩进:
<span class="tag1">
I love
<span class="tag2">
apple
</span>
</span>
<span class="tag2">
pie
</span>.
答案 5 :(得分:0)
进行以下更改:
<span class="tag1">I love <span class="tag2">apple pie</span></span>