本节介绍的是css浮动的定义,性质,作用,问题,革除浮动
1. 浮动的定义
2. 浮动的性质
3. 浮动的理论案例作用
4. 浮动的问题及解决
1.浮动的定义
概念:浮动就是让元素能够向左或向右挪动,直到它的外边距碰到其父级的内边距或者是上一个元素的外边距(这里指的上一个元素不论它有没有设置浮动,都会紧挨着上一个元素)
浮动:布局属性的一种
属性名:float
属性值:left、right
作用:让元素脱离规范流,同级的浮动元素会并成一排排列显示,并且触发bfc属性。
2.浮动的性质
1.脱离规范流:
元素设置了浮动会脱离规范流限度,能够给浮动元素设置宽高,不设置宽高则有内容撑开,且并排一行,不会呈现空白折叠景象
留神:浮动没有居中对齐,只能左对齐或者右对齐
2.浮动元素顺次贴边:
父级元素宽度足够时,子级元素会依照HTML的书写程序向左/右进行贴边,如果父级宽度不够时,子级会主动换行向左/右进行贴边,直到贴到父级或者子级元素的边框为止
宽度足够时:
宽度不够时:
3. 浮动的理论案例作用
1、利用浮动制作导航条
操作:利用左右浮动让其对应对齐
*{ margin: 0; padding: 0; } ul{ margin: 100px auto; width: 600px; height: 100px; box-shadow: 0 0 5px 10px pink; } li{ list-style: none; width: 100px; height: 100px; border: 1px solid red; float: left; text-align: center; line-height: 100px; } ul .right{ float: right; }
代码片段
2、触发bfc解决margin塌陷问题
3、字围景象
*{ margin: 0; padding: 0; } ul{ margin: 100px auto; width: 200px; height: 400px; box-shadow: 0 0 5px 10px pink; } li{ list-style: none; width: 100px; height: 100px; border: 1px solid red; float: left; text-align: center; line-height: 100px; }
代码片段
4.浮动问题及解决
问题:设置浮动的元素是无奈撑开规范流元素的高度
解决:给父元素设置高度或者革除浮动、增加overflow:hidden属性
革除浮动:
用clear属性革除元素本身受到后面浮动元素的影响,给规范流父元素增加clear属性后父元素就不会受到浮动影响,不会占有浮动让出的地位。
属性名:clear
属性值:left、right、both
利用伪类革除浮动:
原理:利用css代码中用伪类办法减少一堵墙让其撑开
伪类选择器:通过选中标签增加伪类,选中标签的状态或地位
div{ clear: both; content:""; display: block; }