造型<a> tag and <b> tag in text control.htmlText using css</b></a>

时间:2009-04-13 13:46:14

标签: css flex

我有这个mxml:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
    <mx:htmlText>
        <![CDATA[
            <a href="foo">link me</a><b>bold me</b>
        ]]>
        </mx:htmlText>
    </mx:Text>
</mx:Application>

(实际上,html内容来自xml文件。)我想给链接一个颜色。所以我在我的css文件中有这个:

a { color:#339900; }

但我收到警告:“未处理CSS类型选择器'a',因为该类型未在应用程序中使用。”

我也尝试过:

a:link { color:#339900; }

并且警告更改为:“不支持CSS选择器条件类型:':link'

根据live docs,似乎我应该能够做到这两件事。我错过了什么?


此外,我使用的是没有粗体的字体,但我想使用fontThickness属性创建一个。当我将它应用于整个对象或类时,我已经将它工作了,因此:

.thickenMe { fontThickness: 150; }

我想将它应用于[b]标签,但我收到与[a]类似的警告。

4 个答案:

答案 0 :(得分:3)

根据您的描述,听起来您正试图将样式放在Flex应用程序的样式表中。 这不起作用。您正在使用的样式表用于设置应用程序的样式,而不是应用程序中的html内容。

如果要在htmlText块中渲染样式文本,请遵循此处描述的模式:

Flex 3 - Applying cascading style sheets

答案 1 :(得分:2)

使用StyleSheet :: parseCSS导入自定义CSS定义,然后导入mx:Text的styleSheet属性以附加它。

var ss : StyleSheet = new StyleSheet;
ss.parseCSS("a{color:#2222ff;} a:hover{text-decoration: underline;}");
tmsg.styleSheet=ss;
tmsg.htmlText="<a href=\"http://blabla.bla\">blabla.bla</a>";

答案 2 :(得分:0)

您需要将css应用于htmlText对象的内容而不是整个应用程序。 您可以在htmlText对象上设置“styleSheet”属性或类似属性。

答案 3 :(得分:0)

你可以这样做

一些文字http://www.orf.at'> http://www.orf.at一些文字