一、div自适应高度:在前端开发中经常需要让外层的div自动适应内部标签和内容的高度,内部标签可能是<div>、<ul>、<ol>或者文字等各种内容。造成外层的div不能自动适应内容高度的原因往往是因为内部标签设置了float属性,下面来看一下解决办法。
1.用伪对象清除float属性
1 <!doctype html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <title>Document</title>
6 <!-- CSS -->
7 <style type="text/css">
8 #wrap2{
9 width: auto;
10 height: auto;
11 min-height: 250px;/*设置最小高度*/
12 max-height: 500px;/*设置最大高度*/
13 overflow: hidden;/*内容超出后隐藏*/
14 border: 2px solid yellow;
15 }
16 #wrap2:after{
17 content: "";
18 visibility: hidden;
19 display: block;
20 clear: both;
21 }
22 #inner2{
23 width: 200px;
24 height: 200px;
25 border: 1px solid black;
26 float: right;
27 }
28 </style>
29 </head>
30 <body>
31 <div id="wrap2" class="">
32 <div id="inner2" class=""></div>
33 </div>
34 </body>
35 </html>
36
2.用空div来清除float属性
1 <!doctype html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <title>Document</title>
6 <!-- CSS -->
7 <style type="text/css">
8 #wrap1{
9 width: auto;
10 height: auto;
11 border: 2px solid yellow;
12 }
13 #inner1{
14 width: 200px;
15 height: 200px;
16 border: 1px solid black;
17 float: right;
18 }
19 </style>
20 </head>
21 <body>
22 <div id="wrap1">
23 <div id="inner1"></div>
24 <div style="clear:both;"></div> <!-- 在外层div的底部加一个空的div标签,并设置样式为clear:both; -->
25 </div>
26 </body>
27 </html>
二、给div设置最小、最大高度:
1 #wrap1{
2 width: auto;
3 min-height: 100px;
4 max-height: 500px;
5 overflow: hidden;
6 border: 2px solid yellow;
7 }