0

我的源代码如下。

我只想控制字体颜色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();
    }
4

1 回答 1

0

发生这种情况是因为您将 red color 设置为.tag1only,when <span class="tag2">apple</span>is a spaninside .tag1,因此它不会直接获取 color css 属性。正如@hoosssein 所说,如果您有一个默认(或任何)跨度的css 颜色值,它将不会使用父级的样式,这就是这里发生的情况。

您需要添加:

doc.getStyleSheet().addRule(".tag1 span {color : red;}");

因此 .tag1 cls 中的每个跨度也将具有红色。

于 2013-08-06T20:34:34.667 回答