14 Таблиці стилів

14.1 Введення в таблиці стилів

Таблиці стилів представляють найбільше досягнення для дизайнерів Web-сторінок, розширюючи можливості поліпшення зовнішнього вигляду сторінок. У наукових середовищах, в яких і зародилася Web, люди більш зосереджені на змісті документів, ніж на їхньому уявленні. У міру відкриття Web іншими людьми обмеження HTML стали джерелом розчарувань, і авторам довелося ухилятися від стилістичних обмежень HTML. Хоча наміри і були добрими - поліпшення уявлення Web-сторінок, - технології мали небажані побічні ефекти. Ці технології працювали тільки для деяких, тільки іноді, але не для всіх і не завжди. Сюди включаються:

  • Використання власних розширень HTML
  • Перетворення тексту в зображення
  • Використання зображень для управління порожнім простором
  • Використання таблиць для розміщення об'єктів на станиці
  • Написання програм замість використання HTML

Ці технології істотно ускладнюють Web-сторінки, обмежують гнучкість, створюють проблеми взаємодії і створюють складнощі для людей з фізичними вадами.

Таблиці стилів вирішують ці проблеми, одночасно перевершуючи обмежені механізми подання в HTML. Таблиці стилів спрощують визначення інтервалів між рядками тексту, відступів, квітів, використовуваних для тексту і фону, розміру і стилю шрифтів і іншої інформації.

Наприклад, наступна таблиця стилів CSS (зберігається в файлі "special.css") зелений встановлює колір тексту абзацу та оточує його суцільний червоною рамкою:

  P.special {
 color: green;
 border: solid red;
 }

Автори можуть пов'язувати таблиці стилів з вихідним документом HTML за допомогою елемента LINK :

  <! DOCTYPE HTML PUBLIC "- // W3C // DTD HTML 4.0 // EN"
  "Http://www.w3.org/TR/REC-html40">
 <HTML>
  <HEAD>
  <LINK href = "special.css" rel = "stylesheet" type = "text / css">
  </ HEAD>
  <BODY>
  <P class = "special"> У цьому абзаці текст повинен бути зеленим.
  </ BODY>
 </ HTML>

HTML 4.0 забезпечує підтримку наступних функцій таблиць стилів:

Гнучке розміщення інформації про стиль
Приміщення таблиць стилів в окремі файли спрощує їх повторне використання. Іноді корисно включати інструкції за поданням в документ, до якого вони застосовуються, в початок документа або в атрибути елементів в тілі документа. Для спрощення управління стилем сайту в даній специфікації описується використання заголовків HTTP для установки таблиць стилів, що застосовуються до документу.
Незалежність від мов таблиць стилів
Дана специфікація не прив'язує HTML до конкретної мови таблиць стилів. Це дозволяє використовувати широкий діапазон таких мов, наприклад, прості мови для більшості користувачів і більш складні для більш спеціалізованих випадків. У всіх прикладах, наведених нижче, використовується мова CSS (Каскадні таблиці стилів) [CSS1] , але можна використовувати і інші мови.
каскади
Ця можливість забезпечується деякими мовами таблиць стилів, такими як CSS, для об'єднання інформації про стиль з декількох джерел. Це може бути, наприклад, корпоративні положення про стилі, стилі, загальні для групи документів, а також стилі, специфічні для одного документа. З використанням роздільного зберігання ці таблиці стилів можуть використовуватися повторно, що спрощує роботу авторів і підвищує ефективність мережевого кешування. Каскад визначає упорядковану послідовність таблиць стилів, в якій правила більш пізніх таблиць мають пріоритет над більш ранніми. Не всі мови таблиць стилів підтримують каскади.
Залежність від пристроїв
HTML дозволяє авторам розробляти документи незалежно від пристроїв. Це дозволяє користувачам звертатися до Web-сторінок з використанням різних пристроїв, наприклад, графічних дисплеїв для комп'ютерів під управлінням Windows, Macintosh OS і X11, телевізійних пристроїв, спеціальним чином адаптованих телефонів і портативних пристроїв на базі PDA, мовних браузерів і тактильних пристроїв на базі абетки Бройля.

