- •Лабораторна робота № 9 Блоки у css
- •Теоретична інформація
- •1.1. Блоки.
- •1.2. Поля.
- •Атрибути: margin-top, margin-right, margin-bottom, margin-left.
- •Властивість margin
- •1.3. Границі
- •Властивості border-top-width, border-right-width, border-bottom-width, border-left-width.
- •Властивість border-width
- •Властивість border-color
- •Властивість border-style
- •Властивості border-top, border-right, border-bottom та border-left.
- •Властивість border
- •Властивості padding-top, padding-right, padding-bottom, padding-left.
- •Властивість padding
- •1.4. Відступи
- •1.5. Поля та відступи
- •Виконання роботи
- •3. Завдання для самостійного виконання
- •4. Зміст звіту
- •5. Завдання і запитання для атестації
1.5. Поля та відступи
У яких же випадках слід користуватися відступами, а в яких полями. Ось кілька принципових відмінностей полів і відступів.
Перша відмінність. Відступи розташовуються всередині границь блоку, поля - за їх межами. Для ілюстрації розглянемо два класи:
p_mar { background-color: #FFC; border:1px solid blue; margin: 2em } p_pad { background-color: #FFC; border:1px solid blue; padding: 2em } |
Сформатуємо два різних абзацу за допомогою цих класів:
<Р class="p_mar"> Для цього абзацу використовується клас "p__mar", для нього задані поля розміром 2em.</P> <Р class="p_pad"> Для цього абзацу використовується клас "p_pad", для нього задані відступи розміром 2em.</P> |
В результаті у вікні браузера ми побачимо ці абзаци так, як показано на малюнку:
|
|
Як можна побачити, в першому випадку, коли використовуються поля, "пусті" місця розташовані за межами границь блоку, всередині блоку відступів немає. У другому випадку, коли використовуються відступи, "пустоти" розташовані всередині рамки блоку.
Відступи поширюються на фон блоку і фонове зображення, а на поля ні. Поля завжди прозорі, крізь них просвічує фон батьківського елементу.
Третя відмінність. Розміри полів можуть мати від'ємні значення, а розміри відступів тільки додатні.
Розглянемо такий приклад. Маємо заголовок першого рівня і слідом за ним йде текст якогось абзацу:
<Н1>Заголовок</Н1> <Р>Абзац тексту, на який, за допомогою завдання від'ємних значень для полів, спробуємо "насунути" заголовок.</Р> |
Як такий код буде виглядати у вікні браузера, показано нижче:
Заголовок Абзац тексту, на який, за допомогою завдання від'ємних значень для полів, спробуємо "насунути" заголовок |
Тепер якщо для заголовка написати стиль з використанням властивості margin і поставити йому від'ємне значення, то можна "насунути" заголовок на текст, скоротивши відстань між блоками. Використовуємо, наприклад, від'ємне значення властивості margin-bottom:
H1 { margin-bottom: -1em; } |
Після додавання цього рядка коду вигляд вікна браузера зміниться, як показано нижче:
Заголовок Абзац тексту, на який, за допомогою завдання від'ємних значень для полів, спробуємо "насунути" заголовок |
За рахунок від'ємного значення нижнього поля (margin-bottom:-1em) ми домоглися скорочення відстані між блоками H1 і Р на 1em, в результаті чого і сталося нашарування заголовка на текст абзацу.
Короткий опис усіх властивостей управління характеристиками блоків в CSS наведено в таблиці:
Властивості CSS для керування характеристиками блоків | ||
Властивість |
Опис |
Приклад |
margin-top margin-right margin-bottom margin-left margin |
Чотири індивідуальних властивості, які встановлюють величину верхнього, правого, нижнього і лівого полів, і стенографічна властивість задання всіх полів одночасно (від 1 до 4 значень). Допускається задавання значень в одиницях довжини, відсотках від ширини батьківського блоку. Допустимі від'ємні значення. |
TD {margin: 10 рх} H1 {margin-bottom: -1em} |
padding-top padding-right padding-bottom padding-left padding |
отири індивідуальних властивості, які встановлюють величину верхнього, правого, нижнього, лівого відступів, і стенографічна властивість для задання всіх відступів одночасно (від 1 до 4 значень). Допускається задання значень в одиницях довжини, відсотках від ширини батьківського блоку. Від'ємні значення не допускаються. |
TD {padding: 10px} P {padding: 0.5em 1em} H1 {padding-bottom: 12pt} |
border-top-width border-right-width border-bottom-width border-left-width border-width |
Чотири індивідуальних властивості, які встановлюють ширину верхнього, правого, нижнього і лівого сегментів границь блоку, і стенографічна властивість для завдання товщини всіх сегментів границь одночасно (від 1 до 4 значень). Допускається задавання значень в одиницях довжини і за допомогою ключових слів: thin, medium, thick. Від'ємні значення і значення у відсотках не допускаються. |
Р {border-width: 1px Зрх } Р {border-top-width: lpx; border-right-width: medium; border-bottom-width lpx; border-left-width: thin;} |
border-top-color border-right-color border-bottom-color border-left-color border-color |
Чотири індивідуальних властивості, які встановлюють колір верхнього, правого, нижнього і лівого сегментів границь блоку, і стенографічна властивість для завдання кольору всіх сегментів границь одночасно (від 1 до 4 значень). В якості значень використовується будь-який з трьох способів завдання кольору. |
P {border-color: red} P.green {border-color: rgb (0,255,0)} H1 {border-color: #336} |
border-top-style border-right-style border-bottom-style border-left-style border-style |
Чотири індивідуальних властивості, які встановлюють тип ліній верхнього, правого, нижнього і лівого сегментів границь блоку, і стенографічна властивість для завдання типу ліній всіх сегментів границь одночасно (від 1 до 4 значень). В якості значень використовуються ключові слова: none | dotted | dashed | solid | double | groove | ridge | inset | outset |
P {border-style: solid} |
border-top border-right border-bottom border-left border |
Чотири індивідуальних стенографічних властивості, які встановлюють стиль верхнього, правого, нижнього і лівого сегментів границь блоку окремо (значення властивостей йдуть у наступному порядку: border-width, border-style, border-color), і загальна стенографічна властивість для визначення стилю всіх сегментів границь блоку одночасно. В останньому випадку всі сегменти границь будуть однаковими - задання різних стилів для різних сегментів границі здійснюється через індивідуальні властивості цієї групи |
P {border: lpx solid red} P { border-top: solid red; border-right: solid red; border-bottom: solid red; border-left: solid red } |