Руководство по actionscript. часть 5, стр. 098

Таблица 27.5. Теги языка HTML, поддерживаемые языком ActionScript

Тег Описание Атрибуты Описание Эквивалентная переменная экземпляра класса TextFormat

1 2 3 4 5

Определяет гипертекстовую ссылку HREF Задает цель гипертекстовой ссылки url

TARGET Определяет окно или фрейм гипертекстовой ссылки target

Задает отображение символа с использованием полужирного начертания Отсутствует bold



Вызывает разрыв строки в теле текста; функционально эквивалентен служебной последовательности \п Отсутствует Отсутствует

1 2 3 4 5

Определяет информацию о шрифте FACE Определяет название шрифта font

SIZE Задает размер шрифта, в пунктах size

COLOR Определяет цвет шрифта в виде 24-битного целого шестнадцатерично-го числа, которому предшествует знак фунта (#). Например, красный цвет записывается как #FF0000 color

KERNING Указывает, нужно ли использовать кернинг для пар символов (1 означает «использовать», 0 — «не использовать») kerning

LETTERSPACING Определяет расстояние между буквами (то есть тре-кинг), в пикселах letterSpacing

Задает отображение символа с использованием курсива Отсутствует italic

Определяет отображаемый элемент, вставляемый в текстовое поле SRC Местоположение элемента (изображение, SWF-файл или символ клипа), вставляемого в текстовое поле Отсутствует

WIDTH Необязательная ширина вставляемого элемента Отсутствует

HEIGHT Необязательная высота вставляемого элемента Отсутствует

ALIGN Необязательное выравнивание вставляемого элемента по горизонтали Отсутствует

HSPACE ‘ Необязательное пространство по горизонтали, окружающее вставляемый элемент Отсутствует

VSPACE Необязательное пространство по вертикали, окружающее вставляемый элемент Отсутствует

Таблица 27.5 (продолжение)

1 2 3 4 5

ID • Определяет необязательный идентификатор, по которому можно обращаться к вставляемому элементу через метод экземпляра getlmage-Reference() класса TextField Отсутствует

CHECKPOLICYFILE Указывает, требуется ли проверка файла политики безопасности перед обращением к элементу в виде данных (см. гл. 19) Отсутствует

Определяет абзац, перед которым отображается маркер. Стоит отметить, что изменить форму маркера невозможно, а теги

    или не требуются Отсутствует bullet

    Определяет абзац ALIGN Определяет выравнивание абзаца по горизонтали (по левому, правому краю, по центру или по ширине) align

    CLASS Определяет класс CSS, применяется вместе с таблицами стилей Отсутствует

    Помечает произвольный фрагмент текста, который может быть отформатирован с помощью таблицы стилей CLASS Определяет класс CSS, применяется вместе с таблицами стилей Отсутствует

    Определяет форматирующую информацию для фрагмента текста LEFTMARGIN Определяет расстояние по горизонтали в пикселах между левой границей текстового поля и левым краем абзаца leftMargin

    RIGHTMARGIN Задает расстояние по горизонтали в пикселах между правой границей текстового поля и правым краем абзаца rightMargin

    1 2 3 4 5

    BLOCKINDENT Определяет расстояние в пикселах, на которое смещается абзац относительно левой границы текстового поля blocklndent

    INDENT Определяет расстояние в пикселах, на которое смещается первая строка относительно левой границы текстового поля. indent

    LEADING Определяет величину промежутка по вертикали в пикселах между строками текста leading

    TABSTOPS Определяет шаги табуляции по горизонтали, в пикселах tabStops

    Задает отображение символа с использованием подчеркивания Отсутствует underline

    Вообще говоря, использование тегов языка HTML, перечисленных в табл. 27.5, в ActionScript аналогично их использованию в распространенных браузерах. С другой стороны, между использованием HTML в ActionScript и использованием HTML в браузерах существует несколько существенных отличий.

Руководство по actionscript. часть 5, стр. 099

? Тег

не поддерживается; используйте шаги табуляции для имитации таблиц языка HTML.

? В языке ActionScript разметка HTML в основном используется для форматирования, и содержимое HTML не организуется в виде метафоры документа браузера. Следовательно, теги и не являются обязательными (однако тег по желанию может использоваться для форматирования содержимого HTML с помощью таблиц стилей).

? Неподдерживаемые теги игнорируются, хотя их текстовое содержимое сохраняется.

? В языке ActionScript значения, присваиваемые атрибутам тегов, должны заключаться в кавычки. Дополнительная информация представлена в подразд. «Заключение в кавычки значений атрибутов».

? В среде выполнения Flash гипертекстовые ссылки автоматически не подчеркиваются — подчеркивание должно выполняться вручную либо с помощью тега , либо с помощью переменной text-decoration таблицы стилей CSS.

? Тег не поддерживает вложенные маркеры и тег (нумерованный список).

? В приложении Flash Player незакрытые теги не вызывают разрывы строк, как это происходит в обычном языке HTML. Для добавления разрывов строк Flash Player требует, чтобы были указаны закрывающие теги.

? В приложении Flash Player тег вызывает один разрыв строки, как и тег

, хотя в браузерах тег обычно вызывает двойной разрыв строки.

? Теги и

не вызывают разрывы строк в текстовых полях, переменной multiline которых присвоено значение false. Более того, переменной multiline по умолчанию присваивается значение false. Таким образом, при использовании тегов и

присваивайте переменной multiline значение true.

? Гипертекстовые ссылки могут быть использованы для выполнения кода на языке ActionScript. Дополнительную информацию можно найти далее, в подразд. «Гипертекстовые ссылки» разд. «Ввод через текстовые поля».

? Атрибут NAME тега не поддерживается приложением Flash Player, поэтому внутренние ссылки внутри тела текста невозможны.

Руководство по actionscript. часть 5, стр. 100

? В среде выполнения Flash якорные теги не добавляются в последовательность перехода, и поэтому на них нельзя перейти с помощью клавиатуры.

Поддержка сущностей

Сущности специальных символов, поддерживаемые языком ActionScript, перечислены в табл. 27.6. Если сущность встречается в значении переменной htmlText текстового поля, то приложение Flash Player отображает на экране соответствующий символ. Поддерживаются также и числовые сущности, например T 82; (символ торгового знака).

Таблица 27.6. Поддерживаемые сущности

Сущность Представляемый символ

< <

> >

& &

" ii

' ¦

  Неразрывный пробел

Заключение в кавычки значений атрибутов

За пределами приложения Flash Player значения атрибутов языка HTML могут быть заключены в одинарные или двойные кавычки либо вообще быть без кавычек. Следующие теги допустимо использовать в большинстве браузеров:



Однако в приложении Flash Player значения атрибутов, не заключенные в кавычки, недопустимы. Например, в языке ActionScript синтаксис недопустим. Тем не менее для отделения значений атрибутов можно использовать как одинарные, так и двойные кавычки. При создании значений текстовых полей, содержащих атрибуты языка HTML, используйте один тип кавычек для обозначения самой строки, а другой тип кавычек — для отделения значений атрибутов. Например, оба следующих примера допустимы:

t. htmlText = «hi there

«; t. htmlText = ‘

Hi there

‘;

Однако следующий пример приведет к ошибке, поскольку двойные кавычки используются и для обозначения строки, и для отделения значения атрибута:

// НЕПРАВИЛЬНО! Не делайте так!

t. htmlText = «hi there

«;

Взаимосвязь переменных text и htmlText

Поскольку присваивать текстовое содержимое текстовому полю можно и с помощью переменной text, и с помощью переменной htmlText класса TextField, проявляйте осторожность при одновременном их использовании.

Руководство по actionscript. часть 5, стр. 101

Когда разметка с тегами HTML присваивается переменной htmlText, значением переменной text будет являться значение переменной htmlText, но с опущенными HTML-тегами. Например, в следующей строке кода мы присваиваем фрагмент HTML переменной htmlText текстового поля:

var t:TextField = new TextField( );

t. htmlText = ‘

‘ +

+ ‘ + ‘LETTERSPACING=»0″ KERNING=»0″>This field contains HTML!

+ ‘

‘;

После присваивания переменная htmlText будет иметь следующее значение:

This field contains HTML!



Однако переменная text будет иметь следующее значение:

This field contains HTML!

Обратите внимание, что последовательные присваивания значений переменным htmlText и text перезаписывают предыдущие результаты. Иначе говоря, присваивание нового значения переменной text перезаписывает существующее значение переменной htmlText, и наоборот. В отличие от этого, последовательные операции конкатенации (не повторного присваивания) не перезаписывают существующие значения. Например, следующий код присваивает некоторое содержимое HTML переменной htmlText, после чего выполняет конкатенацию данного содержимого со строкой через переменную text:

var t:TextField = new TextField( ); t. htmlText = «Hello«; t. text += » world»:

После конкатенации значение переменной htmlText будет выглядеть следующим образом:

hello world



Как показано в предыдущем коде, конкатенация значения переменной text со значением переменной htmlText приводит к сбрасыванию форматирования текстового поля. Когда мы присваиваем строку «world» переменной text, среда выполнения

Flash удаляет тег, который изначально был присвоен переменной htmlText! Таким образом, одновременное использование операций присваивания значений переменным text и htmlText в большинстве случаев не рекомендуется.

Руководство по actionscript. часть 5, стр. 102

Теги HTML, присваиваемые непосредственно переменной экземпляра text класса TextField, никогда не интерпретируются в виде разметки HTML; они всегда отображаются в первоначальном виде. Например, следующий код присваивает строку, содержащую теги HTML, переменной text, а затем выполняет конкатенацию данного содержимого с обычной строкой через переменную htmlText:

var t:TextField = new TextField( ); t. text = «World«; t. html Text += «hello»;

После конкатенации значение переменной htmlText будет выглядеть следующим образом:

&1t;B&gt:world&lt:/B>hei1o



Обратите внимание, что символы < и > в теге были преобразованы в сущности языка HTML < h>.

Нераспознанные теги и атрибуты

Как и браузеры, приложение Flash Player игнорирует теги и атрибуты, которые не может распознать. Например, мы присвоим следующее значение переменной htmlText:

Р1ease fill in and print this form

Thank you!



В результате на экране появится следующий текст:

Please fill in and print this form Thank you!

Элементы и
не поддерживаются приложением Flash Player, поэтому оба тега игнорируются (фактически неизвестные теги удаляются из значения переменной htmlText!).

Руководство по actionscript. часть 5, стр. 103

Подобным образом, если мы используем контейнерные элементы, например

, содержимое сохраняется, однако разметка игнорируется. Например, выполнение следующего кода:

06beKTTextFie1d. htm’]Text = »

