浮动元素脱离标准流,会影响页面的排版布局,对后面的元素有影响,但不影响前面的元素。
清除浮动的策略是: 闭合浮动。
清除浮动:
- 给父元素添加高度,那么父元素会占据空间而且是标准流,包含了浮动的元素不会影响下面的元素。
- 给父元素设置了overflow: hidden;属性,就会为这个块级元素生成一个独立的块圾上下文,就像在window全局作用域内,声明了一个function就会生成 一个独立的作用域一样,使这个块圾元素内部的排版完全独立隔绝。(涉及BFC)
- 在父元素内部,最后面添加类名为clear的盒子,设置样式clear: both;
- 使用纯css方法来解决,给父元素的伪元素after添加display: block; clear: both;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.parent {
border: 1px solid black;
/* 父元素添加overflow: hidden;可以清除浮动 */
/*