Таблиці стилів, навпаки, застосовуються до конкретних пристроїв або групам пристроїв. Таблиця стилів, призначена для екрану, може застосовуватися при друку, але марна для мовних браузерів. Дана специфікація дозволяє визначити широкі категорії пристроїв, до яких застосовується конкретна таблиця стилів. Це дозволяє агентам користувачів уникнути завантаження непотрібних таблиць стилів. Мови таблиць стилів можуть включати функції опису залежності від пристроїв в одній таблиці.

альтернативні стилі
Автори можуть пропонувати читачам кілька способів перегляду документа. Наприклад, таблиця стилів для подання компактних документів з дрібним шрифтом, або таблиця, що задає великі шрифти для зручності читання. Дана специфікація дозволяє авторам вказати бажану таблицю стилів, а також альтернативні таблиці для певних користувачів або пристроїв. Агенти користувачів повинні надавати користувачам можливість вибору однієї з альтернативних таблиць або відключати всі таблиці стилів.
питання продуктивності
Деякі користувачі висловлювали сумніви щодо швидкості роботи таблиць стилів. Наприклад, завантаження зовнішньої таблиці стилів може призвести до затримки загального представлення матеріалу для користувача. Подібні ситуації виникають і в тому випадку, якщо в заголовок документа включений довгий набір правил щодо стилю.

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

У багатьох випадках автори скористаються перевагами використання загальної таблиці стилів для групи документів. У цьому випадку розподіл правил стилю в документі призведе до зниження продуктивності в порівнянні з використанням пов'язаної таблиці стилів, оскільки для більшості документів таблиці стилів вже буде знаходитися в локальному кеші. До цього ефекту призведе загальнодоступність хороших таблиць стилів.

14.2 Як додати стиль в HTML

Примітка. У прикладі таблиці стилів за замовчуванням для HTML 4.0, включеному в [CSS2] , виражена загальноприйнята інформація про стилі для кожного елемента. Автори можуть скористатися цим ресурсом.

Документи в форматі HTML можуть містити правила таблиць стилів безпосередньо або можуть імпортувати таблиці стилів.

В HTML можна використовувати всі мови таблиць стилів. Простого мови таблиць стилів може бути досить для більшості користувачів, в той час як інші мови можуть підходити для більш спеціалізованих завдань. У прикладах в даній специфікації використовується мова "Каскадні таблиці стилів" ( [CSS1] ), скорочено CSS.

Синтаксис даних стилю залежить від мови таблиці стилів.

14.2.1 Встановлення мови таблиці стилів за замовчуванням

Автори повинні вказувати мову таблиці стилів для інформації про стиль, пов'язаної з документом HTML.

Щоб визначити мову таблиці стилів для документа за замовчуванням слід використовувати елемент META . Наприклад, щоб встановити за замовчуванням мову CSS, слід помістити в розділ HEAD наступне оголошення:

 <META http-equiv = "Content-Style-Type" content = "text / css">

зик таблиць стилів за замовчуванням можна також встановити за допомогою заголовків HTTP. Показане вище оголошення з використанням тега META еквівалентно заголовку HTTP:

  Content-Style-Type: text / css

Агенти користувачів повинні визначати мову таблиць стилів за замовчуванням для документа у відповідності з наступними кроками (від вищого пріоритету до нижчого):

  1. Якщо в оголошенні META задається "Content-Style-Type", мова таблиць стилів визначає останній оголошення в потоці символів.
  2. В іншому випадку, якщо "Content-Style-Type" задається в заголовках HTTP, мову таблиць стилів визначає останній заголовок в потоці символів.
  3. В іншому випадку встановлюється мову "text / css".