Table cell text

«; приведет к выводу на экран такой строки без табличного форматирования: table cell text

Однако если не закрыть тег, весь последующий текст будет считаться частью этого тега и не отобразится на экране. Например, в результате следующей операции присваивания:

o6beKTTextField. html Text = «We all know that 5 < 20. that's obvious.";

приложение Flash Player выведет:

We all know that 5

Чтобы включить символ < в разметку html текстового поля, используйте сущность <, как показано в следующей строке кода:

oObeKTTextFie7d. htmlText = «We all know that 5 &lt: 20. That’s obvious.»;

Приложение Flash Player выведет текст:

We all know that 5 < 20. that's obvious.

Дополнительную информацию по включению исходного HTML-кода в текстовое поле можно найти по адресу http://moock. org/asdg/technotes/sourceInHtmlField/.

Руководство по actionscript. часть 5, стр. 104

Мы узнали, каким образом можно отформатировать текстовое поле с помощью класса TextFormat и разметки HTML. Теперь рассмотрим последний инструмент, предназначенный для форматирования текста, — класс Stylesheet.

Форматирование текста с помощью класса Stylesheet

Класс Stylesheet языка ActionScript применяется для форматирования текстовых полей с помощью таблиц стилей. Функциональность этого класса базируется на очень ограниченном подмножестве каскадных таблиц, описанных в рекомендации уровня 1 (CSS1) консорциума W3C.

