Что понятно и в CSS и как использовать псевдоэлемент ::after в помощь
В предыдущей статье мы уже научились использовать поплавок. Поскольку все блоки уже удалены из обычного потока, div-оболочка имеет только заполнение. Ящики больше не занимают высоту div.
Если мы хотим, чтобы блоки по-прежнему выглядели внутри div-обертки, нам нужно использовать clear float.
Подписывайтесь на нас:
YouTube: https://www.youtube.com/channel/UCu4-4FnutvSHVo9WHvq80Ww?sub_confirmation=1
Среда: https://ckmobile.medium.com/
Удеми: https://www.udemy.com/user/cyruschan2/
Linkedin: https://www.linkedin.com/company/ckmobi/
Телеграмма: https://t.me/ckmobi
Твиттер: https://twitter.com/ckmobilejavasc1
Очистить поплавок
Чтобы узнать, что такое clear float, лучше продублировать больше ящиков.
<body> <div class="wrapper"> <div class="box" style="background-color: blue;float:left; "></div> <div class="box" style="background-color: blue;float:left;"></div> <div class="box" style="background-color: red; float:left; "></div> <div class="box" style="background-color:orange; float:left;"></div> <div class="box" style="background-color:orange; float:left;"></div> </div> </body>
Теперь веб-страница будет выглядеть так.
Если мы удалим float, оставшийся в красном поле. А также добавьте clear:both во встроенный стиль. Веб-страница будет выглядеть так.
Это означает, что никакие другие элементы не занимают место слева и справа от красного прямоугольника.
Вернуться к исходному вопросу
Как мы можем сделать веб-сайт таким, чтобы 3 поля находились внутри div-оболочки?
Во-первых, нам нужно вернуться к исходному коду.
<body> <div class="wrapper"> <div class="box" style="background-color: blue;float:left "></div> <div class="box" style="background-color: red;float:left;"></div> <div class="box" style="background-color:orange; float:left"></div> </div> </body>
Решение заключается в том, чтобы вместо создания еще одного блока и добавления прозрачного плавающего стиля мы добавили пустой элемент div. Затем нам нужно добавить clear:both в div.
<body> <div class="wrapper"> <div class="box" style="background-color: blue; float:left "></div> <div class="box" style="background-color: red; float:left;"></div> <div class="box" style="background-color:orange; float:left"></div> <div style="clear:both;"></div> </div> </body>
Пустой div не позволяет другим элементам занимать место слева или справа.
Этот метод должен добавить ненужный код. Лучший способ сделать это — использовать псевдоэлементы.
Мы удаляем этот пустой div.
<body> <div class="wrapper"> <div class="box" style="background-color: blue; float:left "></div> <div class="box" style="background-color: red; float:left;"></div> <div class="box" style="background-color:orange; float:left"></div> </div> </body>
В то же время внутри style.css добавьте следующее
.wrapper::after{ content: ''; display: block; clear:both; }
Результат будет таким же, ::after создает псевдоэлемент, который является последним дочерним элементом div-оболочки. Он сделал ту же работу, что и мы раньше.
Подписывайтесь на нас:
YouTube: https://www.youtube.com/channel/UCu4-4FnutvSHVo9WHvq80Ww?sub_confirmation=1
Среда: https://ckmobile.medium.com/
Удеми: https://www.udemy.com/user/cyruschan2/
Linkedin: https://www.linkedin.com/company/ckmobi/
Телеграмма: https://t.me/ckmobi
Твиттер: https://twitter.com/ckmobilejavasc1