Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задания и решения примеров htmlacademy.docx
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
13 Мб
Скачать
☆

Позиционирование Поток документа [1/20]

Порядок отображения элементов на странице называется потоком документа. Блочные элементы отображаются как прямоугольные области, идущие друг за другом сверху вниз, а строчные элементы располагаются сверху вниз и слева направо и при необходимости переносятся на новую строку.

Элементы можно вкладывать друг в друга. Чем раньше в коде расположен элемент, тем выше он расположен на странице.

Некоторые типы элементов могут вести себя в потоке более сложно. Например, они могут располагаться в несколько колонок, как блочно-строчные элементы. Эти типы проходились в курсе «Блочная модель документа».

Любой элемент, который находится в потоке, занимает на странице свою собственную площадь и, если надо, отталкивает от себя соседей с помощью маргинов.

В этом курсе мы будем изучать свойства, которые изменяют обычное поведение элементов в потоке.

Позиционирование Поток документа [1/20]

Блочные элементы — прямоугольники, которые располагаются слева направо и сверху вниз.

Можно вкладывать блоки друг в друга и выстраивать колонки.

Колонка 1

 

Колонка 2

 

Колонка 3

Строчные элементы и текст просто переносятся наследующую строку, если не хватает места.

Задание

Подсветите элементы, чтобы увидеть, как формируется поток документа. Для этого:

  1. Цель 1Задайте элементу с классом outline свойства background: rgba(0, 0, 0, 0.1);

  2. Цель 2и border: 1px dotted #666666;

pozicionirovanie/poz1.html

Относительное позиционирование [2/20]

CSS-свойство position задает режим позиционирования элементов. Значением по умолчанию является static, которое означает «обычное позиционирование».

Значение relative обозначает «относительное позиционирование». Относительно спозиционированный элемент можно перемещать относительно его исходного положения.

Относительно спозиционированный элемент остается в потоке документа, а при его перемещении наблюдаются интересные эффекты. Для начала просто зададим относительное позиционирование выбранному блоку.

poz-2.html

Position: relative и свойство top [3/20]

Пока что ничего не произошло, но мы еще и не перемещали элемент. Чтобы эффект перемещения был более наглядным, блок .block-relative обёрнут в блок .block-shadow, который служит «тенью» элемента.

Блок-тень имеет те же размеры, что и блок внутри него. Это позволит нам отследить, как изменяется поведение относительно спозиционированного элемента в потоке.

Свойство top позволяет сместить относительно спозиционированный элемент вверх или вниз относительно его исходного положения. Значение этого свойства обычно задается в пикселях, но можно использовать и другие единицы измерения CSS.

  1. Задайте блоку с классом block-relativeсвойство top со значением 10px.

  2. Цель 2Затем измените значение свойства на10px.

poz-3.html

Position: relative и свойство left [4/20]

Вы заметили, что когда мы сместили блок вниз, нижележащие блоки не сдвинулись?

Это происходит потому, что относительно спозиционированный элемент на самом деле никуда не смещается. Он остаётся в потоке ровно там же, где и был (это место обозначено блоком-тенью). А смещается иллюзорная копия блока.

Свойство left позволяет сместить блок влево или вправо относительно исходного положения.

В этом задании вы не только сместите блок по горизонтали, но и убедитесь в том, что он остался в потоке, увеличив его высоту. При этом нижний блок должен будет сместиться.

Задайте блоку с классом block-relative:

  1. Цель 1свойство left со значением10px,

  2. Цель 2затем измените значение на10px,

  3. Цель 3затем задайте блоку высоту 100px.

poz-4.html