Документи, що включають елементи, в яких встановлюється атрибут style , але не визначається мова таблиць стилів за замовчуванням, є некоректними. Засоби розробки повинна генерувати інформацію про мову таблиць стилів за замовчуванням (зазвичай за допомогою оголошень META ), щоб агенти користувачів не покладалися на мову за замовчуванням "text / css".

14.2.2 Вбудована інформація про стилі

визначення атрибутів

style = style [CN]
Цей атрибут визначає інформацію про стилі поточного елемента.

style Атрибут style визначає інформацію про стилі одного елемента. Мова таблиць стилів вбудованих правил стилю визначається мовою таблиць стилів за замовчуванням . Синтаксис даних стилю залежить від мови таблиць стилів.

В даному прикладі встановлюється інформація про колір і розмір шрифту тексту певного абзацу.

 <P style = "font-size: 12pt; color: fuchsia"> Що за принадність ці таблиці стилів!

В CSS оголошення властивостей мають форму "ім'я: значення" і розділяються крапкою з комою.

Атрибут style може використовуватися для застосування певного стилю до окремого елементу HTML. Якщо стиль повторно використовується для декількох елементів, автори повинні використовувати елемент STYLE для перегрупування цієї інформації. Для оптимальної гнучкості авторам слід визначати стилі в зовнішніх таблицях стилів.

14.2.3 Інформація про стилі в заголовку : елемент STYLE

  <! ELEMENT STYLE - - % StyleSheet - інформація про стилі ->
 <! ATTLIST STYLE
  % i18n;
  - Lang , dir , для використання з заголовком -
  type % ContentType;
  #REQUIRED - Тип вмісту мови стилів -
  media % MediaDesc;
  #IMPLIED - Для використання з цими пристроями -
  title % Text;
  #IMPLIED - Рекомендований заголовок -
  >

Початковий тег: обов'язковий, Кінцевий тег: обов'язковий

визначення атрибутів

type = content-type [CI]
Цей атрибут визначає мову таблиць стилів для вмісту елемента і має пріоритет над мовою таблиць стилів, іпользуеми. Мова таблиць стилів вказується як тип вмісту (наприклад, "text / css"). Автори повинні вказати значення для цього атрибута; для нього немає значення за замовчуванням.
media = дескриптори пристроїв [CI]
Цей атрибут задає цільове пристрій для інформації про стиль. Це може бути один дескриптор пристрою або список дескрипторів, розділених комами. За замовчуванням встановлюється значення "screen".

атрибути, які визначаються в іншому місці

Елемент STYLE дозволяє авторам поміщати правила таблиць стилів в розділ head документа. В HTML допустимо будь-яке число елементів STYLE в розділі HEAD .

Агенти користувачів, які не підтримують таблиці стилів або які не підтримують певну мову таблиць стилів, використовуваний в елементі STYLE , не повинні показувати елемент STYLE . Помилкою буде генерувати його вміст як частина тексту документа. Деякі мови таблиць стилів підтримують синтаксис для того, щоб НЕ показувати вміст невідповідним специфікації агентам користувачів.

Синтаксис даних стилю залежить від мови таблиці стилів.

Деякі реалізації таблиць стилів можуть підтримувати більшу різноманітність правил для елемента STYLE , ніж в атрибуті style . Наприклад, в CSS правила можу оголошуватися в елементі STYLE для:

  • Всіх примірників певного елемента мови HTML (наприклад, для всіх елементів P , всіх елементів H1 і т.д.)
  • Всіх примірників елемента HTML, що належать певному класу (тобто для атрибута class яких встановлено певне значення).
  • Окремих екземплярів елемента мови HTML (тобто для атрибута id якого встановлено певне значення).

Правила пріоритету і успадкування правил таблиць стилів залежать від мови таблиць.

Наступне оголошення CSS STYLE призводить до появи кордону навколо всіх елементів H1 в документі і центрування їх на сторінці.

 <HEAD>
  <STYLE type = "text / css">
  H1 {border-width: 1;  border: solid;  text-align: center}
  </ STYLE>
 </ HEAD>

