Зараз ми вивчимо, як використовуючи CSS,
можна переміщати об'єкти.
Не просто ставити їх один біля одного,
а справді розміщувати їх один на одному.
Тут ми маємо веб-сторінку
з декількома заголовками, зображеннями
і декількома абзацами ось тут.
І всі вони зараз розставлені
за стандартним принципом розміщення,
яку використовує браузер
і яку ми називаємо статичне або нормальне розміщення.
Це означає, що рядкові елементи,
такі як зображення,
розміщені зліва направо,
а блокові елементи,
такі як заголовки і абзаци,
розміщені з верху до низу.
Ми можемо змінити цей принцип розміщення
за допомогою властивостей розміщення CSS.
Спробуймо це зробити на цьому зображенні пейзажу (landscape).
Ми напишемо "position" (розміщення), двокрапку
і значення "relative" (відносний).
Відносний принцип розміщення означає:
"Розмісти його, як зазвичай,
але потім змісти його на певну кількість одиниць".
Щоб сказати браузеру, на яку кількість одиниць
потрібно змістити об'єкт,
ми маємо використати поєднання
чотирьох нових властивостей CSS:
Top (верх), bottom (низ) , left (лівий бік), і right (правий бік).
Скажімо, ми хочемо, щоб зображення
було на 20 пікселів нижче.
Напишімо: top: 20 px,
І ще на 10 пікселів вліво...
Ми напишемо: left: 10px.
Це достатньо точно,
але не ідеально точно.
Я хочу показати вам щось значно крутіше.
Абсолютне розміщення.
Ми його використовуємо, щоб
забрати елемент зі звичного русла
і поставити його будь-де на екрані.
Щоб зробити це,
Я зміню "relative"
на "absolute"
на цьому пейзажі,
і збережу його у лівому верхньому куті.
І ви можете побачити,
що тепер пейзаж
перекрив наші зображення і заголовок "dance party".
І зараз ми це виправимо.
Почнімо з Вінстона (winston).
Ми додамо йому правило
і напишемо в ньому "position: absolute",
і потім, скажімо,
верх: 40 пікселів,
оу, краще 50 пікселів.
Ліва сторона: 50 пікселів.
Гаразд, так виглядає добре.
І Хопер (hopper) також дуже хоче
залізти наверх.
Тому ми також дамо Хоперу
абсолютне розміщення
і напишемо: верх: 30 пікселів
і зліва: 60 пікселів.
Добре, моя мета
зробити так, наче Хопер
танцює перед Вінстоном.
Але зараз це так не виглядає,
тому що Вінстон намальований
поверх Хопера.
Щоб виправити це,
я можу змінити порядок розміщення
тегів в коді HTML.
Але існує кращий спосіб —
використати властивість CSS "z-index".
Ми можемо використати її, щоб сказати браузеру,
в якому саме порядку
розміщувати елементи,
надавши їм різні індекси.
Я почну з пейзажу
і дам йому "z-index" 1.
Далі йде Вінстон з цифрою 2
і Хопер вилазить нагору з цифрою 3.
Чудово!
Тепер Хопер танцює перед Вінстоном,
навіть якщо останньому це не подобається...
але йому доведеться змиритись.
Але в нас досі є приховані заголовки і текст.
Тому... спробуймо поставити...
Можливо, я хочу, щоб
заголовок "Dance party" був зверху над усім.
Тому я додам йому
абсолютне розміщення
і "z-index" 4.
Так виглядає добре.
Можливо, лівіше на 10 пікселів.
Просто пересунемо його трохи.
Може, трошки більше.
Чудово, так це все має гарний вигляд.
Тепер, слова пісні.
Я насправді хочу,
щоб вони відображалися знизу під всім.
Тому я думаю тут скористатись
відносним розміщенням
і потім просто додати значення верху,
яке, як ви знаєте,
буде дорівнювати висоті зображення.
Це буде двісті двадцять пікселів.
Гаразд, тепер виглядає справді добре.
У нас зараз відбувається справді драйвова вечірка.
Зараз, якщо ви зупините відео і спробуєте прокрутити сторінку,
ви побачите, що все прокручується разом.
І важливим є те,
що абсолютне розміщення є відносним до верху сторінки.
Тому, коли ви будете прокручувати сторінку вниз,
об'єкти, які мали 10 пікселів зверху,
не залишатимуться на екрані,
тому що ви рухатиметесь далі вниз.
Ще однією можливістю
є фіксоване розміщення (fixed),
яке буде виглядати так, наче
елементи не рухаються взагалі.
І якщо ви хочете це випробувати,
ми можемо просто змінити
h1 з абсолютного на фіксований.
А тепер поставте на паузу відео і спробуйте
прокрутити сторінку, і ви побачите,
що напис "Dance party" залишається на одному й тому ж місці.
Тому що зараз він є відносним
до верху самого екрана, вікна.
Гаразд, ми навчились, як використовувати
три різні властивості розміщення,
щоб робити справді класні речі.
Що ж, коли ми використовуємо
абсолютне і фіксоване розміщення?
Ви можете використовувати його,
щоб зробити певну гру,
як я зробила тут,
тому що ви захочете розмістити
усі частини дійства в браузері.
Але ви також можете використовувати їх
і для звичайних веб-сторінок,
таких як на Khan Academy.
Ми використовуємо абсолютне розміщення для моделей,
які розташовані посередині сторінки,
а фіксоване розміщення
для поля пошуку на сторінці команди,
щоб його завжди було видно під час прокрутки.
Напевно, ви не будете використовувати
розміщення на кожній сторінці,
але коли використовуватимете,
ви будете дуже щасливі, що така можливість існує.
Переклад на українську мову: Зоряна Гаврилюк, рев'юер: Юлія Білаш, Благодійний фонд "MagneticOne.org"