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

HTML & CSS для початківців (частина 28): Так відбувається доступ за допомогою селекторів (3)

Усі відео з уроку

У цьому останньому підручнику про селектори я представлю вам дуже специфічну форму селекторів. Це так звані псевдокласи та псевдоелементи. Це селектори, які не відносяться до певних HTML-елементів, а генеруються пристроєм виведення.

За допомогою псевдокласів та псевдоелементів можна визначити декларації для елементів HTML, які не можуть бути однозначно описані за допомогою HTML-елементів. Типовими прикладами є недавно натиснутий або ще не відвіданий гіперпосилання.

Оформлення гіперпосилань

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

Якщо ви, наприклад, хочете призначити гіперпосиланню червоний колір, це виглядатиме наступним чином:

a:link {
   color: red; 
}



З a:visited уже позначаються відвідані гіперпосилання. За допомогою наступного синтаксису можна представити такі гіперпосилання, які вже були натиснуті, синім кольором.

a:visited { 
  color:blue;  
  text-decoration:none; 
}

В браузері це виглядає так:

HTML та CSS для початківців (Частина 28): Отже, доступ з селекторами (3)

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

a:active { 
   font-weight: bold; 
   color: blue; 
   text-decoration: none; 
}



Для цього використовується синтаксис a:active.

HTML & CSS для початківців (Частина 28): Як працювати з селекторами (3)



Синтаксис a:hover, з іншого боку, вказує на стан, коли курсор миші перебуває над гіперпосиланням. Крім того, є ще один псевдоелемент a:focus. Це описує момент, коли гіперпосилання отримує фокус.

Інші псевдоелементи

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

h1::first-letter { 
   color: blue; 
}



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

p::first-line { 
   background-blue; 
}



І ось результат в браузері:

ein

HTML & CSS для початківців (частина 28): Як працювати з селекторами (3)

За допомогою псевдоелементів :after та :before можна вставляти додатковий вміст до та після елементу. За допомогою content визначається, що має бути виведено.

• normal – зазвичай визначений псевдоелемент не генерується.

• none – псевдоелемент не генерується.

• <string> – виводиться вказаний рядок. Рядки слід заключати в одиночні або подвійні лапки.

• <uri> – вставляється ресурс, вказаний у URI.

• <counter> – визначає лічильник або звертається до певного лічильника.

• attr(<identifier>) – вставляється значення атрибута, вказаного в дужках.

• close-quote – додає закриваючий лапки.

• no-close-quote – закриваючі лапки не додаються, але глибина вкладеності збільшується на одиницю.

• no-open-quote – відкриваючі лапки не додаються, але глибина вкладеності збільшується на одиницю.

• open-quote – додає відкриваючий лапки.

Приклад:

ul li:before { 
   content: uri("bullet.gif"); 
}



З CSS3 також було введено псевдоселектор :not. За його допомогою можна дуже просто вибирати конкретний вміст. Перший приклад показує, наскільки потужним є цей псевдоселектор насправді. Припустимо, ви хочете вибрати всі гіперпосилання, які не мають атрибута href. Відповідний синтаксис виглядав би наступним чином:

a:not([href])



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

<a name="top">Сторінка вверх</a>

Ще один більш детальний приклад показує потужність :not. У документі визначено різні абзаци тексту.

<body>
<h1>PSD-Tutorials.de</h1>
<p>Це є абзац.</p>
<p>Це є ще один абзац.</p>
<div>Це є область тексту.</div>
<a href="http://www.psd-tutorials.de" target="_blank">PSD-Tutorials.de</a>
</body>



Окрім текстових абзаців, позначених з p, існує також область div та посилання. Тепер має відбутися наступне:

• Всі текстові абзаци, позначені з p, отримають чорний колір шрифту.

• У всіх місцях, де немає текстових абзаців p, буде використовуватися червоний колір шрифту.

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

p {
    color:#000;
 }
 :not(p) {
    color:#ff0000;
 }

Принцип успадкування

Одним із найважливіших аспектів у зрозумінні визначень CSS є успадкування. Фактично, в CSS стильові властивості успадковуються з одного елементу на інший.

Приклад:

html {
    color: red
 }

Цим визначенням кольоровий передній план html-елементу призначається червоний.

HTML та CSS для початківців (частина 28): Так відбувається доступ з селекторами (3)

Через це визначення кольору html впливає тільки на внутрішність div. Текстовий абзац робиться чорним.

У CSS існують різні способи встановлення стильових визначень. Це все лежить в основі того, що для елементу можуть існувати протирічливі вказівки. У таких випадках CSS передбачає принцип зважування. Цей принцип визначає, яка з інструкцій має перевагу для елементу. Я не пройду у деталі цього принципу в цей момент. Ви можете знайти докладні інформації, наприклад, на веб-сайті http://wiki.selfhtml.org/wiki/CSS/Kaskade або також на http://www.thestyleworks.de/basics/cascade.shtml.

Моя мета - показати, на що варто звертати увагу при визначенні властивостей CSS. Це продемонструє такий приклад:

<!DOCTYPE html>
<html lang="de">
<head>
<title>PSD-Tutorials.de</title>
<meta charset="UTF-8" />
<style>
body {
   font-family:Arial, Helvetica, sans-serif;
   font-size: 90%;
}
p {
   color: #000;
}
h1 {
   font-size: 120%;
   font-weight: normal;
}
strong {
   color:#CCCCCC;
}
h2 strong {
   color: red;
}
</style>
</head>
<body>
<div>
  <h1>PSD-Tutorials.de</h1>
  <p>Це абзац з <strong>жирним словом</strong>.</p>
  <h2>Це заголовок з <strong>жирним словом</strong>.</h2>
</div>
</body>
</html>

У браузері це виглядає наступним чином:

HTML & CSS для початківців (Частина 28): Отже, як отримати доступ за допомогою селекторів (3)



Як бачите, слова, позначені strong, форматуються по-різному. Формат, який застосовується, залежить від порядку визначень.

Також існує ключове слово !important, за допомогою якого можна позначити CSS-інструкцію як особливо важливу.

<style>
body {
   font-family:Arial, Helvetica, sans-serif;
   font-size: 90%;
}
p {
   color: #000;
}
h1 {
   font-size: 120%;
   font-weight: normal;
}
strong {
   color:#CCCCCC !important;
}
h2 strong {
   color: red;
}
</style>

Ось як виглядає результат:

HTML і CSS для початківців (Частина 28): Як отримати доступ за допомогою селекторів (3)



В цьому контексті обов'язково прочитайте згадані у цьому покроковому покроці джерела. (Навіть якщо на початку вам не доведеться дуже заглиблюватися в цю тему).