Щоб вказати, що ця інформація про стилі повинна застосовуватися тільки до елементів H1 певного класу, можна змінити визначення наступним чином:

 <HEAD>
  <STYLE type = "text / css">
  H1.myclass {border-width: 1;  border: solid;  text-align: center}
  </ STYLE>
 </ HEAD>
 <BODY>
  <H1 class = "myclass"> Наш стиль впливає на цей заголовок рівня H1 </ H1>
  <H1> А на цей заголовок наш стиль не впливає </ H1>
 </ BODY>

І, нарешті, для обмеження області дії інформації про стилі єдиним екземпляром елемента H1 , встановіть атрибут id :

 <HEAD>
  <STYLE type = "text / css">
  #myid {border-width: 1;  border: solid;  text-align: center}
  </ STYLE>
 </ HEAD>
 <BODY>
  <H1 class = "myclass"> На цей заголовок H1 стиль не впливає </ H1>
  <H1 id = "myid"> А на цей впливає </ H1>
  <H1> На цей знову не впливає </ H1>
 </ BODY>

Хоча інформація про стилі може встановлюватися майже для всіх елементів HTML, два елементи, DIV і SPAN , особливо корисні тим, що вони не накладають ніякої семантики уявлення (крім block-level vs. inline ). Разом з таблицями стилів ці елементи дозволяють користувачам необмежено розширювати мову HTML, особливо при використанні атрибутів class та id .

У наступному прикладі елемент SPAN використовується для установки малих прописних літер для стилю шрифту перших декількох слів абзацу.

 <HEAD>
  <STYLE type = "text / css">
  SPAN.sc-ex {font-variant: small-caps}
  </ STYLE>
 </ HEAD>
 <BODY>
 <P> <SPAN class = "sc-ex"> Перші кілька </ SPAN> слів абзацу виділені малими прописними буквами.
 </ BODY>

У наступному прикладі ми використовуємо елемент DIV і атрибут class для установки вирівнювання тексту для ряду абзаців, що становлять введення в наукову статтю. Інформація про стиль може повторно використовуватися для інших розділів введення шляхом установки атрибута class в будь-якому місці документа.

 <HEAD>
  <STYLE type = "text / css">
  DIV.Abstract {text-align: justify}
  </ STYLE>
 </ HEAD>
 <BODY>
  <DIV class = "Abstract">
  <P> The Chieftain product range is our market winner for
  the coming year.  This report sets out how to position
  Chieftain against competing products.

  <P> Chieftain replaces the Commander range, which will
  remain on the price list until further notice.
  </ DIV>
 </ BODY>

14.2.4 Типи пристроїв

HTML дозволяє авторам створювати документи, які використовують характеристики пристрою, на якому буде представлятися документ (наприклад, графічні дисплеї, телевізійні екрани, переносні пристрої, мовні браузери, тактильні пристрої на базі абетки Бройля і т.д.). За допомогою атрибута media автори можуть дозволити агентам користувачів завантажувати і застосовувати таблиці стилів вибірково. Див. Список підтримуваних дескрипторів пристроїв .

Оголошення в наступному прикладі застосовуються до елементів H1 . При показі на проекторі під час зустрічі всі екземпляри будуть відображатися синім кольором. При друку вони будуть відцентровані.

  <HEAD>
  <STYLE type = "text / css" media = "projection">
  H1 {color: blue}
  </ STYLE>
  <STYLE type = "text / css" media = "print">
  H1 {text-align: center}
  </ STYLE>

Цей приклад додає звукові ефекти для пристрою мовного виведення:

  <STYLE type = "text / css" media = "aural">
  A {cue-before: uri (bell.aiff);  cue-after: uri (dong.wav)}
  </ STYLE>
 </ HEAD>

