css 中的浮动使用场景和引发的BUG及解决办法

html-css027

css 中的浮动使用场景和引发的BUG及解决办法,第1张

1、使用场景:

改变元素的排列方式的时候会用到浮动

浮动的元素会脱离文档流,正常的文档流视其而不见

浮动元素的停止:找到父元素的边框停止

浮动元素的卡顿:元素高度大于其他元素;

2、浮动引发的BUG:

1、父元素不设置高度,所有子元素都浮动

2、浮动的子元素撑不开父元素的高度

3、解决办法:

1、给父元素添加overflow: hidden

2、给父元素添加最后一个子元素 clear:both  清除浮动

3、能设置高度的元素都设置高度

4、伪类元素清除

    

1、浮动元素会完全脱离文档流,不再占据文档流中的位置

2、设置浮动以后元素会向父元素的左侧或右侧移动,

3、浮动元素默认不会从父元素中移出

4、浮动元素向左或向右移动时,不会超过它前边的其他浮动元素

5、如果浮动元素的上边是一个没有浮动的块元素,则浮动元素无法上移

6、浮动元素不会超过它上边的浮动的兄弟元素,最多最多就是和它一样高

在浮动布局中,父元素的高度默认是被子元素撑开的,当子元素浮动后,其会完全脱离文档流,子元素从文档流中脱离, 将会无法撑起父元素的高度,导致父元素的高度丢失。

父元素高度丢失以后,其下的元素会自动上移,导致页面的布局混乱,所以高度塌陷是浮动布局中比较常见的一个问题,这个问题我们必须要进行处理!

思想:在父元素的后面加内容,内容利用clear清除浮动元素带来的影响

允许其他元素包围一个元素。关于css浮动正确的是允许其他元素包围一个元素。css浮动是一种使元素脱离普通标准流控制的方法,元素会根据float的值向左或向右移动,直到外边界碰到父元素的内边界为止。