高度塌陷
块元素默认父亲宽,高度由内容撑开
父元素高度由子元素撑开
浮动后塌陷
解决高度塌陷:
BFC 1.父元素的垂直外边距不会和子元素重叠
2.开启BFC元素不会被浮动元素覆盖
3.开启BFC元素可以包含浮动子元素
开启BFC(overflow:hidden):1.设置元素浮动
2.设置元素绝对定位
3.设置元素为inline-block
4.将元素的overflow设置为一个非visible值
(overflow:hidden)
IE6 hasLayout (zoom:1) 一倍大小
导航条
text-align: center; 文字居中
清除浮动: 解决高度塌陷
clear:none(默认)
clear:left(清除左浮动)
clear:both(清除影响最大的)
第一种方式:
overflow:hidden
zoom:1
第二种:
插空白标签,清除浮动
第三种:
伪元素after,模拟插入空白块清除浮动
content添加空内容
在文档流中,父元素默认可以被子元素撑开,当给子元素设置浮动后,会脱离文档流,无法撑开父元素,所以两条上下边框挤到一起,高度塌陷,一旦塌陷下面东西往上滚,页面布局发生混乱。
相对定位:(不脱离文档流)
position:relative
若不设偏移量,元素无变化 left:100px;
position:static(默认)
往下:top
绝对定位:(脱离文档流)
position:absolute
left:100px;
参照离得最近的,开启了定位的祖先元素
都不开,参照浏览器左上角
设了绝对定位,内联元素变成块,有了宽高
固定定位:(脱离文档流) IE6不支持
相对于浏览器窗口定位,固定在浏览器某一点。
元素层级:
都开启定位,后面的盖住前面的
z-index:1;
父元素盖不住子元素
背景透明度:
opcity: 0;透明
opacity: 1; 不透明
介于0~1半透明
filter: alpha(opacity=50); 支持低版本
作业:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>近期开班</title>
<link rel="stylesheet" type="text/css" href="CSS1/style.css">>
</head>
<body>
<div class="a">
<div class="b"></div>
<div class="title">
<div class="content">
<p>近期开班</p>
</div>
<div class="content1">
<p><a href="#">18年面授开班计划</a></p>
</div>
</div>
<div class="c">
<div class="border1">
<h3><a href="#">人工智能+Python-高薪就业班</a></h3>
</div>
<div class="border2">
<p><a href="#">开班时间:<span>2018-04-26</span></a></p>
</div>
<div class="border3">
<p><a href="#">预约报名</a></p>
</div>
<div class="border2">
<p><a href="#">开班时间:<span>2018-03-23</span></a></p>
</div>
<div class="border3">
<p><a href="#">无座,名额爆满</a></p>
</div>
<div class="border2">
<p><a href="#">开班时间:2018-01-23</a></p>
</div>
<div class="border4">
<p><a href="#">开班盛况</a></p>
</div>
<div class="border2">
<p><a href="#">开班时间:2017-12-20</a></p>
</div>
<div class="border4">
<p><a href="#">开班盛况</a></p>
</div>
<div class="border2">
<p><a href="#">开班时间:2017-11-18</a></p>
</div>
<div class="border4">
<p><a href="#">开班盛况</a></p>
</div>
<div class="border1">
<h3><a href="#">Android开发+测试-高薪就业班</a></h3>
</div>
<div class="border2">
<p><a href="#">开班时间:<span>2018-04-26</span></a></p>
</div>
<div class="border3">
<p><a href="#">预约报名</a></p>
</div>
<div class="border2">
<p><a href="#">开班时间:2018-03-23</a></p>
</div>
<div class="border4">
<p><a href="#">开班盛况</a></p>
</div>
<div class="border2">
<p><a href="#">开班时间:2018-01-23</a></p>
</div>
<div class="border4">
<p><a href="#">开班盛况</a></p>
</div>
<div class="border2">
<p><a href="#">开班时间:2017-12-20</a></p>
</div>
<div class="border4">
<p><a href="#">开班盛况</a></p>
</div>
<div class="border1">
<h3><a href="#">大数据软件开发-青芒工作室</a></h3>
</div>
<div class="border2">
<p><a href="#">开班时间:<span>2018-04-26</span></a></p>
</div>
<div class="border3">
<p><a href="#">预约报名</a></p>
</div>
<div class="border2">
<p><a href="#">开班时间:2018-01-23</a></p>
</div>
<div class="border4">
<p><a href="#">开班盛况</a></p>
</div>
</div>
</div>
</body>
</html>
*{
margin: 0;
padding: 0;
}
.a{
width: 300px;
height: 470px;
margin: 50px auto;
}
.b{
width: auto;
height: 3px;
margin: 0 auto;
background-color: #019e8b;
}
.title{
width: auto;
height: 35px;
margin-bottom: 3px;
background-color: #f5f5f5;
}
a{
text-decoration: none;
}
a:hover{
color: orange;
}
.content{
margin: 7px 0 0 16px;
float: left;
}
.content1{
margin: 10px 23px 0 0;
float: right;
font-size: 12px;
}
.c{
width: auto;
height: 430px;
margin: 0 auto;
border: 1.5px #deddd9 solid;
}
.border1{
font-size: 10px;
margin: 16px 0 0 20px;
float: left;
}
.border2{
font-size: 12px;
margin: 12px 0 0 20px;
float: left;
}
.border2 span{
color: red;
}
.border3{
font-size: 12px;
margin: 12px 16px 0 20px;
color: red;
float: right;
font-weight: bold;
}
.border4{
font-size: 12px;
margin: 12px 16px 0 20px;
float: right;
}