Управління пристроями особливо цікаво при використанні із зовнішніми таблицями стилів, оскільки агенти користувачів можуть заощадити час, завантажуючи з мережі тільки таблиці стилів, що застосовуються до поточного пристрою. Наприклад, мовні браузери можуть не завантажувати таблиці стилів, розроблені для візуального представлення. Детальніше див. У розділі про залежних від пристроїв каскадах .

14.3 Зовнішні таблиці стилів

Автори можуть відокремлювати таблиці стилів від документів HTML. Це дає наступні переваги:

  • Автори і менеджери Web-сайтів можуть спільно використовувати таблиці стилів в ряді документів (і сайтів).
  • Автори можуть змінювати таблиці стилів без зміни документа.
  • Агенти користувачів можуть завантажувати таблиці стилів вибірково (в залежності від описів пристроїв).

14.3.1 яким надається перевага і альтернативні таблиці стилів

HTML дозволяє авторам пов'язувати з документом будь-яке число зовнішніх таблиць стилів. Мова таблиць стилів визначає взаємодію декількох зовнішніх таблиць стилів (наприклад, правила "каскадів" CSS).

Автори можуть вказати ряд взаємовиключних таблиць стилів, які називаються альтернативними. Користувачі можуть вибирати таблиці, які їм більше подобаються. Наприклад, автор може вказати один стиль для невеликих екранів, інший - для людей з вадами зору користувачів (наприклад, з використанням великого шрифту). Агенти користувачів повинні надавати користувачам можливості вибору однієї з альтернативних таблиць.

Автор може вказати, що одна з альтернатив є кращою. Агенти користувачів повинні застосовувати бажані автором таблиці стилів, якщо користувач не вибрав іншу альтернативу.

Автори можуть згрупувати кілька альтернативних таблиць стилів (включаючи бажані автором) під одним стилем стоїть. Якщо користувач вибирає іменований стиль, агент користувача повинен застосовувати всі таблиці стилів з цим ім'ям. Агенти користувачів не повинні застосовувати альтернативні таблиці стилів з іншим стилем стоїть. Як присвоїти ім'я групі стилів, описано в розділі про визначенні зовнішніх таблиць стилів .

Автори також можуть вказати постійні таблиці стилів, які агенти користувачів повинні застосовувати на додаток до альтернативних таблиць стилів.

При застосуванні таблиці стилів агенти користувачів повинні враховувати дескриптори пристроїв .

Агенти користувачів також повинні дозволяти користувачам повністю відключати таблиці стилів автора; в цьому випадку агент користувача не повинен застосовувати жодну з таблиць стилів.

14.3.2 Вказівка зовнішніх таблиць стилів

Автори вказують зовнішні таблиці стилів за допомогою атрибутів елемента LINK :

  • Встановіть в атрибуті href розташування файлу таблиці стилів. Значенням атрибута href повинен бути URI .
  • Встановіть для атрибута type значення, яке вказує мову пов'язаного ресурсу (таблиці стилів). Це дозволяє агентам користувачів не завантажувати таблиці стилів, які використовують не підтримуються мови.
  • Вкажіть, чи є таблиці стилів постійно, якій віддається перевага або альтернативної:
    • Щоб таблиці була постійною, встановіть для атрибута rel значення "stylesheet", і не встановлюйте атрибут title .
    • Щоб таблиця була бажаною, встановіть для атрибута rel значення "stylesheet", і дайте таблиці ім'я за допомогою атрибута title .
    • Щоб вказати альтернативну таблицю, встановіть для атрибута rel значення "alternate stylesheet" а дайте таблиці ім'я за допомогою атрибута title .

Агенти користувачів повинні забезпечувати користувачам засоби перегляду і вибору таблиці стилів зі списку альтернатив. Для атрибута title рекомендується встановлювати значення, яке буде представляти цю таблицю в списку.

У цьому прикладі ми спочатку визначаємо постійну таблицю стилів, що знаходиться в файлі mystyle.css:

 <LINK href = "mystyle.css" rel = "stylesheet" type = "text / css">

