Блокова верстка - в даний момент є основним способом верстки. На відміну від табличної блокова верстка має ряд переваг:
- Відділення стилю елементів від коду html;
- Можливість накладення одного шару на інший - така можливість багато в чому полегшує позиціонування елементів.
- Краща індексація пошуковими системами;
- Висока швидкість завантаження сторінки, складається від взаємно незалежних елементів;
- Легкість створення візуальних ефектів (випадають меню, списків, спливаючих підказок).
Основним елементом, що застосовується в блоковій верстці, є тег <div>. Частина коду, відокремлена цим тегом, називається шаром. Тег <div> - це так званий контейнер (блок), який може містити форматований текст, зображення та ін
Приклад блочної верстки:
Все, що позначено рожевими прямокутниками, прив'язано за допомогою блоків div. Самі блоки, можуть не відображатися на сторінці, а служити тільки як контейнери для інших елементів. Отже, блоки div:
- Блокові елементи які розтягуються на всю ширину екрану
- Якщо всередині блоку не міститься елементів, або блоку не задана висота - то висота блоку складає 0px. Тобто блоку не видно на сторінці
- Не має кольору фону, не має обведення. Щоб побачити блок, потрібно надайти йому колір фону
Структура блоку
Кожен блок складається:
· з вмісту елементу,
· відступу між вмістом і кордоном блоку (padding-right, padding-left, padding-top, padding-bottom)
· самого кордону блоку (border-left, border- right, border- top, border- bottom)
· а також поля (відстань від кордону блоку до іншого елементу) блоку (margin- left, margin- right, margin- top, margin- bottom)
Параметри відступів у блоці встановлюються по часовій стрілці!
Властивості блоку
Висота і ширина
Властивість
|
Опис
|
Приклад CSS
|
height
|
Властивість height визначає висоту елементу.
Синтаксис:
height: значення | відсотки | auto | inherit
Значення:
Значення - пікселі (px), дюйми (in), пункти (pt).
% - висота елемента обчислюється залежно від висоти батьківського елементу. Якщо батьківський явно не вказано, то в його якості виступає вікно браузера.
auto - встановлює висоту виходячи з вмісту елемента
|
div{color: blue; width: 200px; height: 50%;}
|
max-height
|
Вказує максимальну фіксовану висоту.
Синтаксис:
max-height: значення | відсотки | none | inherit
Значення:
значення - пікселі (px), відсотки (%). Негативні значення не допускаються.
None - Скасовує дію цієї властивості.
Inherit - Успадковує значення батьківське.
|
div {max-height: 300px}
|
max-width
|
Вказує максимальну фіксовану ширину.
синтаксис
max-width: значення | відсотки | none | inherit
значення- пікселі (px), відсотки (%). Негативні значення не допускаються.
None - Скасовує дію цього властивості.
Inherit - Успадковує значення батьківські.
|
div{width: 70%; max-width: 900px; height: 100px; }
|
min-height
|
Вказує мінімальну фіксовану висоту.
синтаксис
min-height: значення | відсотки | inherit
значення - пікселі (px), відсотки. Негативні значення не допускаються.
inherit - успадковує значення батьківські
|
div{height: 80%; min-height: 200px; width: 700px; }
|
min-width
|
Вказує мінімальну фіксовану ширину.
синтаксис
min-width: значення | відсотки | inherit
значення - пікселі (px), відсотки. Негативні значення не допускаються.
inherit - успадковує значення батьківські
|
div{width: 70%; min-width: 400px; height: 100px; }
|
overflow
|
Визначає, що робити, якщо вміст елемента перевершує розмір області елемента.
Синтаксис
overflow: auto | hidden | scroll | visible | inherit
Значення:
Visible - Відображається весь зміст елемента, навіть за межами встановленої висоти і ширини.
Hidden - Відображається лише область всередині елемента, інше буде закрито.
Scroll - Завжди додаються смуги прокрутки.
Auto - Смуги прокрутки додаються тільки при необхідності.
Inherit - Наслідує батьківське значення.
|
div {width: 150px; height: 150px; overflow: scroll;}
|
overflow-x
|
Вказує, обрізати чи ні лівий/правий край вмісту - якщо воно переповнює доступну область елемента для його змісту.
| div {overflow-x: hidden;} |
overflow-y
|
Вказує, обрізати чи ні верхній/нижній край вмісту - якщо воно переповнює доступну область елемента для його змісту.
| div {overflow-y: scroll;} |
resize
|
Вказує, чи може розмір елемента змінюватися користувачем.
Cинтаксис
resize: none|both|horizontal|vertical|initial|inherit;
Значення:
None - Розміри елемента не змінюються.
Both - Можна змінювати розміри елемента по горизонталі та вертикалі.
Horizontal - Можна змінювати розміри елемента тільки по горизонталі.
Vertical - Можна змінювати розміри елемента тільки по вертикалі.
Initial - Встановлює цю властивість в значення за замовчуванням.
inherit Успадкує значення від свого батьківського елемента.
| div { resize: both; overflow: auto; } |
width
|
Властивість width визначає ширину елементу. Висота цього елементу буде залежною від змісту елементу.
|
div{color: blue; width: 200px;}
|
Відступи, поля
Властивість
|
Опис
|
Приклад CSS
|
margin-left
|
Визначення величини зовнішнього поля ліворуч від елементу.
Синтаксис
margin-left: значення | auto | inherit
Значення:
значення: в пікселях (px), відсотках (%). Значення може бути як позитивним, так і негативним числом.
Auto - Вказує, що розмір відступів буде автоматично розрахований браузером.
Inherit - Успадковує значення батьківське.
|
h2 {margin-left: 20px}
img { margin-right: 20pt}
p { margin-left: 2cm}
|
margin-right
|
Задання величини зовнішнього поля праворуч від елементу.
|
h2 {margin-right: 20px}
img { margin-right: 20pt}
p { margin-left: 2cm}
|
margin-top
|
Визначення величини зовнішнього поля зверху від елементу.
|
h2 {margin-top: 10px}
p{margin-top: 100px; margin-right: 40px; margin-bottom: 10px; margin-left: 70px;}
|
margin-bottom
|
Задання величини зовнішнього поля знизу від елементу.
|
h2 {margin-bottom: 10px}.
|
padding-left
|
Визначення ширини внутрішнього відступу від елементу до бордюру ліворуч.
|
h2 {padding-left: 5px}
h1 {background: green;
padding: 10px 10px 10px 60px;}
img {padding-left: 120px;}
|
padding-right
|
Задання ширини внутрішнього відступу від елементу до бордюру праворуч.
|
h2 {padding-right: 5px}.
|
padding-top
|
Визначення ширини внутрішнього відступу від елементу до бордюру зверху.
|
h2 {padding-top: 10px}.
|
padding-bottom
|
Задання ширини внутріш
нього відступу від елементу до бордюру знизу.
|
h2 {padding-bottom: 5px}.
|
Рамка і контур
Властивість
|
Опис
|
Приклад CSS
|
border
|
Універсальна властивість border дозволяє одночасно встановити товщину, стиль і колір лінії навколо елемента..
синтаксис
border: [border-width || border-style || border-color] | inherit
значення
border-width - визначає товщину лінії.
border-style - керування типом лінії
border-color встановлює колір лінії
inherit успадковує значення батьківське.
|
border: 4px
|
border-bottom
|
Дозволяє використовувати значення основних властивостей для нижньої межі рамки в одному оголошенні.
синтаксис
border-bottom: [border-width || border-style || border-color] | inherit
|
{border-bottom-width: 2px; }
|
border-bottom-color
|
Задає колір для нижньої межі рамки.
Синтаксис
border-bottom-color: колір | transparent | inherit
Значення
Transparent - встановлює прозорий колір.
Inherit - Наслідує батьківське значение
|
{border-bottom-color: white;}
|
border-bottom-left-radius
|
Встановлює радіус округлення лівого нижнього кутка рамки. Якщо рамка не задана, то округлення також відбувається і з фоном
Синтаксис:
border-bottom-left-radius: [значення | відсотки] [значення | відсотки]
значення:
значення - px, cm, in, em і відсотки,
|
{border-bottom-left-radius: 20px}
|
border-bottom-right-radius
|
Дозволяє зробити округлий кордон нижнього правого кута.
|
{border-bottom-right-radius: 20px}
|
border-bottom-style
|
Визначає стиль для нижньої межі рамки.
|
{border-bottom-style: solid; }
|
border-bottom-width
|
Визначає ширину для нижньої межі рамки.
|
{border-bottom-width: 7px; }
|
border-color
|
Визначення кольору рамки, яке впливає на всі її сторони. Варіанти задання і застосування значень до сторін рамки (для вказаного одного значення, двох і т.д.) аналогічні двом попереднім властивостям: border-width і border-style.
|
h2 {border-color: blue},
h2 {border-style: blue red}, h2 {border-style: black #f2f2f2 yellow}, h2 {border-style: green #f2f2f2 blue yellow}. |
border-image
|
Дозволяє використовувати зображення в якості рамки.
|
{border-image: url(images/image.png) }
|
border-left
|
Дозволяє використовувати значення основних властивостей для лівої межі рамки в одному оголошенні.
|
{border-left: 2px dotted green; }
|
border-left-color
|
Задає колір для лівої межі рамки.
|
border-left-color: #fc0;
|
border-left-style
|
Визначає стиль для лівої межі рамки.
|
border-left-style: double;
|
border-left-width
|
Визначає ширину для лівої межі рамки.
|
border-left-width: thick;
|
border-radius
|
Дозволяє змінити форму кутів.
|
{border-radius: 40px 10px}
|
border-right
|
Змінює зовнішній вигляд правої межі рамки.
|
{border-right: 1px solid red; }
|
border-right-color
|
Задає колір для правої межі рамки.
|
{border-right-color: navy; }
|
border-right-style
|
Визначає стиль для правої межі рамки.
|
{border-right-style: dotted; }
|
border-right-width
|
Задає ширину для правої межі рамки.
|
{border-right-width: 2px; }
|
border-style
|
Встановлює стиль кордону навколо елемента
Синтаксис
border-style: [none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset] {1,4} | inherit
|
h2 {border-style: solid},
h2 {border-style: solid }, h2 {border-style: dotted}, h2 {border-style: outset}. |
border-top
|
Змінює зовнішній вигляд верхньої межі рамки.
|
{border-top: 1px solid red; }
|
border-top-color
|
Задає колір для верхньої межі рамки.
|
{border-top-color: #ccc; }
|
border-top-left-radius
|
Дозволяє зробити округлу кордон верхнього лівого кута.
|
{border-top-left-radius: 10px; }
|
border-top-right-radius
|
Дозволяє зробити округлу кордон верхнього правого кута.
|
{border-top-right-radius: 10px; }
|
border-top-style
|
Визначає стиль для верхньої межі рамки.
|
{border-top-style: double; }
|
border-top-width
|
Визначає ширину для верхньої межі рамки.
|
{border-top-width: 7px; }
|
border-width
|
Означення товщини рамки навколо елементу
Синтаксис
border-width: [значення | thin | medium | thick] {1,4} | inherit
Значення:
thin (2 пікселя), medium (4 пікселі) і thick (6 пікселів) задають товщину лінії.
|
h2 {border-width: 4px};
h2 {border-width: 4px 3px}; h2 {border-width: 4px 3px 2px}; h2 {border-width: 4px 3px 2px 1px} |
outline
|
Утворює певну межу навколо елементу.
|
{outline: 1px solid #666; }
|
outline-color
|
Визначає колір зовнішнього кордону.
|
{outline-color: #be8b5e; }
|
outline-offset
|
Зрушує зовнішній кордон на задану відстань від краю елемента.
|
{outline-offset: -10px; }
|
outline-style
|
Вказує стиль для зовнішнього кордону.
|
{outline-style: none; }
|
outline-width
|
Вказує ширину для зовнішнього кордону.
|
{outline-width: 3px; }
|
Приклад реалізації блоку
Завдання для самостійного виконання:
Завдання 1. Створити файл з таким кодом:
<html><head>
<meta charset="utf-8">
<title>width-height</title>
</head>
<body>
<div class="layer1">
<p><strong>Властивість: height</strong> встановлює висоту блокових або замінних елементів. Висота не включає товщину кордонів навколо елемента, значення відступів і полів.</p>
</div>
<div class="layer2">
<p><strong>Властивість: width</strong> встановлює ширину блокових або замінних елементів. Ширина не включає товщину кордонів навколо елемента, значення відступів і полів. Висота цього елементу буде залежною від вмісту елементу.
</p>
</div>
</body>
</html>
У файлі css вказати такі властивості для 1 блоку:
- кордон: товщина - 1px, пряма лінія, колір - #ccc;
- висота блоку: 200px;
- ширина блоку: 500px;
- додати смуги прокрутки для блоку;
- колір фону блоку: #fc0;
- ширина внутрішнього відступу від вмісту блоку до кордону: 7px;
- ширина блоку: 50%;
- колір фону: #ff0;
- ширина внутрішнього відступу від вмісту блоку до кордону: 5px;
Завдання 3. Створеному div округлити всі кути на 15px.
Завдання 4. Створеному div округлити верхні кути на 20px, а всі інші на 5px.
Завдання 5. Створеному div скруглити кути на 100px. Звернути увагу як зміниться зовнішній вигляд блоків. Даним способом створюють круглі елементи.
Завдання 6. Додайте до запропонованого HTML коду оформлення, щоб отримати малюнок мішеней представлений нижче (товщина ліній 10px, радіус заокруглення 200 px, відстань між блоками 15 px, найменший блок має розмір 50 на 50 px, найбільший блок: 150 на 150 px.
Завдання 7. Створити вертикальне меню такого зразка:
ширина меню - 200 рх
зовнішній відступ знизу - 5рх
колір- синій
розмір шрифта - 13рх, Arial
Рамка - 1 рх, суцільна лінія, колір - синій
Елементи виводяться на сторінці як блочні
міжрядковий інтервал - 30 рх
При наведенні курсору на посиланні - товщина ліній шрифту змінюється на жирний
Де можна подивитися результат чи відповіді до завдань?
ВідповістиВидалити