Опубликован: 06.06.2006 | Доступ: свободный | Студентов: 3909 / 694 | Оценка: 4.34 / 4.02 | Длительность: 21:23:00
Лекция 18:

Интерфейс пользователя

< Лекция 17 || Лекция 18: 123 || Лекция 19 >

Предпочтительные шрифты пользователя

Как и с цветами, авторы могут специфицировать шрифты так, чтобы использовать системные ресурсы пользователя. См. детали в свойстве 'font'.

Динамические контуры: свойство 'outline'

Иногда авторам таблиц стилей может понадобиться создать контуры вокруг визуальных объектов, таких как кнопки, активные поля формы, карты изображений и т.п., чтобы выделить их. Контуры CSS2 отличаются от рамок в следующем:

  1. Контуры не занимают пространство.
  2. Контуры могут не быть прямоугольными.

Свойства контуров управляют стилем этих динамических контуров.

'outline'

Значение: [ <'outline-color'> || <'outline-style'> || <'outline-width'> ] | inherit

Начальное: см. конкретные свойства

Применяется: ко всем элементам

Наследуется: нет

Процентное: N/A

Носитель: визуальный, интерактивный

'outline-width'

Значение: <border-width> | inherit

Начальное: medium

Применяется: ко всем элементам

Наследуется: нет

Процентное: N/A

Носитель: визуальный, интерактивный

'outline-style'

Значение: <border-style> | inherit

Начальное: none

Применяется: ко всем элементам

Наследуется: нет

Процентное: N/A

Носитель: визуальный, интерактивный

'outline-color'

Значение: <color> | invert | inherit

Начальное: invert

Применяется: ко всем элементам

Наследуется: нет

Процентное: N/A

Носитель: визуальный, интерактивный

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

Контур прорисовывается сразу за краем рамки.

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

Свойство 'outline-width' принимает те же значения, что и 'border-width'.

Свойство 'outline-style' принимает те же значения, что и 'border-style', за исключением 'hidden', который не является допустимым стилем контура.

Свойство 'outline-color' принимает все цвета, как и ключевое слово 'invert'. 'invert' должен производить инверсию цвета пикселов экрана. Это обычный приём для того, чтобы удостовериться, что рамка фокуса видна независимо от цвета фона.

Свойство 'outline' это сокращённое свойство, устанавливающее все три: 'outline-style', 'outline-width' и 'outline-color'.

Обратите внимание, что контур одинаков на всех сторонах. В отличие от рамок, свойства 'outline-top' или 'outline-left' отсутствуют.

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

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

Прорисовка толстого контура вокруг элемента BUTTON:

BUTTON { outline-width : thick }

Для динамического изменения ширины контура могут использоваться скрипты, не вызывая при этом перерисовки.

Как и с цветами, авторы могут специфицировать шрифты так, чтобы использовать системные ресурсы пользователя. См. детали в свойстве 'font'.

Контуры и фокус

Графические интерфейсы пользователя могут использовать контуры вокруг элементов, чтобы сообщать пользователю, какой элемент страницы имеет фокус. Эти контуры дополняют рамки, и включение и выключение не должно вызывать перерисовки документа. Фокус является субъектом действий пользователя в документе (например, при вводе текста, выборе кнопки, и т.д.). ПА, поддерживающие группы интерактивных носителей, обязаны отслеживать, где находится фокус, и обязаны также отображать фокус. Это может быть сделано путём использования динамических контуров вместе с псевдоклассом :focus.

Чтобы прорисовать толстую чёрную линию вокруг элемента, когда он имеет фокус, толстую красную линию, когда он активен, можно использовать следующие правила:

:focus  { outline: thick solid black }
:active { outline: thick solid red }

Увеличение

Рабочая группа CSS считает, что увеличение документа или его части не должно специфицироваться через таблицы стилей. ПА могут поддерживать такое увеличение разными путями (например, увеличивать изображение, усиливать звук и т.п.).

При увеличении страницы ПАгенты должны выдерживать соотношения между позиционированными элементами.

< Лекция 17 || Лекция 18: 123 || Лекция 19 >