下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

浅谈CSS 浮动

作者:课课家教育     来源: http://www.kokojia.com点击数:736发布时间: 2016-09-30 08:16:26

标签: CSSCSS浮动css基础知识

Web开发

      要实现图片环绕排版,使用word很容易实现。但如果在css里面该如何实现呢?这就是今天小编要介绍的内容——CSS的浮动。

  一、CSS浮动

  CSS浮动简单来说,就是使元素向左或向右移动,其周围的元素也会重新排列。浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。

  二、CSS浮动规则

  为了大家更容易理解CSS浮动,小编为大家准备了三幅图。

  第一幅:元素向右浮动

  请看下图,当把框1向右浮动时,它脱离文档流并且向右移动,直到它的右边缘碰到包含框的右边缘,同时框2取代了框1原本的位置。

浅谈CSS 浮动_CSS_CSS浮动_css基础知识_课课家

  第二幅:浮动的一般情况

浮动的一般情况

  如上左图所示,当框1向左浮动时,它脱离文档流并且向左移动,直到它的左边缘碰到包含框的左边缘。因为它不再处于文档流中,所以它不占据空间,实际上覆盖住了框2,使框2从视图中消失。

  如果把所有三个框都向左移动,那么框1向左浮动直到碰到包含框,另外两个框向左浮动直到碰到前一个浮动框。

  第三幅:浮动的特殊情况

浮动的特殊情况

  元素浮动的时候,它们是不是都会按上面第二幅右图所示,乖乖按顺序排列呢?现实可是没有这么理想的,总会有些特殊情况。

  如下图所示,如果包含框太窄,无法容纳水平排列的三个浮动元素,那么其它浮动块向下移动,直到有足够的空间。如果浮动元素的高度不同,那么当它们向下移动时可能被其它浮动元素“卡住”

浮动的特殊情况

  三、CSS float属性

  在CSS中,我们通过float属性实现元素的浮动。

  float属性定义元素在哪个方向浮动。以往这个属性总应用于图像,使文本围绕在图像周围,不过在CSS中,任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素。

  我们来看一个简单的例子:

float 属性的简单应用

  运行效果:

float 属性的简单应用运行效果

  四、浮动和清理

  创建浮动框可以使文本围绕图像。为什么呢?原因就是旁边的行框被缩短,从而给浮动框留出空间。

文字环绕的形成

  如果既想图像应用浮动,又不想行框围绕浮动框,我们可以怎么做呢?

  这时,需要应用 clear属性。

  clear属性的值可以是left、right、both或none,它表示框的哪些边不应该挨着浮动框。

  使用clear both属性的效果相当于在被清理的元素的上外边距上添加足够的空间,使元素的顶边缘垂直下降到浮动框下面。

      如下图:

使用clear both属性效果

  这是一个有用的工具,它让周围的元素为浮动元素留出空间。

  为了方便大家理解,下面以一个例子给大家详细解释一下

  我们先定义一个图片和文本,让图片浮动到文本块的左边,并且希望这幅图片和文本包含在另一个具有背景颜色和边框的元素中。

      您可以编写下面的代码:

对相关元素进行定义

  这种情况下,出现了一个问题:因为图像和文本元素使用了浮动,脱离了文档流,所以包围图片和文本的div不占据空间。

      如何让包围元素在视觉上包围浮动元素呢?需要在这个元素中的某个地方应用clear。

      如下图:

容器包围浮动元素示意图

  

  不幸的是,又有问题出现了:由于new元素里面没有元素可以应用清理,所以我们只能添加一个空元素并且清理它。

  具体方法如蓝色代码:

增加一个空元素

  这样就可以实现我们希望的效果,但是需要添加多余的代码。

  如果你不想添加更多多余的代码,小编介绍另外一种方法,那就是对容器div进行浮动。

  具体代码如下:

对容器div进行浮动

  这样会得到我们希望的效果。

  遗憾的是,这还不能完全解决问题,下一个元素会受到这个浮动元素的影响。所以综合以上各种状况,有些人选择对布局中的所有东西进行浮动,然后使用适当的有意义的元素(常常是站点的页脚)对这些浮动进行清理。这有助于减少或消除不必要的标记。

  关于CSS浮动的相关内容,小编就整理到这里了,希望对初学者有所帮助。熟练地运用浮动和清理将使我们的网页布局更加合理,更加舒适。所以大家课后要多做练习巩固,为日后的学习和工作打下坚实的基础喔!

赞(11)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程