// forked from tkinjo's TextField で CSS 適用済み HTML を表示する package { /** * HTML タグに関してはあえて対応していないタグを使用(もちろん推奨されません)。 * id 属性は使用できないっぽい? * * Flash Player で対応している HTML タグ一覧 * http://livedocs.adobe.com/flex/3_jp/langref/flash/text/TextField.html#htmlText * * Flash Player で対応している CSS プロパティ一覧 * http://livedocs.adobe.com/flex/3_jp/langref/flash/text/StyleSheet.html */ import flash.display.Loader; import flash.display.Sprite; import flash.events.Event; import flash.net.URLLoader; import flash.net.URLRequest; import flash.text.StyleSheet; import flash.text.TextField; [SWF(width="465", height="465", frameRate="60", backgroundColor="0xffffff")] /** * ... * @author tkinjo */ public class Main extends Sprite { /** * */ public function Main() { var htmlTextField:TextField = new TextField(); htmlTextField.width = stage.stageWidth; htmlTextField.height = stage.stageHeight; htmlTextField.multiline = true; //フィールドが複数行テキストフィールドであるかどうかを示します。 htmlTextField.condenseWhite = true; //HTML テキストが含まれるテキストフィールド内の余分な空白(スペース、改行など)を削除するかどうかを指定するブール値です。 addChild( htmlTextField ); //var htmlLoader:URLLoader = new URLLoader(); //htmlLoader.addEventListener( Event.COMPLETE, function( event:Event ):void { // //htmlTextField.htmlText = htmlLoader.data; //} ); // //var cssLoader:URLLoader = new URLLoader(); //cssLoader.addEventListener( Event.COMPLETE, function( event:Event ):void { var styleSheet:StyleSheet = new StyleSheet(); //styleSheet.parseCSS( cssLoader.data ); styleSheet.parseCSS( cssText ); htmlTextField.styleSheet = styleSheet; // スタイルシート読み込み後にテキストフィールドのテキストを設定しなければスタイルシートは設定されない。 //htmlLoader.load( new URLRequest( "assets/news.html" ) ); //} ); //cssLoader.load( new URLRequest( "assets/style.css" ) ); htmlTextField.htmlText = htmlText; } private const cssText:String = 'dl{display:block;font-family:"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"MS Pゴシック","MS PGothic",sans-serif;}dt{display:block;font-weight:bold;}dd{display:block;text-indent:10;}'; private const htmlText:String = '<dl><dt>2009年06月01日</dt><dd>a</dd><dt>2009年06月02日</dt><dd>b<br/>c<br/>d</dd><dt>2009年06月03日</dt><dd>e<br/>f</dd><dt>2009年06月04日</dt><dd>g<br/>h</dd></dl>'; } } forked from: TextField で CSS 適用済み HTML を表示する