Home >Web Front-end >HTML Tutorial >CSS float style summary_html/css_WEB-ITnose

CSS float style summary_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 11:47:461299browse

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn