一、首先我们来看一下css浮动是什么意思?
我们从百度百科上可以知道:float是css样式中的定位属性,用于设置标签对象(如:<div>标签盒子、<span>标签、<a>标签、<em>标签等html标签)的浮动布局,浮动也就是我们所说标签对象浮动居左靠左(float:left)和浮动居右靠右(float:right)。
在css中,我们通过float属性实现元素的浮动。(更多float属性的内容可以参考css手册)
上面所说的意思似乎也是云里来雾里去,那么下面我们就来来通俗的解释一番。
要知道在css中一些元素是块级元素,他们会自动启用新的一行(块级元素参考文章:css块级元素的定义是什么?css块级元素有哪些?),还有另一种内联元素也就是行内元素,它们会与之前的内容保持显示在“一行”(行内元素参考文章:css行内元素有哪些?css块级元素和行内元素的区别);但是有时候我们需要改变这种布局方式,这就需要利用css浮动来实现。
css浮动允许给定的元素挪动到它那一行的一侧,并且其他内容向下流动。一个右浮动的元素将被推动直到它的容器的右侧,并且内容会沿着它的左侧向下流动,一个有浮动的元素会被挪动到左侧,内容会沿着它的右侧向下流动。
看完了css浮动的意思后,我们就来看看css为什么需要清除浮动?
二、css为什么要清除浮动?
通过上面css浮动是什么意思的讲解后,我们知道css浮动在某些情况下是必须要存在的,那么为什么要清除浮动呢?
我们要知道:浮动的框可以左右移动,直到遇到另一个浮动框或者遇到它外边缘的包含框。浮动框不属于文档流中的普通流,当元素浮动之后,不会影响块级元素的布局,只会影响内联元素布局。此时文档流中的普通流就会表现得该浮动框不存在一样的布局模式。当包含框的高度小于浮动框的时候,此时就会出现“高度塌陷”。这时就需要来实行清除浮动。
简单点来说:
比如:如果不清除浮动就会出现div重叠的问题。你做了一个网页,最上面是一个header块,中间有两列内容块,最下面是一个footer块。你在中间内容块的时候设置了左浮动,且两块的高度不一致,有一块要高一些,那么在footer就需要清除浮动,如果不清除浮动的话,footer块就会与其中一个内容重叠,如图:
相关推荐:
css浮动是什么意思?css浮动的原理以及css清除浮动的方法(附代码)
以上就是css浮动是什么意思?css为什么要清除浮动?的详细内容,更多请关注php中文网其它相关文章!
……