& *t

^ I Для чтения этого раздела требуется понимание основных концепций языка CSS. Если м$ а * ВЬ| незнакомы с этим языком, перед продолжением прочитайте следующий вводный материал в язык CSS: http://www. w3.org^R/CSS21/intro. html и http://www. w3.org/MarkUp/ Guide/Style.

Однако имейте в виду, что язык ActionScript не поддерживает полный набор возможностей, рекомендованных консорциумом W3C.

Как описано в рекомендации по языку CSS консорциума W3C, таблица стилей — это набор правил, которые определяют представление документа. Каждое правило описывает стиль для определенного элемента в документе HTML или XML. Следующий код демонстрирует пример правила, которое задает шрифт красного цвета для элементов :

hi { color: #FF0000 }

Внутри данного правила селектор (hi) обозначает элемент, к которому применяется стиль. Блок объявления ({ color: #FF0000 }) содержит одно или более объявлений, описывающих стиль, который должен применяться к выбранному элементу. Каждое объявление (color: #FF0000) включает свойство стиля (color) и значение (#FF0000).

«V.

Названия селекторов не зависят от регистра символов, в отличие от имен свойств стиля.

Руководство по actionscript. часть 5, стр. 105

Вот простая таблица стилей, которая содержит два правила — одно для элементов и одно для элементов :

р {

font-family: sans-serif font-size: 12рх;

}

11 {

font-family: serif font-size: 10px; margin-left: 10px;

}

В языке ActionScript 3.0 таблица стилей, подобная той, которая продемонстрирована в предыдущем коде, представляется экземпляром класса Stylesheet. С помощью методов класса Stylesheet мы можем создать новую таблицу стилей программным путем или провести синтаксический разбор существующей внешней таблицы стилей. Чтобы связать объект Stylesheet с определенным объектом TextField, мы присваиваем объект Stylesheet переменной stylesheet (которая будет рассмотрена далее) данного объекта TextField. С каждым текстовым полем может быть связан всего лишь один объект Stylesheet, что резко контрастирует с языком CSS1, позволяющим связывать с одним документом HTML или XML несколько таблиц стилей.

Конкретные свойства, доступные для использования в таблицах стилей ActionScript, перечислены в табл. 27.7. Язык ActionScript поддерживает только те свойства стилей из рекомендации консорциума W3C, которые соответствуют параметрам форматирования класса TextFormat. В сравнении с полным набором свойств, определяемых консорциумом W3C, набор свойств, поддерживаемых ActionScript, чрезвычайно ограничен.

Таблица 27.7. Поддерживаемые свойства стиля языка CSS

Название свойства стиля Описание

color Задает цвет шрифта в виде 24-битного шестнадцатеричного числа, перед которым указывается знак фунта (#). Например, красный цвет записывается как #FF0000

display Определяет, должен ли элемент быть скрыт (попе), должен ли после него добавляться автоматический разрыв строки (block) или же автоматический разрыв строки добавляться не должен (inline)

font-family Задает название шрифта устройства или встроенного шрифта

font-size Указывает размер шрифта в пикселах

font-style Задает отображение символа с использованием курсива (italic) или обычное отображение символа (normal по умолчанию)

font-weight Задает отображение символа с использованием полужирного начертания (bold) или обычное отображение символа (normal по умолчанию)

kerning Определяет, должен ли быть использован автоматический кернинг для пар символов (true) или нет (false). Это свойство является неофициальным расширением набора поддерживаемых свойств стилей, описанных в рекомендации консорциума W3C

leading Задает расстояние по вертикали между строками текста, в пикселах. Это свойство является неофициальным расширением набора поддерживаемых свойств стилей, описанных в рекомендации консорциума W3C. Сравните его со свойством line-height, описанным в рекомендации консорциума W3C

Название свойства стиля Описание

letter-spacing Задает расстояние между буквами (то есть трекинг) в пикселах

margin-left Определяет расстояние по горизонтали между левой границей текстового поля и левым краем абзаца в пикселах

margin-right Задает расстояние по горизонтали между правой границей текстового поля и правым краем абзаца в пикселах

text-align Задает выравнивание абзаца по горизонтали (left (по умолчанию), right, center или justify)

text-decoration Определяет графические элементы украшения, добавляемые к тексту. В ActionScript поддерживаемыми значениями являются underline и попе (по умолчанию)

text-indent Задает расстояние, которое обозначает смещение первой строки абзаца относительно левой границы текстового поля (аналогично переменной экземпляра indent класса TextFormat), в пикселах

Таблицы стилей могут применяться для форматирования как XML-, так и HTML-элементов. Однако среди HTML-элементов, используемых приложением Flash Player для форматирования (см. табл. 27.7), с помощью таблиц стилей могут быть отформатированы только теги, и. Другие встроенные теги (например, и ) всегда выполняют свою предопределенную задачу форматирования HTML, и его нельзя изменить с помощью таблиц стилей. Более того, теги и всегда отображаются в виде блочных элементов, даже если в соответствии с таблицей стилей они должны отображаться в виде встроенных элементов.

Руководство по actionscript. часть 5, стр. 106

Чтобы добавить форматирование для различных интерактивных состояний гипертекстовой ссылки, используйте следующие селекторы псевдоклассов: a: link, a: hover и a: active. Например, следующее правило определяет, что гипертекстовые ссылки при наведении на них указателя мыши должны подчеркиваться:

a:hover { text-decoration: underline:

}

Благодаря таблицам стилей у разработчиков появляется чрезвычайно важная возможность отделять информацию о стилях от содержимого и применять одинаковое определение стиля к нескольким блокам содержимого. Тем не менее в языке ActionScript таблицы стилей имеют много ограничений, снижающих их потенциальную полезность. Перед тем как рассмотреть вопросы форматирования текста с помощью таблиц стилей, внимательно познакомимся с этими ограничениями.

Существенные ограничения таблиц стилей в языке ActionScript

Приложение Flash Player намеренно предоставляет только минимальную реализацию таблиц стилей, играющую роль интерфейса для установки параметров форматирования текстового поля. В результате поддерживаемым приложением Flash Player таблицам стилей не хватает нескольких важных возможностей, описанных в рекомендации по языку CSS консорциума W3C. Читатели, привыкшие работать

с CSS и HTML, должны помнить о следующих ограничениях приложения Flash Player.

? Все длины выражаются в пикселах. Относительная единица em не поддерживается, а пункты трактуются как пикселы.

? В любой момент времени с каждым текстовым полем можно связать всего одну таблицу стилей. Таблицы стилей приложения Flash Player не каскадируются.

? Повторное присваивание таблицы стилей текстовому полю не приводит к отображению этого поля с использованием новой таблицы стилей (в качестве обходного решения можно применять подход, описание которого приводится сразу за данным списком).

? Свойства margin-topHmargin-bottomHe поддерживаются.

Руководство по actionscript. часть 5, стр. 107

? Элементы не могут произвольным образом отображаться в виде элементов списка. Значение list-item свойства display не поддерживается. Более того, форму маркеров элемента списка (то есть метки) нельзя изменять, даже для собственного элемента языка HTML.

? Приложение Flash Player поддерживает только базовые селекторы типов и селекторы классов. Все остальные множества селекторов не поддерживаются. Более того, селекторы типов и селекторы классов нельзя объединять (например, следующий селектор в приложении Flash Player недопустим: р. someCustomClass). Если таблица стилей содержит селектор потомка, вся таблица стилей будет проигнорирована и никакое форматирование применено не будет.

? Если таблица стилей присваивается текстовому полю, то текстовое содержимое этого поля не может быть изменено с помощью методов replaceText ( ), appendText ( ), replaceSelText ( ) или через пользовательский ввод.

Чтобы изменить таблицу стилей текстового поля, сначала присвойте желаемый объект Stylesheet переменной stylesheet, а затем присвойте переменную htmlText самой себе, как показано в следующем коде:

t. stylesheet = некийНовый06ъектЗЬу1еЗЬееЬ\ t. html Text = t. html Text:

Стоит отметить, что новая таблица стилей должна устанавливать все свойства стиля, которые были установлены прежней таблицей стилей. В противном случае любые неустановленные прежние значения свойств стиля будут сохранены.

Теперь, когда мы познакомились с основными возможностями и ограничениями таблиц стилей, поддерживаемых приложением Flash Player, посмотрим на них в действии. Следующие два раздела описывают, как применять таблицу стилей к текстовому полю, сначала с использованием таблицы стилей, создаваемой программным путем, а затем с помощью таблицы стилей, загружаемой из внешнего CSS-файла.

Форматирование текста с помощью таблицы стилей, создаваемой программным путем

Чтобы отформатировать текст с помощью таблицы стилей, создаваемой программным путем, используйте следующую обобщенную последовательность действий.

1. Создайте один или несколько базовых блоков, представляющих блоки объявления правил.

2. Создайте объект Stylesheet.



Полезные ссылки
Случайные записи
  • 09.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.135
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.48
  • 08.03.2011">Руководство по actionscript. часть 4, стр. 094
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.43
  • 06.09.2011">Фотография жива и будет жить
  • 25.02.2011">Руководство по actionscript. часть 6, стр. 084
  • 07.03.2011">Руководство по actionscript. часть 4, стр. 118
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.76
  • 22.03.2012">Google будет наказывать слишком оптимизированные сайты
  • 07.03.2011">Руководство по actionscript. часть 4, стр. 119
  • 09.03.2011">Руководство по actionscript. часть 4, стр. 057
  • 05.03.2010">Галереи креативных логотипов
  • 05.03.2011">Руководство по actionscript. часть 5, стр. 013
  • 03.03.2011">Руководство по actionscript. часть 5, стр. 055
  • 14.03.2011">Руководство по actionscript. часть 3, стр. 071
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...