Установка атрибута title призначає її бажаною автором таблицею:

  <LINK href = "mystyle.css" title = "Compact" rel = "stylesheet" type = "text / css">

Додавання ключового слова "alternate" а атрибут rel зробить її альтернативної таблицею стилів:

 <LINK href = "mystyle.css" title = "Medium" rel = "alternate stylesheet" type = "text / css">

Детальніше про зовнішні таблицях стилів Ви можете дізнатися в розділі про посиланнях і зовнішніх таблицях стилів.

Автори також можуть використовувати для установки бажаної таблиці стилів елемент META . Наприклад, щоб встановити бажану таблицю стилів "compact" (див. Попередній приклад), автори можуть включити в елемент HEAD наступний рядок:

 <META http-equiv = "Default-Style" content = "compact">

Бажану таблицю стилів можна також вказати за допомогою заголовків HTTP. Оголошення META вище еквівалентно заголовку HTTP:

  Default-Style: "compact"

Якщо бажана таблиця стилів вказується двома або більше елементами META або заголовками HTTP, перевага має останнім оголошення. Вважається, що заголовки HTTP обробляються раніше, ніж оголошення HEAD .

Якщо бажана таблиця стилів задається двома або більше елементами LINK , перевага має перша.

Яким надається перевага таблиці стилів, що задаються за допомогою META або заголовків HTTP мають перевагу над таблицями, що задаються елементом LINK .

14.4 Каскади таблиць стилів

Каскадні мови таблиць стилів, такі як CSS, дозволяють використовувати інформацію про стилі з декількох джерел. Однак не всі мови таблиць стилів підтримують каскади. Щоб визначити каскад, автори вказують послідовність елементів LINK і / або STYLE . Каскад інформації таблиць стилів проводиться в порядку позначення елементів в розділі HEAD .

Примітка. В даній специфікації не описано каскадирование таблиць стилів різних мов. Авторам слід уникати змішування мов.

У наступному прикладі ми визначаємо дві альтернативні таблиці стилів з ім'ям "compact". Якщо користувач вибирає стиль "compact", агент користувача повинен застосовувати обидві зовнішні таблиці, а також постійну таблицю "common.css". Якщо користувач вибирає стиль "big print", застосовуватися будуть тільки альтернативна таблиця "bigprint.css" і постійна таблиця "common.css".

 <LINK rel = "alternate stylesheet" title = "compact" href = "small-base.css" type = "text / css">
 <LINK rel = "alternate stylesheet" title = "compact" href = "small-extras.css" type = "text / css">
 <LINK rel = "alternate stylesheet" title = "big print" href = "bigprint.css" type = "text / css">
 <LINK rel = "stylesheet" href = "common.css" type = "text / css">

Ось приклад каскаду, в якому задіяні обидва елементи - LINK і STYLE .

 <LINK rel = "stylesheet" href = "corporate.css" type = "text / css">
 <LINK rel = "stylesheet" href = "techreport.css" type = "text / css">
 <STYLE type = "text / css">
  p.special {color: rgb (230, 100, 180)}
 </ STYLE>

14.4.1 Каскади, залежні від пристроїв

Каскад може включати таблиці стилів, що застосовуються до різних пристроїв. Елементи LINK і STYLE можуть використовуватися з атрибутом media . Агент користувача несе відповідальність за відфільтровування таблиць стилів, що не застосовуються до поточного пристрою.

У наступному прикладі ми визначаємо каскад, в якому таблиця стилів "corporate" представляється в декількох версіях: одна для друку, інша для екранного подання, третя для мовних браузерів (корисна, наприклад, при читанні електронної пошти в машині). Таблиця "techreport" застосовується до всіх пристроїв. Кольорова rule, що визначається елементом STYLE , використовується для друку і для екрану, але не для звукового уявлення.

 <LINK rel = "stylesheet" media = "aural" href = "corporate-aural.css" type = "text / css">
 <LINK rel = "stylesheet" media = "screen" href = "corporate-screen.css" type = "text / css">
 <LINK rel = "stylesheet" media = "print" href = "corporate-print.css" type = "text / css">
 <LINK rel = "stylesheet" href = "techreport.css" type = "text / css">
 <STYLE type = "text / css">
  p.special {color: rgb (230, 100, 180)}
 </ STYLE>

