首页 >web前端 >html教程 >CSS之float样式总结_html/css_WEB-ITnose

CSS之float样式总结_html/css_WEB-ITnose

WBOY
WBOY原创
2016-06-24 11:47:461305浏览

    从四大开始开始慢慢接触前端,大概半年多过去了,虽然做了一些东西,但感觉有些点始终不是很清晰。有时候为了赶进度,没有太多时间对某个点进行全面深入思考分析,只能从网上搜一搜,试一试,只要效果出来了,任务就完成了。这次终于可以抽出时间对一直不是很清楚的一点css中的float进行了详细探究,我感觉这是css中迷惑性最大的一个,所以下定决心把它搞清楚。    我先从w3school上看了其对float的解释,有查了其他一些资料。最后自己亲自实践一一验证。现在终于眉目清晰了。废话不多说,就把最核心的总结于下:    主要两点:<strong>应用了float样式元素本身的特点</strong>和<strong>其对其他元素的影响</strong>    先列一下浮动元素本身的特性,以便理解它如何对其他元素产生影响       (1)向左或向右浮动直到碰到包含边框或其他浮动元素,注意:浮动范围是在父元素之内       (2)脱离正常文档流(其实并非真正完全脱离,从它对后续元素(在文档流中排在它后面的)的影响可以看出,它对块级元素透明,对行内元素不透明,并且对父元素有影响,           可能会使父元素塌陷,因为感受不到它的存在。    因此浮动元素对后续元素的影响可总结为三句:对块元素透明,对行内元素不透明,对父元素透明。    <strong>能不能清除这种影响呢??</strong>    答案是:对于块级元素是可以的,在块级元素中设置clear css样式可以清除对其影响,也就是说,对块级元素可以不透明,这样,块级元素就可以           感受到之前浮动元素的存在了。            但是对于行内元素和对父元素的影响clear是不起作用的。    虽然无法消除浮动元素对行内元素和父元素的影响,但是有解决办法:    <strong>对于行内元素</strong>,可以清除对其父元素的影响从而清除对它的影响,因为它肯定在父元素的范围之内嘛。    <strong>对于父元素</strong>,有两种方法:        1.借助于块元素间接清除对其影响,具体做法是:在所有的子元素之后放置一个空的块级元素,清除浮动对该块级元素的影响,那么该块级元素就会移到所有子元素的下面,因着父元素可以感受到该块元素,因此可以借助该块           元素而让父元素不再塌陷。
        2.对父元素同样设定浮动样式,因为浮动元素可以感受到浮动元素的存在,因此自然就没有影响了。
 进一步总结如下:浮动元素会有脱离文档流的效果(但只针对块级元素),若要清除这种对块级元素的影响,需应用clear样式就可以了

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn