美食攻略 | 2024年05月18日 16:43:41 | 阅读:4717
1、首先我们通过一张图来解释下元素浮动是什么样的状态。
2、通过上面的图片可以看出,当内部的div设置float后,外部的元素的就会受到以下影响:
3、margin和padding设置的值不能正确显示
4、如果不清除元素浮动的话,浮动层后面的非浮动层内容就有可能被覆盖,造成页面的排版混乱。
5、例如在上面的例子中再加一个非浮动的div,就会发现该div被前面的三个浮动div覆盖住。
6、既然会出现这种情况,我们就应该设法清除掉元素的浮动。
7、我们可以给父级元素.outer设置为定高,这样就可以不影响后面的非浮动元素。.outer的样式为:
8、虽然这种 *** 可以清楚浮动,但是对父元素设置定高会有很多的限制,如果内层div的高度变化,则需要手动修改外层div的高度,相对来说有点麻烦,因此这种 *** 并不推荐。
9、在父元素内部的末尾处添加一个新的div,并设置其clear:both;属性。
10、利用该 *** 同样可以达到清楚浮动的效果,但是由于会新增DOM元素,这种 *** 也不推荐。
11、在父级元素上使用overflow:hidden属性,准确来说只要不给overflow属性设置为visible都可以清除元素浮动。
12、使用这种 *** 可以少写很多css样式代码,同时不会新增DOM元素,因此推荐使用这种方式。
13、通过对父元素使用:after伪元素,同样可以达到清除浮动的效果。
14、以上 *** 在伪元素中,通过设置clear与overflow属性来实现。 *** 4在实际的项目中使用的频率更高,因此极大的推荐使用 *** 4来清除元素浮动。
15、看到网上有的资料介绍,通过设置父元素为浮动,或者设置父元素为absolute定位,这两种 *** 只是能显示父元素而已,但父元素同样会覆盖到后面的非浮动元素,因此这两种 *** 严格意义来说并不算清除浮动的 *** 。
16、今天这篇文章主要介绍了几种通过CSS来清除元素浮动的 *** ,你掌握了吗?
相关文章
网友点评
博博常识网
www.kissing2lips.com