Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / CSS / Не для новичков /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Шрифты - Программирование от RIN.RU
Шрифты


Введение


Уже в стандарте CSS1 была заложена возможность использования различных шрифтов для отображения текста документа. При этом предполагалось, что необходимые шрифты установлены на компьютере-клиенте; если же их нет, то вместо них обозреватель должен был использовать собственные шрифты, близкие по характеристикам к требующимся.


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


Ниже изложены все способы работы со шрифтами, предоставляемые CSS. При этом свойства, управляющие отображением шрифтов и унаследованные из CSS1, описаны в этом разделе , а новые методы доступа к загружаемым шрифтам, появившиеся в CSS2, описываются в этом разделе.


Задание свойств шрифтов


Семейство шрифтов: свойство font-family
Синтаксис:font-family: [[<имя-семейства> | <родовое-имя>],]* [<имя-семейства> | <родовое-имя>] | inherit
Начально:зависит от обозревателя
Применимо:ко всем элементам
Наследуемо:да
Проценты:не используются
Устройства:визуальные

Поддержка :Соответствует стандарту (4.0+)
Соответствует стандарту (4.0+)


Свойство font-family задает список имен семейств шрифтов для отображения содержимого элемента. Этот список состоит из имен семейств шрифтов, разделенных запятыми. Имена семейств располагаются в порядке предпочтения. Например, следующее свойство


font-family: Verdana, Arial, sans-serif;


следует понимать так: "использовать шрифт Verdana; если его нет, то использовать шрифт Arial; если его нет, то использовать родовой шрифт sans-serif". Такой список необходим, поскольку мы заранее не знаем, какие именно шрифты установлены на компьютерах наших пользователей.


Имя семейства шрифтов может быть задано двумя способами:


<имя-семейства>
Задает название семейства шрифтов. Если это название содержит пробелы, то оно
должно быть заключено в кавычки или апострофы.
<родовое-имя>
Одно из следующих имен: serif, sans-serif, cursive, fantasy и monospace.
См. cледующий раздел


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


Родовые имена шрифтов


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

serif (шрифт с засечками)


Это пропорциональные шрифты с засечками на буквах. Типичные примеры: Times New Roman, Bodoni, Garamond.


sans-serif (шрифт без засечек)


Это пропорциональные шрифты без засечек на буквах. Типичные примеры: Arial, Verdana, Helvetica, Tahoma.


cursive (каллиграфический шрифт)


Это шрифты, стилизованные под рукописный текст, обычно с типичными для него соединениями между буквами. Типичный пример: Zapf-Chancery.


fantasy (декоративный шрифт)


Это шрифты декоративного характера. Типичный пример: Western.


monospace (телетайпный шрифт)


Это шрифты фиксированной ширины, напоминающие шрифт пишущей машинки. Типичные примеры: Courier New, Prestige, Everson Mono.


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


Стиль шрифта: свойство font-style


Синтаксис:Начально:Применимо:Наследуемо:Проценты:Устройства:
font-style: normal | italic | oblique | inherit
normal
ко всем элементам
да
не используются
визуальные

Поддержка :Соответствует стандарту; oblique отображается как italic (4.0+)
Соответствует стандарту; oblique не поддерживается (4.0+)


Свойство font-style задает стиль шрифта для отображения содержимого элемента. Оно может иметь следующие значения:


normalОбычный шрифт
italicКурсивный шрифт
obliqueНаклонный шрифт

Например, следующий фрагмент


<P>
<SPAN style="font-style: normal">Обычный шрифт. </SPAN>
<SPAN style="font-style: italic">Курсивный шрифт. </SPAN>
<SPAN style="font-style: oblique">Наклонный шрифт. </SPAN>
</P>


будет отображаться так:


Обычный шрифт. Курсивный шрифт. Наклонный шрифт.


Вариант шрифта: свойство font-variant


Синтаксис:font-variant: normal | small-caps | inherit
Начально:normal
Применимо:ко всем элементам
Наследуемо:да
Проценты:не используются
Устройства:визуальные

Поддержка :Соответствует стандарту (4.0+)
Не поддерживается


Свойство font-variant задает вариант шрифта для отображения содержимого элемента. Оно может принимать следующие значения:


normalОбычные буквы
small-capsМалые прописные буквы


Например, следующий фрагмент


<P style="font-variant: small-caps">Малые прописные буквы.</P>


будет отображаться так:

Малые прописные буквы.


