Плавающие (плавающие) очки знаний
Поплавок в основном исследует, почему и как очистить поплавок.
Плавающая сцена: Обычно мы не устанавливаем высоту для элементов уровня блока (Бог знает, если содержимое будет добавлено в будущем, и установка высоты приведет к проблемам отображения), а высота элементов уровня блока поддерживается Содержание подэлементов. В это время дочерний элемент устанавливается на float, а дочерний элемент будет отделен от потока документа. В это время высота родительского элемента не может быть поддерживаться содержанием дочернего элемента, а также отображение (опыт) Проблемы произойдут.
Очистка поплавка решает проблему схлопывания высоты родительского элемента страницы. Как это очистить, вот что меня волнует
Способ 1: Использованиеoverflow: hidden
(работает над родительским элементом)
.clearfix {
overflow: hidden;
}
побочные эффектыПосле выхода из области, где находится этот элемент, он будет скрыт (overflow:hidden
скроет лишнее),Не рекомендуется. .
Способ 2: добавить тег
Добавить метку к родительскому элементу, стиль метки
.clear {
clear: both;
}
Побочным эффектом является добавление бесполезной метки, что не рекомендуется.
Способ 3: Используйте псевдоэлементы для очистки поплавков
.clearfix {
zoom: 1; // 为了兼容IE
}
.clearfix: after {
content: "";
display: block;
clear: both;
height: 0;
line-height: 0;
visibility: hidden;
}
Способ 4: используйте двойные псевдоэлементы для очистки поплавков
.clearfix {
zoom: 1; // 为了兼容IE
}
.clearfix:before,.clearfix:after {
content: "";
display: block;
clear: both;
}
Перед очисткой поплавка |
После очистки поплавка |
центр знаний
использовать флекс
.parent {
width: 520px;
height: 260px;
background-color: green;
display: flex;
justify-content: center;
align-items: center;
}
.child {
background-color: pink;
width: 300px;
height: 150px;
}
Использовать преобразование (свойство css3)
.parent-transform {
width: 520px;
height: 260px;
background-color: green;
position: relative;
}
.child-transform {
background-color: pink;
width: 300px;
height: 150px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
использоватьmargin
отрицательное значение
.parent-margin {
width: 520px;
height: 260px;
background-color: green;
position: relative;
}
.child-margin {
background-color: pink;
width: 300px;
height: 150px;
position: absolute;
top: 50%;
left: 50%;
margin-top: -75px;
margin-left: -150px;
}
использоватьabsolute
а такжеmargin
.parent-absolute-margin {
width: 520px;
height: 260px;
background-color: green;
position: relative;
}
.child-absolute-margin {
background-color: pink;
width: 300px;
height: 150px;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: auto;
}
использовать флекс |
использовать преобразование |
Используйте отрицательную маржу |
абсолютный и маржинальный |
Макет с тремя колонками
Плавающие контрмеры
Левая и правая колонки плавают (вне потока документов), а средняя колонка проходит черезmargin
Значения Left и Right (ширина левого и правого столбцов и интервал вне столбцов), не забудьте очистить float
.three-column-float {
height: 200px;
background-color: #ddd;
}
.float-left {
float: left;
width: 300px;
height: 100%;
background-color: deepskyblue;
}
.float-right {
float: right;
width: 300px;
height: 100%;
background-color: pink;
}
.float-center {
height: 100%;
margin: 0 320px;
}
Контрмеры абсолютного позиционирования
Левый и правый столбцы абсолютно позиционированы (вне потока документов), а средний столбец проходит черезmargin
Значения Left и Right (ширина левого и правого столбцов и интервал вне столбцов)
.three-column-absolute {
position: relative;
height: 200px;
background-color: #ddd;
}
.absolute-left {
position: absolute;
left: 0;
top: 0;
width: 300px;
height: 100%;
background-color:deepskyblue;
}
.absolute-right {
position: absolute;
top: 0;
right: 0;
width: 300px;
height: 100%;
background-color: pink;
}
.absolute-center {
height: 100%;
margin: 0 320px;
}
Плавающие контрмеры |
Контрмеры абсолютного позиционирования |
Это далеко не конец, и оно будет обновляться позже (пожалуйста, простите меня за то, что я разыгрываю будущие карты, я постепенно реализую эти права хвастовства).