【问题标题】:Rendering HTML text with an HTML tag with a 'style' attribute使用带有“样式”属性的 HTML 标记呈现 HTML 文本
【发布时间】:2011-08-08 09:17:09
【问题描述】:

我正在使用 spark RichText 组件在我的 Flex Web 应用程序中呈现 html 文本。 给我的 html 文本是带有 'style' 属性的 HTML 元素,具有所有样式。 例如:-

<p style="text-align: left;"><b>Hello</b> <i>this is a sample</i>
<font style="color: #ff0000;">HTML text</font></p><p style="text-align: right;">
<u>to be rerndered in FLEX</u></p>

现在,Flex spark RichText 不会显示应用于文本的所有这些样式。

但是,如果我的 HTML 具有内联属性属性(没有“样式”属性),例如:-

<font color="#ff0000">Hello</font>

通过以上,我得到了想要的样式。

任何解决此问题并呈现样式的指针/解决方案将不胜感激。

谢谢,

曼吉里什

【问题讨论】:

  • 你找到解决方案了吗?

标签: html css apache-flex actionscript-3 flex4


【解决方案1】:

尝试使用&lt;span style="color:#FF0000;"&gt;HTML text&lt;/span&gt; 看看是否有什么不同?我不太确定 Flex 渲染较旧的 HTML 标签的效果如何。此外,&lt;font&gt; 无论如何都已被弃用。

【讨论】:

  • 您好,感谢您的回复,但正如我所提到的,任何带有 'style' 属性的元素中的文本都不会反映在 'style' 属性中声明的任何样式...
  • 对不起,我误读了这个问题,由于包含&lt;font color="#ff0000"&gt;Hello&lt;/font&gt;,我认为它只是字体标签。是不是一定要用样式标签,不能在元素上使用内联css&classes吗?
  • 是的,因为...我的应用程序是一个客户端应用程序,它从服务器获取要显示的 HTML。我无法更改服务器向我提供 HTML 的方式,但我正在寻找解决方案(如果有的话)来解决 flex 客户端本身的这个问题。
【解决方案2】:

如果您的 css 已修复,您可以使用 StyleSheet Object

这是一个教程:http://learnola.com/2008/12/03/actionscript-3-tutorial-using-html-and-css/

如果您需要更多信息,请在 cmets 中询问。

【讨论】:

  • 我不确定 StyleSheet 对象是否是他想要的。另外,他正在使用具有不同方法的 TLF。
【解决方案3】:

简短的回答,TLF 不支持我所知道的那种样式,但您可以随时尝试转换它以查看会发生什么:

var textflow:TextFlow = TextConverter.importToFlow(yourHTMLString, TextConverter.TEXT_FIELD_HTML_FORMAT);

但是,我偷偷怀疑它不会正确转换样式,并且可能会完全忽略它。我能想到的唯一解决方案是

  1. 有一种自定义方式来解析 html 并获取样式并将其设置在 textflow 上或
  2. 将“服务器”html 修复为与 flex TLF(内联样式)兼容

我个人更喜欢第二种选择,因为它更容易在客户端上实现。

【讨论】:

    猜你喜欢
    • 2019-08-05
    • 1970-01-01
    • 2020-03-12
    • 1970-01-01
    • 2019-02-20
    • 2013-05-16
    相关资源
    最近更新 更多