О преобразовании текста в прописные буквы см. также описание свойства text-transform.


Жирность шрифта: свойство font-weight


Синтаксис:font-weight: normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit
Начально:normal
Применимо:ко всем элементам
Наследуемо:да, наследуется вычисленное значение
Проценты:не используются
Устройства:визуальные

Поддержка :Соответствует стандарту (4.0+)
Соответствует стандарту (4.0+)


Свойство font-weight задает жирность шрифта для отображения содержимого элемента. Оно может принимать следующие значения:


100 - 900Задает жирность шрифта (чем больше значение, тем выше жирность шрифта).
normalТо же, что 400.
boldТо же, что 700.
bolderУказывает, что шрифт должен быть более жирным, чем родительский шрифт.
lighterУказывает, что шрифт должен быть менее жирным, чем родительский шрифт.

То, как именно числовые значения соответствуют реальной жирности шрифта, зависит от обозревателя. Например, следующий фрагмент


<P>
<SPAN style="font-weight: 100">100 </SPAN>
<SPAN style="font-weight: 200">200 </SPAN>
<SPAN style="font-weight: 300">300 </SPAN>
<SPAN style="font-weight: 400">400 </SPAN>
<SPAN style="font-weight: 500">500 </SPAN>
<SPAN style="font-weight: 600">600 </SPAN>
<SPAN style="font-weight: 700">700 </SPAN>
<SPAN style="font-weight: 800">800 </SPAN>
<SPAN style="font-weight: 900">900 </SPAN>
</P>


может отображаться так:

100 200 300400 500 600700 800 900


Выключка шрифта: свойство font-stretch



Синтаксис:font-stretch: normal | wider | narrower | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded | inherit
Начально:normal
Применимо:ко всем элементам
Наследуемо:да
Проценты:не используются
Устройства:визуальные

Поддержка :Не поддерживается
Не поддерживается


Свойство font-stretch задает выключку шрифта, т. е. интервал между символами при отображении содержимого элемента. Оно может иметь следующие значения (в порядке увеличения выключки):


ultra-condensedСверхуплотненный шрифт
extra-condensedСильно уплотненный шрифт
condensedУплотненный шрифт
semi-condensedПолууплотненный шрифт
normalОбычный шрифт
semi-expandedПолуразреженный шрифт
expandedРазреженный шрифт
extra-expandedСильно разреженный шрифт
ultra-expandedСверхразреженный шрифт



Кроме того, имеется возможность задавать относительную разрядку шрифта:


widerУказывает, что шрифт должен быть более разреженным, чем родительский шрифт.
narrowerУказывает, что шрифт должен быть более уплотненным, чем родительский шрифт.



То, как именно эти значения соответствуют реальной выключке шрифта, зависит от обозревателя. Пример:


<P><SPAN style="font-stretch: expanded">Разрядка моя </SPAN>(Л. И. Брежнев).</P>




Размер шрифта: свойство font-size


Синтаксис:font-size: xx-small | x-small | small | medium | large | x-large | xx-large | larger | smaller | <размер> | <процент> | inherit
Начально:medium
Применимо:ко всем элементам
Наследуемо:да, наследуется вычисленное значение
Проценты:относительно размера отцовского шрифта
Устройства:визуальные

Поддержка :Соответствует стандарту (4.0+)
Соответствует стандарту (4.0+)


Свойство font-size задает размер шрифта для отображения содержимого элемента. Оно может задаваться несколькими способами:


xx-small | x-small | small | medium | large | x-large | xx-large
Задает абсолютный размер шрифта (от наименьшего к наибольшему).
smaller | larger
Задает размер шрифта относительно родительского шрифта (меньше или больше).
<размер>
Задает фиксированный размер. Отрицательные размеры недопустимы.
<процент>
Вычисляется относительно размера отцовского шрифта.


Фактическое значение этого свойства может отличаться от вычисленного по двум причинам: если шрифт не имеет заданного размера или под воздействием свойства font-size-adjust.


CSS2 рекомендует, чтобы последовательные значения абсолютных размеров шрифта отличались для экрана в 1.2 раза, однако это зависит от обозревателя. Пример отображения семи абсолютных размеров шрифтов:

xx-small

x-small

small

medium

large

x-large

xx-large


Аспект шрифта: свойство font-size-adjust


Синтаксис:font-size-adjust: none | <число> | inherit
Начально:none
Применимо:ко всем элементам
Наследуемо:да
Проценты:не используются
Устройства:визуальные

