第13课:浮动元素(float)

我们可以通过CSS属性float令元素向左或向右浮动。也就是说,令盒子及其中的内容浮动到文档(或者是上层盒子)的右边或者左边(参见第9课关于盒状模型的描述)。下图阐明了其原理:

一个向左浮动的盒子

举个例子,假如我们想让一张图片被一段文字围绕着,那么其显示效果将如下所示:

一个包含被文字环绕的图片的向左浮动的盒子

如何实现这个效果?

上例的HTML代码如下所示:

<div id="picture"><img src="bill.jpg" alt="Bill Gates"></div>
<p>causas naturales et antecedentes, idciro etiam nostrarum voluntatum...</p>

要实现图片向左浮动、而且被文字环绕的效果,你只需先设定图片所在盒子的宽度,然后再把CSS属性float设为left即可:

#picture {float:left;width: 100px;}

另一个例子:列

浮动也可以用于实现在文档中分列。要创建多个列,你需要在HTML代码里用div来结构化想要的各个列:

<div id="column1">
 <p>左</p>
</div>
<div id="column2">
 <p>中</p>
</div>
<div id="column3">
 <p>右</p>
</div>

下面,我们把各列的宽度设定为“33%”,并通过定义float属性令各列向左浮动:

#column1 {float:left;width: 33%;}
#column2 {float:left;width: 33%;}
#column3 {float:left;width: 33%;}

float属性的值可以是left、right或者none。

clear属性

CSS属性clear用于控制浮动元素的后继元素的行为。

缺省地,后继元素将向上移动,以填补由于前面元素的浮动而空出的可用空间。在前面的例子中,文本自动上移到了比尔盖茨的图片旁。

clear属性的值可以是left、right、both或none。原则是这样的:如果一个盒子的clear属性被设为“both”,那么该盒子的上边距将始终处于前面的浮动盒子(如果存在的话)的下边距之下。

<div id="picture"><img src="bill.jpg" alt="Bill Gates"></div>
<h1>Bill Gates</h1>
<p class="floatstop">causas naturales et antecedentes, idciro etiam 
nostrarum voluntatum...</p>

要避免文本上移到图片旁,我们可以在CSS中添加以下代码:

#picture {float:left;width: 160px;}
.floatstop {clear:both;}

小结

浮动在很多情况下都很有用,它经常与定位联合使用。在下一课,我们将深入了解如何进行盒子的绝对或相对定位。

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/5254.html

赞 (0)
江山如画的头像江山如画管理团队
第12课:高度和宽度
上一篇 2020年2月25日 下午3:14
第14课:元素的定位
下一篇 2020年2月25日 下午4:07

99%的人还看了以下文章

  • CSS3 transform:rotate()制作旋转图片

    在《CSS3 transition transform属性及实例详解》中我们实现了:鼠标放到图片上,图片等比例放大的效果,今天分享transform:rotate()制作旋转图片。 CSS3中的transform:rotate()可以实现旋转功能,可以在CSS里面设定旋转的角度,也可以设定旋转用多少时间来完成。 旋转图片HTML代码 <img src=…

    2019年1月29日
    25.7K1
  • 第6课:学习更多HTML元素

    到现在,你有没有独立完成过一个网页?你可以的,看看下面的例子: <html> <head><title>125建站网|www.125jz.com</title></head> <body> <h1>一级标题</h1><p>一些文字。。。</p&g…

    2018年1月20日
    13.5K0
  • 第11课:边框(border)

    边框(border)可以有多种用途,比如作为装饰元素或者作为划分两物的分界线。在设置边框方面,CSS为你提供了无尽选择。border-widthborder-colorborder-style 边框宽度[border-width] 边框宽度由CSS属性border-width定义,其值可以是“thin”(薄)、“medium”(普通)或“thick”(厚)等…

    2020年2月25日
    7.9K0
  • 22个HTML5的初级技巧

    本文总结了22个HTML5的初级技巧,希望能对你进一步学习好HTML5会有所帮助。

    2018年3月18日
    3.9K0
  • 第4课:字体

    这一课,你将学习字体以及如何用CSS来设置字体。我们还会考虑如何解决“网站所选的字体仅当访问者的PC上安装有该字体时才会被显示”这一难题。本课将对下列CSS属性进行讲解: font-family font-style font-variant font-weight font-size font 字体族[font-family] CSS属性font-fami…

    2020年2月22日
    10.6K0
  • 第11课:表格的高级特性

    表格还有哪些相关属性? colspan和rowspan这两个属性用于创建特殊的表格。colspan是“column span(跨列)”的缩写。colspan属性用在<td>标签中,用来指定单元格横向跨越的列数: 例1: <table border=”1″> <tr><td colspan=”3″>单元格1&lt…

    2018年1月19日
    9.5K0

发表回复

登录后才能评论