텍스트 필드에는 일반 텍스트 또는 HTML 형식의 텍스트가 포함될 수 있습니다. 일반 텍스트는 인스턴스의 text 속성에 저장되고, HTML 텍스트는 htmlText 속성에 저장됩니다.
CSS 스타일 선언을 사용하여 서로 다른 여러 텍스트 필드에 적용할 수 있는 텍스트 스타일을 정의할 수 있습니다. CSS 스타일 선언은 응용 프로그램 코드에서 만들거나 런타임에 외부 CSS 파일에서 로드할 수 있습니다.
flash.text.StyleSheet 클래스는 CSS 스타일을 처리합니다. StyleSheet 클래스는 제한된 CSS 속성 집합을 인식합니다. StyleSheet 클래스에서 지원하는 스타일 속성의 자세한 목록은 ActionScript 3.0 참조 설명서의 flash.textStylesheet 항목을 참조하십시오.
다음 예제에서 볼 수 있는 것과 같이 코드에서 CSS를 만들고 StyleSheet 객체를 사용하여 해당 스타일을 HTML 텍스트에 적용할 수 있습니다.
var style:StyleSheet = new StyleSheet();
var styleObj:Object = new Object();
styleObj.fontSize = "bold";
styleObj.color = "#FF0000";
style.setStyle(".darkRed", styleObj);
var tf:TextField = new TextField();
tf.styleSheet = style;
tf.htmlText = "<span class = 'darkRed'>Red</span> apple";
addChild(tf);
StyleSheet 객체를 만든 후 예제 코드에서 스타일 선언 속성 집합을 포함할 단순 객체를 만듭니다. 그런 다음 StyleSheet.setStyle() 메서드를 호출하여 “.darkred”라는 스타일 시트에 새 스타일을 추가합니다. 그 다음에는 StyleSheet 객체를 TextField styleSheet 속성에 할당하여 스타일 시트 서식을 적용합니다.
CSS 스타일의 효과가 나타나려면 htmlText 속성을 설정하기 전에 TextField 객체에 스타일 시트를 적용해야 합니다.
설계상 스타일 시트가 있는 텍스트 필드는 편집할 수 없습니다. 입력 텍스트 필드가 있고 해당 필드에 스타일 시트를 할당하는 경우 해당 텍스트 필드에 스타일 시트의 속성이 표시되지만 사용자가 새 텍스트를 입력할 수는 없습니다. 또한 스타일 시트가 할당된 텍스트 필드에는 다음 ActionScript API를 사용할 수 없습니다.
TextField.replaceText() 메서드
TextField.replaceSelectedText() 메서드
TextField.defaultTextFormat 속성
TextField.setTextFormat() 메서드
텍스트 필드에 할당된 스타일 시트가 있지만 나중에 TextField.styleSheet 속성을 null로 설정하는 경우 TextField.text 및 TextField.htmlText 속성의 내용이 모두 해당 내용에 태그와 특성을 추가하여 이전에 할당된 스타일 시트의 서식을 통합합니다. 원래 htmlText 속성을 유지하려면 한 변수에 해당 속성을 저장한 후 스타일 시트를 null로 설정합니다.