Поддержка :Не поддерживается
Не поддерживается


Свойство font-size-adjust задает аспект шрифта. Поясним его назначение подробнее.


В шрифтах, содержащих и строчные, и прописные буквы, субъективный внешний вид символа (т. е. то, насколько он кажется искаженным человеческому глазу) зависит от соотношения значения свойства font-size и величины x-height; в действительности, определяющим является их отношение, которое называется аспектом шрифта (aspect value) и равно font-size / x-height. Чем меньше аспект шрифта, тем скорее шрифт становится искаженным при уменьшении его размеров. Поэтому простое задание размера шрифта может приводить к неприятному для глаза отображению его символов.


Допустим теперь, что свойство font-family содержит список из нескольких названий шрифтов. Ясно, что размеры шрифта для отображения данного элемента подбирались автором, исходя из того, что он будет отображаться первым шрифтом в списке. Если же этот шрифт отсутствует на компьютере-клиенте, то обозреватель использует второй шрифт из списка. Но аспект этого шрифта имеет иное значение, чем аспект первого и, в итоге, внешний вид отображаемого текста может быть искажен. Для того, чтобы уменьшить возможное искажение, необходимо пересчитать размер символов для второго шрифта с учетом изменения аспекта. Но для этого обозреватель должен знать аспект первого шрифта, который на его компьютере как раз и отсутствует! Именно для того, чтобы сообщить ему эту информацию, и было введено данное свойство, которое может иметь следующие значения:


none
Не корректировать размер шрифта.
<число>
Задает аспект шрифта, как описано выше.


Рассмотрим следующий пример:


P {font-family: Verdana, sans-serif; font-size: 14px; font-size-adjust: 0.58 }


Шрифт Verdana имеет аспект 0.58, что и указано в значении свойства font-size-adjust. Если этот шрифт недоступен, то обозреватель использует родовой шрифт sans-serif. Допустим, что аспект этого шрифта равен 0.46. Тогда обозреватель пересчитает размер шрифта sans-serif по формуле 14px * (0.58 / 0.46) = 17.65px и будет отображать абзацы шрифтом с размером 18px (с учетом округления).


Свойства шрифта: свойство font


Синтаксис:font: [[ <font-style> || <font-variant> || <font-weight> ]? <font-size> [/ <line-height> ]? <font-family> ] | caption | icon | menu | message-box | small-caption | status-bar | inherit
Начально:не определено для сокрашений
Применимо:ко всем элементам
Наследуемо:да
Проценты:применимы только в и
Устройства:визуальные

Поддержка :Соответствует стандарту (4.0+)
Не поддерживается


Свойство font является сокращением для свойств font-style, font-variant, font-weight, font-size, font-family и line-height. Оно позволяет задать все свойства шрифта одновременно. При этом сначала всем свойствам шрифта (включая font-stretch и font-size-adjust, хотя значения этих свойств данным свойством заданы быть не могут) присваиваются их начальные значения, а затем изменяются значения тех свойств, которые явно заданы в данном свойстве. Приведем несколько примеров:


P { font: 12pt/14pt sans-serif }
P { font: 80% sans-serif }
P { font: x-large/110% "new century schoolbook", serif }
P { font: bold italic large Georgia, serif; font-size-adjust: 1.16 }
P { font: normal small-caps 120%/120% fantasy }
P { font: oblique 12pt Helvetica, serif; font-stretch: condensed }


Это свойство позволяет также указать, что необходимо использовать один из системных шрифтов; в этом случае задается только название системного шрифта, и никакие другие характеристики шрифта указывать больше нельзя. Существуют следующие названия системных шрифтов:


captionШрифт текста управляющих элементов (кнопок, меток и т. д.)
iconШрифт меток иконок
menuШрифт пунктов меню
message-boxШрифт диалоговых окон
small-captionШрифт текста малых управляющих элементов
status-barШрифт статусной строки


Пример отображения системных шрифтов:

caption

icon

menu

message-box

small-caption

status-bar


Вперед  >>>
 1  2  3  4 


 8  Комментарии к статье  8 8  Обсудить в чате

8  В тему

Введение в таблицы стилей

Селекторы, псевдоклассы и псевдоэлементы

Значения свойств, каскадность и наследование

Границы, заполнители и рамки

Позиционирование элементов

Визуализация элементов

Цвет и фон

Текст

Таблицы

Генерация содержимого, нумерация и списки

Страничные устройства вывода

Звуковые таблицы стилей

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь