HTML та CSS для початківців

HTML та CSS для початківців (Частина 45): Елегантні шрифти для сторінки

Усі відео з уроку HTML та CSS для початківців.

Звичайний варіант визначення шрифтів виглядає приблизно так:

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;
}

Результат у браузері може виглядати в приблизно такий спосіб:

HTML та CSS для початківців (Частина 45): Стильні шрифти для сторінки.

Використання веб-шрифтів

Проблема зі звичайними визначеннями шрифтів очевидна: ви не можете справжньо бути впевненими, що вказаний вами шрифт дійсно доступний для глядача. Браузери, у разі неможливості знайти шрифт, в остаточному підсумку виберуть той, який найбільше схожий на ваш. Таким чином, ви фактично не маєте контролю над результатом. Точно в цьому напрямку допомагає @font-face. Через це можна явно вказати шрифт, який слід використовувати. Це в принципі працює так само, як і з зображеннями. Тобто потрібно вказати шлях до файлу шрифту.

Сучасні браузери використовують для @font-face так звані веб-шрифти WOFF. Ці шрифти набагато менші, ніж раніше використовувані формати веб-шрифтів EOT і TTF.

Типове визначення @font-face виглядає наступним чином:

@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.

Ці шрифти можна вбудувати безпосередньо через вказану сторінку.

HTML та CSS для початківців (Частина 45): Стильні шрифти для сторінки.



Відповідний виклик виглядав би наступним чином:

<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. Там відразу показується щось у вигляді тахометра.

HTML і CSS для початківців (частина 45): Стильні шрифти для сторінки



За допомогою цього зображення можна побачити вплив вбудованих веб-шрифтів на час завантаження сторінки. Цей вплив дійсно вимірюються і зростають з кожним наступним веб-шрифтом.

Як просто використовувати кілька веб-шрифтів, які раніше були додані до вашої колекції, показує наступний приклад:

<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;
}



Звичайно, ви можете додати додаткові елементи. У поточному випадку ця синтаксис вистачить.

HTML & CSS для початківців (Частина 45): Елегантний шрифт для сторінки