返普归真彻底认清css的float(浮动)概念

返普归真彻底认清css的float(浮动)概念

ID:23307338

大小:53.00 KB

页数:5页

时间:2018-11-06

返普归真彻底认清css的float(浮动)概念_第1页
返普归真彻底认清css的float(浮动)概念_第2页
返普归真彻底认清css的float(浮动)概念_第3页
返普归真彻底认清css的float(浮动)概念_第4页
返普归真彻底认清css的float(浮动)概念_第5页
资源描述:

《返普归真彻底认清css的float(浮动)概念》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、返普归真彻底认清CSS的Float(浮动)概念>>edu.5151doc.教育资源库Float(浮动)概念也许是CSS中最让人迷惑的一个概念吧。Float经常被错误理解,而且因为将上下文元素全部浮动导致的可读性、可用性问题备受责难。然而,这些问题的根源并不在于理论本身,而是开发人员以及浏览器对理论的解读造成的。  如果你认真的去读一下浮动概念,你会发现并不像所见的那样复杂。大多数问题都是由于老版本的IE带来的(我只是猜想)。如果你知道这些bug,你就能避免这些问题。  让我们尝试去解决这些问题并澄清一些以前使用浮动的误解。我们参考

2、了成打的相关文章,并选取了最为重要的一些你必须了解的问题。argin)不会叠加。最后,浮动元素可以和临近在正常文档流中块级元素重叠(译注:浮动元素不占任何正常文档流空间,所以建议不要理解成重叠,而是腾空浮动的概念。)。”  “首先我们要牢记的一件事情是,浮动元素只能浮动至左侧或者右侧,没有浮动至中间一说,这是很多新手容易范的错误。记住,最基本的规则,浮动元素只能浮动至两侧。”  “当我们让一个元素浮动,它会往右或者往左浮动直至遇到容器的边缘。如果我们向同一方向再浮动一个元素,它会浮动直至碰到前一个浮动元素的边缘。如果我们浮动更多的

3、元素,他们将一个挨一个排列,但不久就会空间不足,当该行已经无法容纳更多的浮动元素,则下一个浮动元素会换行继续排列。”  Containingblocksorcontainingboxes:“容器元素是指包含其他子元素的行级或块级元素。。。。”   “当明确指定时,浮动元素垂直位置由它原先在文档流中的位置决定,顶端与当前行顶端对其。但是水平方向上,它尽可能远的向容器元素边缘移动,但是仍遵循容器元素的填充距离(padding)。同行的行内元素则围绕浮动元素排列。”  “由于浮动元素不占据正常文档流空间,所以浮动元素前后那些未明确指定位

4、置的块级元素会占据浮动元素本来应该处在的位置,就好像它从来不曾存在过。而浮动元素之后的那行会根据浮动元素缩小宽度。浮动元素之前的元素则会重新被排列,占据独立的一行。(译注:ie和ff在这种情况下的表现不尽相同)”  “如果当前行的水平方向上没有足够的空间容纳浮动元素,则向下一行,直至有能容纳该元素的行。”  “任何浮动元素都不可能超过原来所处文档留位置的上边界。浮动元素的顶端必定和当前行顶端对齐(或者在没有当前行元素时和前一个块级元素底部边缘对齐)。”  “想要真正理解浮动理论,你必须明白在CSS中什么是行(linebox)。不幸

5、的是,为了解释什么是行,你必须先明白什么是行级元素。行级元素指的是那些非块级元素,例如<em>而行是一个逻辑上的概念,是一个虚拟的矩形,包含了组成该行的所有行级元素,其高度至少等于这些行级元素中最高的那个。”  “如果我们将Div中所有的列都加上float:left它们会挨个向左排列,如果我们希望在页面底部有一个页脚,并不需要一个最长的列,只要加上clear:both就可以了”  “使用浮动元素包含浮动元素这样的布局方式有一个潜在的缺点,即你的页面是否能够一直保持一致的展现效果将取决于浏览器的实现是否保持一致。特别是当浮动元素是一

6、个更为复杂的布局中的一部分的话,将变得更加不堪一击。”Clearingthefloats-------------------------------------------------------------------------  “浮动元素之后的元素会自动围绕该浮动元素。如果你不希望这样,你可以为这些元素应用‘clear’属性。该属性有4种设值:clear:left,clear:right,clear:bothorclear:none”  有很多技巧可以做到清理浮动元素,但不引入额外的无语义标签。下面3种是比较常见的做法:

7、a)将容器元素一起浮动b)在容器元素上使用overflow:hiddenc)使用:after这样的css伪类。12下一页[这篇文章来自..,]“插入一个清理元素是使容器正确包裹所有浮动元素的标准做法,这样做具有将容器底部边缘‘拖拉’以包裹所含元素的效果。”  “对于基于浮动设计的布局来说,一个常见的问题就是浮动元素的容器不会自动伸展来包含浮动元素。如果你希望在所有的浮动元素的外面加上边框(例如,在容器元素上加上边框),这样你必须显示的命令浏览器来伸展容器。你可以是用overfloethod方法。”  使用:after想像一下我们使

8、用:after来插入一个点号,并且设置它的属性{clear:both;}。这就是所有你需要做的事情,但是没有人会接受容器底部有那么一丝空隙,所以我们还要设置{height:0;}和{visibility:hidden;}来保证严丝合缝。上一页12[

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。