Селектори визначають, у який спосіб CSS-стилі надаються HTML-елементам. При відповідному визначенні спершу вказується ім'я елемента, до якого має отримати доступ селектор. Справжнє оголошення відбувається потім у фігурних дужках. У межах одного оголошення можна вказати одне або кілька властивостей. Стандартний синтаксис виглядає наступним чином:
Селектор { Властивість1: Значення; Властивість2: Значення; Властивість3: Значення; }
Відповідне означення ви вже зустріли в попередньому практичному посібнику.
h1 { font-family:"Courier New", Courier, monospace; font-size: 200%; }
Обов'язково дотримуйтеся того, щоб завершувати кожне оголошення крапкою з комою.
Погляд на наявні селектори
Фактично CSS пропонує досить велику кількість селекторів, з яких я розкажу вам основні. Бо очевидно: тільки володіючи роботою з селекторами, можна взагалі розумно визначити CSS-властивості.
Найпростіший спосіб призначити стилі всередині HTML-документу - це селектор елемента.
Шляхом використання такого синтаксису усім елементам p
назначається чорний колір.
p { color: #009966; }
Якщо ви хочете призначити один стиль декільком елементам, це також можливо.
У цьому випадку просто записуйте відповідні елементи підряд, розділені комами.
p, h1, li { color: #000; }
Ви також можете призначити кілька стилів елементам. Зазначені стилі записуються через крапку з комою.
p { color: #000; background-color: red; }
Також можлива комбінація наведених варіантів.
p, h1, li { color: #009966; background-color: red; }
Результат може виглядати так:
Ділянки з декількома елементами
Часто виникає потреба оформити область, яка складається з кількох HTML-елементів. Для таких випадків у HTML є два спеціальних елементи: span
та div
. Ці елементи ви будете зустрічати в цьому циклі - до речі, стосовно цієї серії.
Приклад:
<div class="artikel"> <h1>Вибух кольорів</h1> <p class="thema">Посібник з розробки вибуху кольорів від <span class="autor">MarkusMelzer</span>.</p> </div>
Єдиний відмінок між div
та span
полягає в тому, що елемент div
примусово створює новий рядок у текстовому потоці. span
, натомість, не створює новий рядок. У показаному прикладі визначається область div, в якій міститься заголовок і абзац. Знову ж таки усередині абзацу є span
область.
Ідентифікатори та класові селектори
До цього моменту використовувалися селектори елементів. У наступному прикладі за допомогою такого селектора форматуються всі заголовки h1
.
h1 { color: #000; background-color: red; }
Але такий підхід далеко не завжди є бажаним. Що, наприклад, якщо ви хочете призначити певні властивості лише одному чи кільком, але не всім заголовкам h1
? Для таких випадків CSS пропонує два варіанти - класові та ідентифікаційні селектори.
За допомогою класових селекторів можна цілком цільово вибрати HTML-елементи з атрибутами класів. У відповідному HTML-елементі для цього потрібно вказати атрибут class
. Визначення класу починається з крапки.
Приклад:
.red { color: red; }
Тут був визначений клас red
. Щоб додати червоний призначені стилі HTML-елементу, слід вказати class
, за яким слідує назва класу.
<p class="red">PSD-Tutorials.de</p>
Ідентифікаторний селектор використовується подібно. Ідентифікаційний селектор відрізняється подвійним хрестом.
#topnavi { color: blue; };
У цьому прикладі визначено ідентифікатор topnavi
. Але увага: Ідентифікатор насправді можна призначити лише один раз всередині документа. Доступ до визначеної властивості ідентифікатора виглядає наступним чином:
<div id="topnavi">Тут розміщена навігація</div>
До атрибуту id призначається ім'я ID. Зверніть увагу, що тут не потрібно записувати символ решітки.
Показані відомості можна також поєднувати між собою. Так, наприклад, можна призначити декілька класів одному HTML-елементові.
<p class="rot gross">PSD-Tutorials.de</p>
В цьому прикладі текстовому абзацу призначаються два класи rot
і gross
. Якщо ви хочете вказати клас та id, виглядатиме це наступним чином:
<p class="rot" id="navi">PSD-Tutorials.de</p>
Також можна поєднувати елементи та id. Ось приклад:
div.navi { color: blue; }
Ця синтаксична конструкція стосується виключно елементів div із класом navi. Елементи p, які також мають клас navi, залишаються незмінними.
У CSS існує ще один спосіб поєднання селекторів. Подивіться наступну синтаксичну конструкцію:
h1 { color: red; } em { color: blue; }
Тут всім заголовкам першого рівня призначається червоний колір. em
-елементи отримують синій колір.
Поєднуючи обидві інструкції, можна зробити так, що лише em
-елементи будуть синіми, які знаходяться всередині елементів h1
.
h1 em { color: blue; };
Імена елементів тут записуються без ком з відокремленням один від одного.
Це, до речі, популярна помилка, у яку також потрапляють початківці CSS. Ось та сама синтаксична конструкція, в якій проте поставлена кома:
h1, em { color: blue; }
Що означає ця синтаксична конструкція? Всі h1
-і всі em
-елементи вказуються. Це зовсім інше, ніж синтаксис без коми!
Ще один важливий селектор - універсальний селектор. Він дозволяє вибрати будь-який елемент. Цей селектор визначається за допомогою зірочки.
* { color: red; }
Ця синтаксична конструкція зробить всі елементи червоними. І з цим селектором слід враховувати деякі особливості синтаксису.
#mainnavi * { color: red; }
У цьому прикладі передній фон всіх елементів всередині елемента з ID mainnavi
буде синім. Проте це не стосується самого елемента.
Якщо б універсальний селектор знаходився у початку декларації, ви його, до речі, не записували б. Ось такий варіант був би зайвий:
* p { color: red; }
Ця синтаксична конструкція еквівалентна наступній:
p { color: red; }
У наступному навчальному посібнику ви дізнаєтеся ще більше про селектори.