Style htmlText with CSS in your Actionscript | Flash/CSS Tutorial

Google Buzz

Overview

In flash you can have text areas that are rendered as html. You can also apply formatting styles to this html. This will show a simple example on how to apply css to html text in flash. I’ll do a simple anchor tag style to show you the ropes. We’ll style a link to be underlined and then when you hover or mouse over it, we’ll change the color. It’s a design style that is widely used online in html, but flash doesn’t natively do it. As a matter of fact, flash doesn’t even natively underline links.

Steps

  1. Import TextField.StyleSheet
  2. create a style sheet object: var myCSS:StyleSheet = new StyleSheet();
  3. Specify your styles: myCSS.setStyle(“a:link”, {color:’#0000CC’,textDecoration:’underline’});
  4. Ensure that the text box is html enabled: myHTML.htmlText = myHTMLText;
  5. Apply the style sheet object to your html text box: myHTML.styleSheet = myCSS;

Example

Get Adobe Flash player

Actionscript

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import TextField.StyleSheet;

myHTMLText = "
<h1>HTML Text (sample header)</h1>
Here is some <em>sample</em> <strong>html text</strong> "
+
"filling a text box <a href="http://blog.circlecube.com">this link to circlecube</a> and example headers"+
"<h1>Header h1</h1><h2>Header h2</h2>";

//create and initialize css
var myCSS:StyleSheet = new StyleSheet();
myCSS.setStyle("body", {fontSize:'15',color:'#000066'});
myCSS.setStyle("h1", {fontSize:'25',color:'#000000'});
myCSS.setStyle("h2", {fontSize:'19',color:'#000000'});
myCSS.setStyle("a:link", {color:'#0000CC',textDecoration:'none'});
myCSS.setStyle("a:hover", {color:'#0000FF',textDecoration:'underline'});
myCSS.setStyle("b", {fontWeight:'bold'});
myCSS.setStyle("em", {fontWeight:'bold'});

//ensure html support and apply css to it
myHTML.html = true;
myHTML.styleSheet = myCSS;
myHTML.htmlText = myHTMLText;
//resize the textbox to exact fit the text in it
//myHTML.autoSize = "left";

Download

open source flashhtmlcss.zip

  • del.icio.us
  • Digg
  • email
  • Facebook
  • FriendFeed
  • Google Bookmarks
  • Hexosearch
  • LinkedIn
  • Mixx
  • Print
  • PDF
  • StumbleUpon
  • Technorati
  • Twitter
  • RSS
This entry was posted in tutorial and tagged , , , , , , . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

15 Comments

  1. Posted 6 June 2008 at 12:58 pm | Permalink

    Excellent improvement.

  2. Posted 6 September 2008 at 4:50 pm | Permalink

    Thank you, very straightforward example!

  3. Hz
    Posted 20 October 2008 at 2:43 pm | Permalink

    I don’t know but i don’t see your tag working.. looks bold to me and not italic.

  4. Posted 20 October 2008 at 9:54 pm | Permalink

    My bad…
    line 17 in the source code should read:

    1
    myCSS.setStyle("em", {fontStyle:'italic'});

    Thanks for pointing that out Hz

  5. mata
    Posted 27 October 2008 at 4:39 pm | Permalink

    cool one thanks

  6. Posted 14 January 2009 at 9:34 am | Permalink

    Great tutorial, was a great help,

    Many thanks,

    Saf

  7. David
    Posted 15 May 2009 at 1:20 pm | Permalink

    Thanks for the tutorial. I think you should mention that this tutorial is for AS2 somewhere though.

    • Posted 17 May 2009 at 10:05 am | Permalink

      @David – Correct, sorry I didn’t mention it. This is AS2 version, AS3 isn’t too different, I’ll have to put together an article for that. Thanks

  8. luigi
    Posted 8 July 2009 at 6:24 am | Permalink

    hi and thanks
    is possible pick the text from a .txt file?

  9. circlecube
    Posted 8 July 2009 at 3:32 pm | Permalink

    @Luigi – Yes, this is possible, I don't remeber the syntax off the top of my head, but a well thought google search should do the trick, good luck!

  10. karstor
    Posted 9 December 2009 at 12:50 pm | Permalink

    dude, this is the best, simplest and most straight-forward tutorial I have come accross on the Web. Very well done and many thanks!

  11. Gav
    Posted 8 January 2010 at 9:27 pm | Permalink

    You didn’t define data type for myHtml.

    • Posted 8 January 2010 at 11:01 pm | Permalink

      @Gav – no requirement to define the datatype in as2. But in as3 that would be needed, should I write a new tut on how to do this in as3?

      • Gav
        Posted 10 January 2010 at 1:04 pm | Permalink

        Thanks Even for your prompt reply, it will be highly appreciated if you could write a new one.

      • Gav
        Posted 10 January 2010 at 1:07 pm | Permalink

        And I also wish to store the html text in XML file, in that case I can maintain html text dynamically. Can I apply CSS to the html text which I get from XML file? Thanks a lot, Evan you are awesome guy and very helpful!

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>