14.4.2 Спадкування і каскади

Якщо агент користувача збирається представляти документ, йому необхідно знайти значення для властивостей стилю, наприклад, сімейство шрифтів, накреслення, розмір шрифту, довжину рядка, колір тексту і т.д. Точний механізм залежить від мови таблиць стилів, але в загальному застосовується наступне:

Механізм каскадирования використовується, якщо до елементу застосовується ряд правил стилю. Цей механізм дозволяє агенту користувача сортувати правила по специфічності і визначати, яке правило потрібно застосувати. Якщо правило неможливо знайти, наступний крок залежить від успадкування властивості. Не всі властивості можуть успадковуватися. Для цих властивостей мову таблиць стилів забезпечує значення за замовчуванням для використання в разі відсутності явних правил для конкретного елемента.

Якщо властивість може успадковуватися, агент користувача перевіряє безпосередньо елемент, в який вкладено поточний елемент, і шукає правило, застосовується до нього. Цей процес триває до тих пора, поки що застосовується правило не буде виявлено. Цей механізм забезпечує компактне завдання таблиць стилів. Наприклад, автори можуть вказати сімейство шрифтів для всіх елементів в розділі BODY за допомогою одного правила для елемента BODY .

14.5 Як приховати інформацію про стилі від агентів користувачів

Деякі мови таблиць стилів підтримують синтаксис, що дозволяє авторам приховувати вміст елементів STYLE від невідповідних агентів користувачів.

В даному прикладі для CSS показано, як можна приховати вміст елементів STYLE , щоб гарантувати, що старіші невідповідні специфікації агенти користувачів не будуть представляти їх у вигляді тексту.

 <STYLE type = "text / css">
 <! -
  H1 {color: red}
  P {color: blue}
  ->
 </ STYLE>

14.6 Прив'язка таблиць стилів за допомогою заголовків HTTP

Менеджери Web-серверів можуть конфігурувати сервер таким чином, щоб таблиця стилів застосовувалася до групи сторінок. Тема HTTP Link, описаний в [RFC2068] , розділ 19.6.1.2, діє так само, як елемент LINK , з тими ж атрибутами і значеннями. Кілька заголовків Link відповідають декільком елементам LINK в тому ж порядку. наприклад,

 Link: <http://www.acme.com/corporate.css>;  REL = stylesheet

відповідає:

 <LINK rel = "stylesheet" href = "http://www.acme.com/corporate.css">

Можна задати кілька альтернативних стилів за допомогою декількох заголовків Link, а потім використовувати атрибут rel для визначення стилю за замовчуванням.

У наступному прикладі стиль "compact" застосовується за умовчанням, оскільки в ньому відсутня ключове слово "alternate" для атрибута rel .

 Link: <compact.css>;  rel = "stylesheet";  title = "compact"
 Link: <bigprint.css>;  rel = "alternate stylesheet";  title = "big print"

Це працює і при відправці документів HTML по електронній пошті. Деякі агенти електронної пошти можуть змінювати порядок заголовків [RFC822] . Щоб захистити стиль від зміни порядку каскадів для таблиць, що задаються заголовками Link, автори можуть використовувати об'єднання заголовків для об'єднання декількох екземплярів одного і того ж поля заголовка. Лапки необхідні тільки в разі, якщо значення атрибутів включають прогалини. Використовуйте SGML entities для посилань на символи, неприпустимі в заголовках HTTP або електронної пошти або символів, які можуть бути змінені під час передачі через шлюзи.

Елементи LINK і META , implied заголовками HTTP, визначаються як зустрінуті раніше явного елемента LINK and META а розділі HEAD документа.