Звичайний варіант визначення шрифтів виглядає приблизно так:
body { font-family: Arial, Helvetica, sans-serif; }
Тут елементу body
призначений шрифт Arial
. Якщо його немає в системі глядача, використовується Helvetica
. Якщо немає навіть Helvetica
, браузеру передається інструкція використовувати шрифт без засічок. Зрозуміло, що контролювати це повністю неможливо. Таким чином, у вас фактично немає справжнього контролю над результатом. Так що все, що ви так хорошо підготували в GIMP або Photoshop, може зникнути в джунглях шрифтів. Більше про те, як розв'язати цю проблему, потім.
Спочатку повернемося до класичного варіанту. Нижче наведено типове визначення, за допомогою якого ви пристосовуєте основний вигляд веб-сторінки. Через визначення body
ви можете визначити основні параметри шрифту.
body { font-family: Georgia, Times, "Times New Roman", serif; color: #000; font-size: 1.1em; line-height: 150%; } p { font-size: 1.1em; }
Звісно, ви також можете окремо стилізувати окремі елементи сторінки. До них належать, наприклад, заголовки, похилий текст і т.д. Але в ході цього знову думайте про спадковість у CSS.
h1 { font-size: 1.6em; }
Результат у браузері може виглядати в приблизно такий спосіб:
Використання веб-шрифтів
Проблема зі звичайними визначеннями шрифтів очевидна: ви не можете справжньо бути впевненими, що вказаний вами шрифт дійсно доступний для глядача. Браузери, у разі неможливості знайти шрифт, в остаточному підсумку виберуть той, який найбільше схожий на ваш. Таким чином, ви фактично не маєте контролю над результатом. Точно в цьому напрямку допомагає @font-face
. Через це можна явно вказати шрифт, який слід використовувати. Це в принципі працює так само, як і з зображеннями. Тобто потрібно вказати шлях до файлу шрифту.
Сучасні браузери використовують для @font-face
так звані веб-шрифти WOFF. Ці шрифти набагато менші, ніж раніше використовувані формати веб-шрифтів EOT і TTF.
Типове визначення @font-fac
e виглядає наступним чином:
@font-face { font-family: "Bitstream Vera Serif Bold"; src: url("http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf"); }
Для font-family
вказується назва шрифта для використання. До цього моменту немає жодних особливостей синтаксису. За допомогою src:url()
вказується URL, де знаходиться файл веб-шрифту. Теоретично, якщо існує можливість, що шрифт доступний на комп'ютерах користувачів, слід додатково вказати local
. Цим local присвоюється назва шрифту.
@font-face { font-family: "Bitstream Vera Serif Bold"; local: "Bitstream Vera Serif Bold"; src: url("http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf"); }
Після визначення @font-face
можна використовувати веб-шрифти як зазвичай.
h1 { font-family: "Bitstream Vera Serif Bold"; font-size: 1.2em; color: #3399FF; }
Тут можна знайти веб-шрифти, наприклад
Звісно, виникає питання, де можна отримати відповідні файли веб-шрифтів. Наприклад, Google має велику кількість цих веб-шрифтів на сторінці http://www.google.com/fonts.
Ці шрифти можна вбудувати безпосередньо через вказану сторінку.
Відповідний виклик виглядав би наступним чином:
<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Tangerine">
У font-family
вказується бажаний веб-шрифт. На згаданій сторінці Google ви знайдете ці назви та виклики. Після вбудування веб-шрифту він може бути застосований так само, як будь-який інший шрифт.
body { font-family: 'Tangerine', serif; font-size: 1.2em; }
Хто бажає, може використовувати на своїй сторінці кілька веб-шрифтів. Для цього слід клікнути на сторінці http://www.google.com/fonts потрібні веб-шрифти на Add to Collection. Після того, як усі веб-шрифти є в вашій колекції, слід перейти в нижню частину сторінки на Use. Там відразу показується щось у вигляді тахометра.
За допомогою цього зображення можна побачити вплив вбудованих веб-шрифтів на час завантаження сторінки. Цей вплив дійсно вимірюються і зростають з кожним наступним веб-шрифтом.
Як просто використовувати кілька веб-шрифтів, які раніше були додані до вашої колекції, показує наступний приклад:
<link href="http://fonts.googleapis.com/css? family=Henny+Penny|Eagle+Lake|Amarante|Plaster|Courgette" rel="stylesheet" type="text/css">
Таким чином кожен веб-шрифт записується послідовно, розділені вертикальною рискою. Повний виклик для вибраної колекції відображається на вже згаданій сторінці використання.
Багато з веб-шрифтів мають так звані підмножини, такі як Латиниця або Кириличний. Щоб явно включити їх, вказуйте потрібну підмножину як значення параметра.
http://fonts.googleapis.com/css?family=Philosopher&subset=cyrillic
Якщо потрібно використовувати кілька цих підмножинів, записуйте їх, розділяючи комою.
http://fonts.googleapis.com/css?family=Philosopher&subset=latin,cyrillic
Проте використання цих веб-шрифтів має свої застереження. Спочатку, коли ви відвідуєте сторінку, встановлюється зв'язок з сервером Google, Щоб обійти це, завантажте файл веб-шрифту і розмістіть його на своєму власному сервері. Однак обов'язково дотримуйтесь умов використання веб-шрифтів, які ви хочете використовувати в такий спосіб.
Визначення шрифту на сторінці прикладу
Нижче наведено визначення шрифтів, які я буду використовувати для поточної сторінки прикладу:
body { font-family: 'Crimson Text', Helvetica, sans-serif; color: #444; text-decoration: none; line-height: 1.5em; font-size: 1.2em; } p { font-size: 1.1em; } h1 { font-size: 1.6em; color: #3399FF; }
Звичайно, ви можете додати додаткові елементи. У поточному випадку ця синтаксис вистачить.