我的源代码如下。
我想仅控制字体颜色css。
我像这样插入HTML。
<span class="tag1">I love <span class="tag2">apple</span></span><span class="tag2"> pie</span>.
对于tag1,我希望“我爱苹果”变成红色字体。
但只有“我爱”才会变成红色字体。
我该如何解决?
doc.getStyleSheet().addRule(".tag1 {color : red;}");
try {
kit.insertHTML(doc, doc.getLength(), "<span class=\"tag1\">I love <span class=\"tag2\">apple</span></span><span class=\"tag2\"> pie</span>.", 0, 0, null);
} catch (IOException e1) {
e1.printStackTrace();
} catch (BadLocationException e1) {
e1.printStackTrace();
}
答案 0 :(得分:0)
这是因为当.tag1
在<span class="tag2">apple</span>
内span
时,您只将红色设置为.tag1
,因此它不会直接获取颜色css属性。
正如@hoosssein所说,如果你有span的默认(或任何)css颜色值,它将不会使用父的样式,这就是这里发生的事情。
您需要添加:
doc.getStyleSheet().addRule(".tag1 span {color : red;}");
因此.tag1 cls中的每个范围也会有红色。