快捷键:
shift+alt+向下方向键 把上一行复制到下一行
ctrl + / 加注释
浮动 float
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>浮动</title>
<style>
.box1{
width: 200px;
height: 200px;
background-color: blanchedalmond;
float: left;
}
.box2{
width: 300px;
height: 300px;
background-color: blue;
float: left;
}
.box3{
width: 100px;
height: 100px;
background-color: black;
float: left;
}
</style>
</head>
<body>
<div class="box1"></div>
<div class="box2"></div>
<div class="box3"></div>
</body>
</html>
float其他特点
浮动不会覆盖文字
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>浮动</title>
<style>
.box1{
width: 100px;
height: 100px;
background-color: blanchedalmond;
float: left;
}
.box2{
background-color: blue;
}
.s1{
width: 100px;
height: 100px;
background-color: wheat;
/* 设置浮动后 设置的宽高将不再被行内元素限制 */
/* float: left; */
}
</style>
</head>
<body>
<div class="box1"></div>
<p>
打发打发手动打发手动阀手动阀手动阀打撒打算多发多发发的发的发射点发射点发射点发射点发射点大沙发手动阀手动阀打打发手动阀手动阀手动阀打撒打算多发多发发的发的发射点发射点发射点发射点发射点大沙发手动阀手动阀打打发手动阀手动阀手动阀打撒打算多发多发发的发的发射点发射点发射点发射点发射点大沙发手动阀手动阀打打发手动阀手动阀手动阀打撒打算多发多发发的发的发射点发射点发射点发射点发射点大沙发手动阀手动阀打打发手动阀手动阀手动阀打撒打算多发多发发的发的发射点发射点发射点发射点发射点大沙发手动阀手动阀打阀手动阀手动阀打撒打算多发多发发的发的发射点发射点发射点发射点发射点大沙发手动阀手动阀打手动阀手动阀手动阀打撒打算多发多发发的发的发射点发射点发射点发射点发射点大沙发手动阀手动阀打发手动阀打发士大夫的说法大撒旦发射点发射点发
</p>
<div class="box2">hello</div>
<span class="s1">span</span>
</body>
</html>
float练习:导航条练习
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>导航条</title>
<link rel="stylesheet" href="../../reset.css">
<style>
.nav{
/* 设置宽度和高度 */
width: 1210px;
height: 48px;
background-color: thistle;
margin: 100px auto;
}
.nav li{
/* 设置li想做浮动,已使菜单横向排列 */
float: left;
/* 设置li的高度 */
/* height: 48px; */
/* 将文字在父元素中垂直居中 */
line-height: 48px;
}
.nav a{
/* 需要修改a行内元素的行和列大小,所以需转换成块元素 */
display: block;
/* 去除下划线 */
text-decoration: none;
color: #000;
/* 设置字体大小 */
font-size: 18px;
padding: 0 73px;
}
/* 鼠标移入效果 */
.nav a:hover{
background-color: aqua;
color: blueviolet;
}
</style>
</head>
<body>
<!-- 导航条结构 -->
<ul class="nav">
<li>
<a href="#">gao</a>
</li>
<li>
<a href="#">xiu</a>
</li>
<li>
<a href="#">qi</a>
</li>
<li>
<a href="#">gao</a>
</li>
<li>
<a href="#">xiu</a>
</li>
<li>
<a href="#">qi</a>
</li>
<li>
<a href="#">gao</a>
</li>
</ul>
</body>
</html>
高度塌陷和BFC
浮动后出现高度塌陷
解决后:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="../../reset.css">
<style>
.outer{
border: 10px red solid;
/* 解决 高度塌陷问题*/
overflow: hidden;
}
.inner{
width: 100px;
height: 100px;
background-color: rgb(12, 4, 4);
float: left;
}
</style>
</head>
<body>
<div class="outer">
<div class="inner">
</div>
</div>
<div style="width: 100px; height:200px;background-color: royalblue;"></div>
</body>
</html>
BFC演示
被浮动覆盖
开启BFC后
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="../../reset.css">
<style>
.box1{
width: 200px;
height: 200px;
background-color: saddlebrown;
float: left;
}
.box2{
width: 200px;
height: 200px;
background-color: seagreen;
/* 开启BFC 不会被浮动元素覆盖 */
overflow: hidden;
}
</style>
</head>
<body>
<div class="box1"></div>
<div class="box2"></div>
</body>
</html>
clear
clear:right;
clear:left;
clear:both;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="../../reset.css">
<style>
.box1{
width: 200px;
height: 200px;
background-color: saddlebrown;
float: left;
}
.box2{
width: 400px;
height: 400px;
background-color: seagreen;
overflow: hidden;
float:right
}
.box3{
width: 200px;
height: 200px;
background-color: rgb(1, 2, 2);
/* 解决高度塌陷, */
clear: both;
}
</style>
</head>
<body>
<div class="box1"></div>
<div class="box2"></div>
<div class="box3"></div>
</body>
</html>
after
添加div清除浮动格式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="../../reset.css">
<style>
.box1{
border: 10px red solid;
}
.box2{
width: 100px ;
height: 100px ;
background-color: rgb(151, 91, 91);
float: left;
}
/* box3把box1撑起来了,清除了box2浮动的影响 */
.box3{
clear: both;
}
</style>
</head>
<body>
<div class="box1">
<div class="box2"></div>
<div class="box3"> aa </div>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="../../reset.css">
<style>
.box1{
border: 10px red solid;
}
.box2{
width: 100px ;
height: 100px ;
background-color: rgb(151, 91, 91);
float: left;
}
/* after默认行内元素:不独占一行 */
/* after 选中的是box1的最后 */
.box1::after{
/* 与after和before配合使用,负责在元素头或尾,插入生成内容 */
content: 'hello';
/* 行内元素转块元素 */
display: block;
clear: both;
}
</style>
</head>
<body>
<div class="box1">
<div class="box2"></div>
</div>
</body>
</html>
clearfix
问题:不是只有box2移动而是box1也移动了下来
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="../../reset.css">
<style>
.box1{
width: 200px;
height: 200px;
background-color: rosybrown;
}
.box2{
width: 100px;
height: 100px;
background-color: royalblue;
margin-top: 100px;
}
</style>
</head>
<body>
<div class="box1">
<div class="box2"></div>
</div>
</body>
</html>
解决:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="../../reset.css">
<style>
.box1{
width: 200px;
height: 200px;
background-color: rosybrown;
}
/* 行元素转成块元素 table可以隔开且不会占空间 */
/* 第一种方法 */
/* .box1::before{
content: '';
display: table;
} */
.box2{
width: 100px;
height: 100px;
background-color: royalblue;
margin-top: 100px;
}
/* 第二种方式 */
/* clearfix 这个样式可以同时解决高度塌陷和外边距重叠问题,直接在class的box 后加clearfix */
.clearfix::before,
.clearfix::after{
content: '';
display: table;
clear: both;
}
</style>
</head>
<body>
<div class="box1 clearfix">
<div class="box2"></div>
</div>
</body>
</html>
相对位置