【问题标题】:Java Programing about HTMLEditorKit关于 HTMLEditorKit 的 Java 编程
【发布时间】:2013-08-07 05:13:59
【问题描述】:

我的源代码如下。

我只想控制 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();
    }

【问题讨论】:

  • 你能写出每个类的属性吗?我的意思是tag1tag1

标签: java html css


【解决方案1】:

发生这种情况是因为您仅将红色设置为.tag1,而&lt;span class="tag2"&gt;apple&lt;/span&gt;span.tag1 内,因此它不会直接获取颜色css 属性。 正如@hoosssein 所说,如果你有一个默认(或任何)css 颜色值作为 span,它不会使用父级的样式,这就是这里发生的事情。

你需要添加:

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

所以 .tag1 cls 中的每个 span 也会有红色。

【讨论】:

  • 是否表示“doc.getStyleSheet().addRule(".tag1 span {color : red;}");" ??
  • 不正确。如果我在元素 B 中有元素 A,则元素 B 中未在 A 中指定的所有属性都将继承到元素 A(如果可能)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-05-04
  • 2013-03-14
  • 1970-01-01
  • 2011-03-24
  • 2012-01-03
  • 1970-01-01
  • 2015-05-27
相关资源
最近更新 更多