发布网友 发布时间:2022-04-06 10:56
共4个回答
懂视网 时间:2022-04-06 15:18
在学习css的过程中,经常会看到css浮动和css清除浮动,那么,css浮动是什么意思?css为什么要清除浮动呢?本篇文章将给大家介绍关于css浮动的意思以及css清除浮动的理由。一、首先我们来看一下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块就会与其中一个内容重叠,如图:
热心网友 时间:2022-04-06 12:26
一般情况下是要清除浮动的,不然会影响下面标签的排版。浮动就是,打个比方说,你想一行放上两个div,但是若是不加浮动,那么一行只能放一个div,加上浮动就可以放2个。另一方面就是若是标签加了浮动,在ie6里,margin的值会变成双倍。若是要解决则需要加上display:inline热心网友 时间:2022-04-06 13:44
清除浮动最常见的是用在作为纵向列表样式的DIV里,当同一行只能有一个元素时,会用如下样式:
.list-item{假如HTML中有如下书写:
那么两个list-item就会在list这个列表中分开两行呈现;
早期,CSS中的清除浮动用于清除float样式的干扰,而现在,尤其是CSS3中,清除浮动更多被用于换行或者是行分隔。
热心网友 时间:2022-04-06 15:18
楼上的说得很好..就是用来换行