首先,我知道as3不喜欢css或html,并且在这个论坛上大概有十亿个问题,但是在搜索和搜索之后,我看起来似乎无法找到像我正在经历的任何事情。请原谅我,如果这是痛苦的明显回答/已经回答了。在带有CSS的TLFTextField中的AS3 htmlText <a>和<h>标记错误
现状
- 我在Flash CS6与时间表(我知道这是不好的,但为时已晚改变)
- 该项目导入上的编码做了一个项目wordpress页面已被导出到一个RSS源,并作为一个xml文件导入到闪存
- 一个TLF文本框(我可以让它与经典文本框工作,但想尝试使它与TLF的各种原因工作)是创建并通过.stylesheet =应用加载的CSS工作表,并通过设置文本。的htmlText =
的问题
有文本的渲染一些小问题。我知道Flash不支持所有的CSS标签,但即使是基本的也不是,相当的工作。确切的问题是:
- 标题后跟一个标题(即</H1> < H2>)被合并前述标题(因此两个被格式化为< H1>),加入< P />在他们之间的标签似乎可以解决这个问题,但增加了一个换行符:/
- 粗体和斜体标签被证明是困难的,用< strong>和<>> < b>和< i>使它们自己工作,他们混在一起(像这样)他们停止工作altogethe [R
- 这是我的主要问题:链接始终是蓝色的,无论CSS怎么说,尽管一:悬停是正确的(解决这个问题,我可以与其他一切生活)
我想问题就出在我的代码的某个地方,所以这里的AS3:
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.text.TextField;
import flash.events.ProgressEvent;
import fl.text.TLFTextField;
var fonts:Array = Font.enumerateFonts();
for each (var font:Font in fonts)
{
trace(font.fontName+":"+font.fontType);
}
var rss_xml:XML = new XML();
var test_txt:TLFTextField = new TLFTextField ;
with (test_txt)
{
antiAliasType = AntiAliasType.ADVANCED;
width = 940;
height = 600;
x = 0;
y = 0;
autoSize = TextFieldAutoSize.LEFT;
wordWrap = true;
embedFonts = true;
}
var sulsc_style:StyleSheet = new StyleSheet();
var css_loader:URLLoader = new URLLoader();
css_loader.load(new URLRequest("sulsc_style.css"));
css_loader.addEventListener(Event.COMPLETE, onCSSComplete);
function onCSSComplete(e:Event):void
{
sulsc_style.parseCSS(e.target.data);
rss_xml.ignoreWhitespace = false;
var rss_loader:URLLoader = new URLLoader(new URLRequest("http://news.sulsc.org/feed"));
rss_loader.addEventListener(Event.COMPLETE,rss_loaded);
l.mode = "manual";
rss_loader.addEventListener(ProgressEvent.PROGRESS,rss_load);
}
function rss_load(e:ProgressEvent):void
{
//trace(e.bytesLoaded/(113*1024));
l.setProgress(e.bytesLoaded,(113*1024));
}
function rss_loaded(e:Event):void
{
removeChild(l);
l = null;
rss_xml = XML(e.target.data);
rss_xml.ignoreWhiteSpace = true;
var rss_raw:String = String(rss_xml);
rss_raw = rss_raw.split(":encoded").join("");
rss_raw = rss_raw.split("\n").join("");
rss_raw = rss_raw.split("</h1><h2>").join("</h1><p/><h2>");
rss_raw = rss_raw.split("</h2><h3>").join("</h2><p/><h3>");
rss_raw = rss_raw.split("</h3><h4>").join("</h3><p/><h4>");
rss_raw = rss_raw.split("</h4><h5>").join("</h4><p/><h5>");
rss_raw = rss_raw.split("<strong>").join("<b>");
rss_raw = rss_raw.split("</strong>").join("</b>");
rss_raw = rss_raw.split("<em>").join("<i>");
rss_raw = rss_raw.split("</em>").join("</i>");
rss_xml = XML(rss_raw);
test_txt.styleSheet = sulsc_style;
test_txt;
test_txt.htmlText = rss_xml.channel.item.(guid == "http://news.sulsc.org/?page_id=656").content;
addChild(test_txt);
}
下面是它的读取XML:
<h1>Heading 1</h1><p/><h2>Heading 2</h2><p/><h3>Heading 3</h3><p/><h4>Heading 4</h4><p><a title="SULSC" href="http://www.sulsc.org">Isolated link.</a></p><p>Paragraph. Lorem ipsum dolor sit amet, consectetur adipiscing elit. In nibh risus, elementum in tempor non, <a title="SULSC" href="http://www.sulsc.org">normal link</a>. Donec consequat arcu in nulla rhoncus aliquam. Fusce eu leo nunc, eget tempus risus. Aliquam imperdiet, sem non euismod blandit, nisi sapien pharetra leo, ac facilisis velit purus nec <i><b>bold italic</b></i>. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Curabitur sodales vulputate interdum. <del>Strikethrough</del> congue, purus ut rhoncus porttitor, erat velit iaculis libero, nec commodo leo dui eget ante. Vivamus volutpat sollicitudin vulputate.</p><blockquote><p>Block quote. Lorem ipsum dolor sit amet, consectetur adipiscing elit. In nibh risus, elementum in tempor non, malesuada ac nisl. Donec consequat arcu in nulla rhoncus aliquam. Fusce eu leo nunc, eget tempus risus. Aliquam imperdiet, sem non euismod blandit, nisi sapien pharetra leo, ac facilisis velit purus nec tellus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Curabitur sodales vulputate interdum. Vestibulum congue, purus ut rhoncus porttitor, erat velit iaculis libero, nec commodo leo dui eget ante. Vivamus volutpat sollicitudin vulputate.</p></blockquote><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. In nibh risus, elementum in tempor non, malesuada ac nisl. Donec consequat arcu in nulla rhoncus aliquam. Fusce eu leo nunc, eget tempus risus. <i>Italic</i> imperdiet, sem non euismod blandit, nisi sapien pharetra leo, ac facilisis velit purus nec tellus. <b>BOLD</b> aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. <a href="http://sulsc.org">Link</a> sodales vulputate interdum. Vestibulum congue, <a href="http://sulsc.org"><b><i>BOLD ITALIC LINK</i></b></a> ut rhoncus porttitor, erat velit iaculis libero, nec commodo leo dui eget ante. Vivamus volutpat sollicitudin vulputate.</p><ol><li>Numbered list</li><li>Number two</li><li>Number three</li></ol>
这里是一个的被应用的CSS:
/*
leading is line height
*/
p, ol, ul, li, body {
font-family: Fontin Sans Rg;
font-size: 12pt;
color: #666666;
text-align: justify;
}
h1 {
font-family: Nilland;
font-size: 30pt;
text-align:left;
color: #999999;
}
h2 {
font-family: Nilland;
font-size: 20pt;
color: #ff9900;
margin-left:25px;
letter-spacing: 1px;
}
h3 {
font-family: GeosansLight;
font-size: 16pt;
text-align:left;
color: #999999;
margin-left:50px;
letter-spacing: 1px;
}
h4, h5, h6 {
font-family: GeosansLight;
font-size: 14pt;
text-align:left;
color: #999999;
margin-left:75px;
letter-spacing: 1px;
}
ol, ul, li {
margin-left: 50px;
}
b-quote,blockquote {
font-family: Fontin Sans Rg;
font-style:italic;
color:#999999;
margin-left: 100px;
margin-right: 100px;
}
a, {
text-decoration: underline;
color: #666666;
}
a:hover {
color: #FF9900;
text-decoration: underline;
}
组合时,它们产生的:
如果你知道我做错了,请让我知道,但我是一个完全新手,所以外行的条款将不胜感激(:
只是一个简单的说明..在你的样式表中有'a',可能不会有帮助。 – Pebbl 2013-03-10 16:10:12