css--浮动/清除浮动
文档流
文档流,是指盒子按照html标签编写的顺序依次从上到下,从左到右排列,块元素占一行,行内元素在一行之内从左到右排列,先写的先排列,后写的排在后面,每个盒子都占据自己的位置。
浮动特性
1、浮动元素有左浮动(float:left)和右浮动(float:right)两种
2、浮动的元素会向左或向右浮动,碰到父元素边界、浮动元素、未浮动的元素才停下来
3、相邻浮动的块元素可以并在一行,超出父级宽度就换行
4、浮动让行内元素或块元素自动转化为行内块元素
5、浮动元素后面没有浮动的元素会占据浮动元素的位置,没有浮动的元素内的文字会避开浮动的元素,形成文字饶图的效果
6、父元素内整体浮动的元素无法撑开父元素,需要清除浮动
7、浮动元素之间没有垂直margin的合并
清除浮动
- 父级上增加属性overflow:hidden
- 在最后一个子元素的后面加一个空的div,给它样式属性 clear:both(不推荐)
- 使用成熟的清浮动样式类,clearfix
清除浮动的使用方法:.clearfix:after,.clearfix:before{ content: "";display: table;} .clearfix:after{ clear:both;} .clearfix{zoom:1;}.con2{... overflow:hidden} 或者 <div class="con2 clearfix">
1 <!doctype html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" 6 content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> 7 <meta http-equiv="X-UA-Compatible" content="ie=edge"> 8 <title>文字绕图</title> 9 10 <style type="text/css"> /* 浮动元素后面没有浮动的元素会占据浮动元素的位置,没有浮动的元素内的文字会避开浮动的元素,形成文字饶图的效果*/ 11 .con{ 12 width:400px; 13 height:400px; 14 border:1px solid black; 15 margin:100px auto 0; 16 } 17 18 .pic{ 19 width:100px; 20 height:100px; 21 background-color:gold; 22 float:left; /* 左浮动*/ 23 margin:0 15px 5px 0; 24 } 25 26 .duanluo{ /* 没有浮动*/ 27 width:400px; 28 height:240px; 29 background-color:blue; 30 } 31 32 </style> 33 </head> 34 <body> 35 36 <div class="con"> 37 <div class="pic"></div> 38 <div class="duanluo"> 39 1、浮动元素有左浮动(float:left)和右浮动(float:right)两种 40 41 2、浮动的元素会向左或向右浮动,碰到父元素边界、浮动元素、未浮动的元素才停下来 42 43 3、相邻浮动的块元素可以并在一行,超出父级宽度就换行 44 45 4、浮动让行内元素或块元素自动转化为行内块元素 46 47 5、浮动元素后面没有浮动的元素会占据浮动元素的位置,没有浮动的元素内的文字会避开浮动的元素,形成文字饶图的效果 48 49 6、父元素内整体浮动的元素无法撑开父元素,需要清除浮动 50 51 7、浮动元素之间没有垂直margin的合并 52 53 </div> 54 </div> 55 56 </body> 57 </html>

1 <!doctype html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" 6 content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> 7 <meta http-equiv="X-UA-Compatible" content="ie=edge"> 8 <title>清除浮动</title> 9 10 <style type="text/css"> /*父元素内整体浮动的子元素无法撑开父元素,需要清除浮动 */ 11 .con,.con1{ 12 width:300px; 13 /* height:300px; */ 14 border:1px solid black; 15 margin:50px auto 0; 16 font-size:0; 17 /* 方法一:overflow:hidden; */ 18 19 } 20 21 .con a{ 22 display:inline-block; 23 width:50px; 24 border:1px solid black; 25 background-color:gold; 26 font-size:16px; 27 margin:10px; 28 text-align:center; 29 line-height:50px; 30 text-decoration:none; 31 } 32 33 .con1 a{ 34 float:left; 35 width:50px; 36 border:1px solid black; 37 background-color:gold; 38 font-size:16px; 39 margin:10px; 40 text-align:center; 41 line-height:50px; 42 text-decoration:none; 43 } 44 45 /* 方法三: 46 .clearfix:after{ 47 content:''; 48 display:table; 49 clear:both 50 } */ 51 52 /*将塌陷和清除浮动结合在一起使用*/ 53 .clearfix:before,.clearfix:after{ 54 content:''; 55 display:table; 56 } 57 .clearfix:after{clear:both} 58 .clearfix{zoom:1} /*ie兼容性*/ 59 60 </style> 61 </head> 62 <body> 63 64 <div class="con"> 65 <a href="">1</a> 66 <a href="">2</a> 67 <a href="">3</a> 68 <a href="">4</a> 69 <a href="">5</a> 70 <a href="">6</a> 71 <a href="">7</a> 72 <a href="">8</a> 73 </div> 74 75 <div class="con1 clearfix"> 76 <a href="">1</a> 77 <a href="">2</a> 78 <a href="">3</a> 79 <a href="">4</a> 80 <a href="">5</a> 81 <a href="">6</a> 82 <a href="">7</a> 83 <a href="">8</a> 84 <!--方法二:<div style="clear:both"></div> --> 85 </div> 86 </body> 87 </html>

posted on 2019-11-06 23:54 cherry_ning 阅读(106) 评论(0) 收藏 举报
浙公网安备 33010602011771号