我的源代码如下。
我只想控制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();
}发布于 2013-08-07 04:34:35
这是因为当<span class="tag2">apple</span>是.tag1中的span时,您只将red color设置为.tag1,所以它不会直接获取color css属性。正如@hoosssein所说,如果您为span设置了默认(或任何) css颜色值,它将不会使用父对象的样式,这就是这里发生的情况。
您需要添加:
doc.getStyleSheet().addRule(".tag1 span {color : red;}");因此,.tag1 cls中的每个跨度也将是红色的。
https://stackoverflow.com/questions/18089892
复制相似问题