在普通流中,块级元素的盒子都是上下排列,行内元素的盒子都是左右排列,如果仅仅按照普通流的方式进行排列,就只有这几种可能性,限制太大。
因此又给出了浮动和定位方式
进行盒子的排列,从而使排版的灵活性大大提高。
例如:有时希望相邻块级元素的盒子左右排列(所有盒子浮动)或者希望一个盒子被另一个盒子中的内容所环绕(一个盒子浮动)做出图文混排的效果,这时最简单的办法就是运用浮动(float)属性使盒子在浮动方式下定位。
在普通流中,一个块级元素在水平方向会自动伸展,在它的父元素中占满整个一行;而在竖直方向和其他元素依次排列,不能并排,如例1所示。使用“浮动”方式
后,这种排列方式就会发生改变。
div.son1,div.son2,div.son3{
padding:10px; margin:20px;
border:1px dashed #111111;
background-color:#90baff;
}
.father{
background-color:#ffff99;
border:1px solid #111111;
}
class="son1"
>盒子1</div>class="son2"
>盒子2</div>class="son3"
>盒子3</div>CSS的float属性,默认值为none,也就是在普通流中的情况,如果将float属性的值设为left或right
,元素就会向其父元素的左侧或右侧靠紧,同时盒子的宽度不再伸展,而是收缩
,在没设置宽度时,会根据盒子里面的内容来确定宽度。
一个盒子浮动:
1)接下来在上述例1代码中添加一条CSS代码,使类为“.son1”的元素向左浮动 float:left;
代码如下:
div.son2,div.son3{
padding:10px; margin:20px;
border:1px dashed #111111;
background-color:#90baff;
}
div.son1{
float:left;
padding:10px; margin:20px;
border:1px solid red;
background-color:green;
}
class="son1"
>盒子1</div>class="son2"
>盒子2</div>class="son3"
>盒子3</div>给“.son1”添加浮动属性后,“.son1”的宽度不再自动伸展,而且不再占据原来浏览器分配给它的位置。如果再在未浮动的盒子Box-2中添加文本,就会发现“.son2”中的内容是环绕着浮动盒子的
,如例3:
class="son1"
>盒子1</div>class="son2"
>盒子2:国外技术站点Mashable.com评出了开发人员在2011年应该关注的5项Web开发技术,包括jQuery
Mobile(jQuery移动版)、Hardware-Accelerated Web Browsers(基于硬件加速的浏览器)、Node.js(服务器端JavaScript)、Real-Time Clickstream
Sharing(实时点击流分享)、NoSQL
Databases(NoSQL数据库)入选。jQuery已经成为JavaScript事实上的代名词,很大程度上是因为其可扩展性,易用性以及在项目管理方面可控。随着用于平板电脑和智能手机等设备的触屏优化技术的演进,以及与此相关的web框架的发展,jQuery
Mobile将成为跨平台,支持多设备的手机应用的非常重要的技术选择之一。越来越多的开发者开始考虑使用HTML
5技术来开发移动应用,建立一个稳定的易用性好的JavaScript框架将成为移动技术开发人员的重要选择。jQuery Mobile具备成为这一框架的事实上的基础。(因jQuery目前的应用范围相当广泛和普遍)
</div>class="son3"
>盒子3</div>2)使类为“.son1”的元素向右浮动 float:right;
代码如下:
float:Right;
class="son1"
>盒子1</div>class="son2"
>盒子2</div>class="son3"
>盒子3</div>总结:一个盒子浮动后的特点
多个盒子浮动:
多个盒子都浮动后,就产生了块级元素水平排列的效果
div.son3{
padding:10px; margin:20px;
border:1px dashed #111111;
background-color:#90baff;
}
div.son1,div.son2{
float:left;
padding:10px; margin:20px;
border:1px solid red;
background-color:green;
}
class="son1"
>盒子1</div>class="son2"
>盒子2</div>class="son3"
>盒子3:越来越多的开发者开始考虑使用HTML
5技术来开发移动应用,建立一个稳定的易用性好的JavaScript框架将成为移动技术开发人员的重要选择。jQuery
Mobile具备成为这一框架的事实上的基础。(因jQuery目前的应用范围相当广泛和普遍)</div>div.son1,div.son2,div.son3{
float:left;
padding:10px;
margin:20px;
border:1px dashed #111111;
background-color:#90baff;
}
class="son1"
>盒子1<br />盒子1<br
/>盒子1</div>class="son2"
>盒子2</div>class="son3"
>盒子3</div>浮动的清除:
clear是清除浮动属性,它的取值有left、right、both和none(默认值)
清除浮动属性clear
left、right、both和none(默认值)
clear值为left或right
,表示该盒子的左边或右边不允许有浮动的对象。值设置为both
则表示两边都不允许有浮动对象,因此该盒子将会在浏览器中另起一行显示 clear属性既可以用在未浮动的元素上
,也可以用在浮动的元素上
,如果对盒子3-2同时设置清除浮动和浮动,即:
div.son32{clear:both; float:left;}
见盒子3-2的效果
div.son31{
clear:both;
div.son32{
float:left;
clear:both;
class="son1"
>盒子1</div>class="son2"
>盒子2</div>class="son31"
>盒子3-1:因jQuery目前的应用范围相当广泛和普遍</div>©版权所有: 淮安深度人工智能科技有限公司2020, 备案号:苏ICP备2020056902号-2 | 技术支持:淮阴工学院计算机与软件工程学院《Web开发技术》教学团队