宽高自适应
自适应
网页布局中经常要定义元素的宽和高。但很多时候我们希望元素的大小能够根据窗口或子元素自动调整,这就是自适
宽度自适应高度自适应
(1)宽度自适应
元素宽度的默认值为auto
(2)高度自适应
元素高度的默认值{height:auto;}
<!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>
<style>
*{
margin: 0;
padding: 0;
}
.header,.footer{
width: 100%;
height: 50px;
background-color: yellow;
}
.body{
min-height: 500px;
background: red;
}
li{
height: 100px;
}
</style>
</head>
<body>
<div class="header"></div>
<div class="body">
<ul>
<li>111</li>
<li>222</li>
<li>333</li>
</ul>
</div>
<div class="footer"></div>
</body>
</html>
浮动元素之父元素高度自适应
(1)
<!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>
<style>
.left,.right{
width: 100px;
height: 100px;
float: left;
}
.left{
background-color: yellow;
}
.right{
background-color: red;
}
.content{
width: 200px;
height: 200px;
background-color:blue;
}
.box{
height: 100px;
}
</style>
</head>
<body>
<div class="box">
<div class="left"></div>
<div class="right"></div>
</div>
<div class="content"></div>
</body>
</html>
(2)
<!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>
<style>
.left,.right{
width: 100px;
height: 100px;
float: left;
}
.left{
background-color: yellow;
}
.right{
background-color: red;
}
.content{
width: 200px;
height: 200px;
background-color:blue;
}
/* .box{
height: 100px;
} */
</style>
</head>
<body>
<div class="box">
<div class="left"></div>
<div class="right"></div>
<div style="clear: both;"></div>
</div>
<div class="content"></div>
</body>
</html>
(3)
伪元素
<!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>
<style>
div::first-letter{
font-size: 30px;
color: red;
}
div::first-line{
background-color: yellow;
}
div::before{
content: "aaa";
}
div::after{
content: "bbb";
}
</style>
</head>
<body>
<div>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Eum beatae debitis esse rerum itaque officiis temporibus minima, facere assumenda sequi maiores ad enim, consequatur quis. Possimus odit accusantium harum nemo.
</div>
</body>
</html>
万能方法
窗口自适应
盒子根据窗口的大小进行改变
设置方法: html,body(height:100%;}
举个列子
<!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>
<style>
*{
margin:0;
padding: 0;
}
.box{
width: 100%;
height: 100%;
background-color: yellow;
}
html,body{
height:100% ;
}
.child1{
background-color: blue;
height: 50%;
}
.child2{
background-color: red;
height: 50%;
}
</style>
</head>
<body>
<div class="box">
<div class="child1"></div>
<div class="child2"></div>
</div>
</body>
</html>