Кодування — це не лише теорія; в основному, це практика. Однак перед тим, як зануритися у світ кодування, я хочу дати вам швидкий курс по — CSS, або (Cascading Style Sheets).
У цьому 5-хвилинному посібнику ми покриємо все, що вам потрібно знати про CSS: від того, що це таке, до того, як він допомагає стилізувати веб-сторінки. Тож, давайте почнемо!
Що таке CSS?
CSS — це мова стилів, яку використовують для того, щоб сайти виглядали чудово! Вона допомагає нам контролювати макет, зовнішній вигляд і поведінку веб-сторінок, застосовуючи стилі до елементів HTML.
3 способи написання CSS
Існує три способи написати CSS:
- Вбудований: Ви можете додати CSS безпосередньо до елемента HTML за допомогою атрибута
style
.
<p style="color:blue;">Цей текст синій!</p>
- Вбудований у документ: Ви можете вставити CSS у HTML-документ за допомогою тега
<style>
.
<style>
p { color: red; }
</style>
- Зовнішній: Ви можете підключити зовнішній CSS-файл до вашого HTML-документу за допомогою тега
<link>
.
<link rel="stylesheet" href="styles.css">
p { color: red; }
body { font-family: "montserrat", font-size: large; }
Селектори
У зовнішньому та вбудованому CSS ви використовуєте так звані селектори, щоб визначити, які елементи стилізувати. Існує п’ять типів селекторів:
- Селектор елементів: Стилізує всі елементи HTML з конкретним тегом.
p {
color: blue;
}
- Селектор класу: Стилізує HTML-елементи з конкретним атрибутом класу.
.example {
font-size: 18px;
}
- Селектор ID: Стилізує HTML-елемент з конкретним атрибутом ID.
#header {
background-color: #333;
}
4. Універсальний селектор: Стилізує всі елементи HTML.
* {
box-sizing: border-box;
}
5. Псевдоселектор: Стилізує елемент залежно від його стану (наприклад, hover, focus).
```
a:hover {
color: red;
}
input:focus {
background-color: blue;
font-size: 20px;
}
```
Бали специфічності
Що відбувається, коли два правила CSS намагаються стилізувати один і той самий елемент? Ось тут і вступає в гру бал специфічності. Він визначає, яке правило має перевагу.
Бал специфічності обчислюється залежно від типу селектора:
- Вбудовані стилі:
1000
- Селектори ID:
100
- Селектори класу:
10
- Селектори елементів:
1
Все просто: чим вищий бал специфічності, тим вищий пріоритет має відповідне CSS-правило. Стиль з вищим балом специфічності переписує стиль з нижчим балом.
Деякі порівняння специфічності:
1. вбудований CSS > внутрішній CSS > зовнішній CSS
2. #
> .
> елемент > *
3. дочірній елемент > батьківський елемент.
Модель блоку (Box Model)
Модель блоку — це основоположне поняття в CSS, яке допомагає зрозуміти, як елементи відображаються на веб-сторінці. Вона складається з:
- Контент
- Відступи (Padding)
- Межі (Border)
- Поля (Margin)
div {
width: 300px;
height: 100px;
background-color: #f0f0f0;
padding: 20px;
border: 1px solid #000;
margin: 10px;
}
Основні одиниці вимірювання
Ось деякі ключові одиниці вимірювання в CSS:
- px: Пікселі (абсолютне вимірювання)
- %: Відсотки (відносне вимірювання)
- rem: Root em (відносне вимірювання)
- em: Em (відносне вимірювання)
Додатково ви можете використовувати абсолютні та відносні одиниці, як-от in
, cm
, mm
тощо.
CSS-обчислення
В CSS ви можете поєднувати два значення, використовуючи оператор +
.
Наприклад:
div {
width: calc(50% + 5px);
height: calc(32px + 2rem);
}
Позиціонування в CSS
Властивість position
визначає тип методу позиціонування елемента (статичне, відносне, фіксоване, абсолютне або липке).
1. static: Стандартна схема позиціонування.
div {
position: static;
}
- relative: Позиціонує елемент відносно його звичайного положення.
div {
position: relative;
top: 10px; /* переміщає div на 10px від його початкового положення */
}
- fixed: Виводить елемент із звичайного потоку документа та позиціонує його в певному місці на сторінці.
div {
position: fixed;
top: 0; /* розміщує div вгорі сторінки */
}
- absolute: Позиціонує елемент абсолютно, виводячи його з нормального потоку документа.
div {
position: absolute;
left: 10px; /* переміщає div на 10px вліво */
}
- sticky: Поєднує фіксоване та відносне позиціонування. Елемент залишається на своєму звичайному місці, поки не досягне певної точки, після чого стає фіксованим.
div {
position: sticky;
top: 0; /* тримає div вгорі сторінки */
}
CSS вимірювання
В CSS вимірювання можуть бути абсолютними або відносними. Абсолютні одиниці, такі як пікселі (px), є фіксованими значеннями, що залишаються незмінними незалежно від контексту елемента. З іншого боку, відносні одиниці, такі як відсотки (%), ем (em) та рем (rem), розраховують своє значення залежно від розміру шрифта чи ширини батьківського елемента.
Давайте розглянемо кожну одиницю вимірювання:
- Пікселі (px): Фіксована одиниця вимірювання, що дорівнює точці на комп'ютерному моніторі. Приклад:
width: 200px;
Це встановлює ширину елемента на 200 пікселів. - Відсотки (%): Відносне вимірювання, яке обчислює своє значення залежно від розміру шрифта чи ширини батьківського елемента. Приклад:
font-size: 18%;
Це встановлює розмір шрифта на 18% від розміру шрифта батьківського елемента. - Еми (em): Відносна одиниця, що вимірює розмір шрифта, де 1 em дорівнює розміру шрифта батьківського елемента. Приклад:
font-size: 2em;
Це встановлює розмір шрифта в два рази більший за розмір шрифта батьківського елемента. - Реми (rem): Схоже на em, але з фіксованим значенням кореня 16px. Приклад:
font-size: 1.5rem;
Це встановлює розмір шрифта на 24px (1,5 рази більше за стандартний розмір шрифта).
Псевдоселектори
Псевдоселектори допомагають вам змінювати стилі елемента залежно від його стану в HTML.
li:hover {
background-color: #ccc;
}
Цей код змінює колір фону елемента <li>
, коли на нього наводять курсор. Деякі поширені псевдоселектори:
:hover
:focus
:active
:nth-child()
Псевдоелементи
Псевдоелементи дозволяють стилізувати частини елемента HTML, наприклад його вміст чи коробку.
banner::after {
content: "Copyright 2025";
}
Цей код додає псевдоелемент після елемента <banner>
з текстом "Copyright 2025".
Ось і все! Це лише коротке введення в CSS. Для більш детальної документації звертайтесь до W3Schools.
Цей блог є частиною більшої серії "Оволодіння MERN у 2025 році", де я розглядаю все, що потрібно знати про створення сучасних веб-застосунків за допомогою MERN (MongoDB, Express, React, Node.js).
Перекладено з: CSS -Tutorial: All You Need to Know About CSS in 5 mins