服务时间:8:30-18:00

首页 >web前端网

css浮动有哪些特性

发布时间:2022-12-03 22:12 字数:2855字 阅读:154

css浮动有哪些特性?浮动的特征

1. 脱离文档流

只给例中的box1添加float: left属性,box1会脱离文档流,向左浮动,如图1所示。这意味着box1无需在文档流中占据位置,其他元素按照box1不存在的情况进行排列,box2移动到了box1之前的位置上。

【例1】创建3个div元素。CSS代码如下。


.box1{
   width: 100px;
   height: 100px;
   background-color: #ea7070;
   line-height: 100px;
}
.box2{
   width: 200px;
   height: 200px;
   background-color: #fdc4b6;
   line-height: 200px;
}
.box3{
   width: 300px;
   height: 300px;
   background-color: #e59572;
   line-height: 300px;
}
.box{
   font-size: 22px;
   text-align: center;
   color: grey;
}


代码如下。


 .box1{
   width: 100px;
   height: 100px;
   line-height:100px;
   background-color: #ea7070;
   float: left;
 }
 .box2{
   width: 200px;
   height: 200px;
   background-color: #fdc4b6;
   line-height: 200px;
 }
 .box3{
   width: 300px;
   height: 300px;
   background-color: #e59572;
   line-height: 300px;
 }
 .box{
   font-size: 22px;
   text-align: center;
   color: grey;
 }


只给box1添加float: left属性

图1 只给box1添加float: left属性

通过改变float的属性值可以改变浮动的方向,将box1设为向右浮动,box1将脱离文档流向右移动,直到碰到父级边框停下,如图2所示。代码如下。


 .box1{
   width: 100px;
   height: 100px;
   line-height:100px;
   background-color: #ea7070;
   float: right;
 }


将box1设为向右浮动

图2 将box1设为向右浮动

2. 只影响内联元素的布局

元素浮动之后,不会影响其他块元素的布局,只会影响内联元素的布局。利用浮动的这个特性,可以做出图文环绕的效果。

【例2】创建img元素与span元素,浏览器显示效果如图3所示。CSS代码如下。


img{
   width: 100px;
   height: 100px;
}


HTML代码如下。

<body>
   <img src="img/penguin1.jpg" alt="" />
   <span> 企鹅(Spheniscidae):有“海洋之舟”美称的企鹅是一种最古老的游禽,它们很可
能在地球穿上冰甲之前,就已经在南极安家落户。全世界的企鹅共有18种,大多数都分布在南半球,
属于企鹅目,企鹅科。企鹅的特征为不能飞翔;脚生于身体最下部,故呈直立姿势;趾间有蹼;跖行
性(其他鸟类以趾着地);前肢成鳍状;羽毛短,以减少摩擦和湍流;羽毛间存留一层空气,用以保温;
背部黑色,腹部白色。企鹅能在-60℃的严寒中生活、繁殖。在陆地上,它活像身穿燕尾服的西方
绅士,走起路来,一摇一摆,遇到危险,连跌带爬,狼狈不堪。可是在水里,企鹅那短小的翅膀成了
一双强有力的“划桨”,游速可达每小时25~30千米,一天可游160千米。企鹅主要以磷虾、乌贼,
小鱼为食。企鹅共有18个独立物种,体型最大的物种是帝企鹅,平均约1.1米高,体重35千克以上。
最小的企鹅物种是小蓝企鹅(又称神仙企鹅),体高约40厘米,重约1千克。企鹅本身有其独特的
结构,企鹅羽毛密度比同一体型的鸟类大3~4倍,这些羽毛的作用是调节体温。 虽然企鹅的脚与
其他飞行鸟类的脚差不多,但企鹅双脚的骨骼坚硬,并且脚比较短且平。这种特征配合有如两只桨的
短翼,使企鹅可以在水底“飞行”。南极虽然酷寒难当,但企鹅经过数千万年暴风雪的磨炼,全身的
羽毛已变成重叠、密接的鳞片状。
   </span>
</body>

浏览器显示效果

图3 浏览器显示效果

给img元素添加float: left属性,文字围绕图片显示,如图4所示,CSS代码如下。


img{
   width: 100px;
   height: 100px;
   float: left;
}


给img元素添加float: left属性

图4 给img元素添加float: left属性

3. 块元素在同一行显示

浮动可以完全取代inline-block的功能,让多个块元素同处一行。

4. 默认内容撑开宽度

未设置宽度时,根据块元素的特征,宽度撑满整行。处于浮动状态下的块元素还是如此吗?去掉例1中box1、box2、box3样式的宽度,代码如下。


 .box1{
   height: 100px;
   background-color: #ea7070;
   line-height: 100px;
   float: left;
}
 .box2{
   height: 200px;
   background-color: #fdc4b6;
   line-height: 200px;
   float: left;
}
 .box3{
   height: 300px;
   background-color: #e9572;
   line-height: 300px;
   float: left;
}


浏览器显示效果如图5所示。当没有设置宽度的时候,默认内容撑开宽度。

去掉宽度的CSS样式

图5 去掉宽度的CSS样式

5. 内联元素支持宽高

float属性不仅可以设置块元素是否浮动,还可以设置内联元素是否浮动。

【例3】创建3个span元素,设置宽高与背景颜色。未设置浮动的情况下,根据内联元素的特点,所设置的宽高无效,默认由内容撑开宽度,运行结果如图6所示。CSS代码如下。


span{
   width: 100px;
   height: 100px;
   background-color: #ffad60;
   margin: 0 20px;
}


HTML代码如下。


<body>
    <span>span1</span>
    <span>span2</span>
    <span>span3</span>
</body>


创建3个span元素

图6 创建3个span元素

给内联元素添加CSS样式float: left之后,内联元素支持宽高,运行结果如图7所示。CSS代码如下。


span{
   width: 100px;
   height: 100px;
   background-color: #ffad60;
   margin: 0 20px;
   float: left;
   color: grey;
}


HTML代码如下。


<body>
    <span>span1</span>
    <span>span2</span>
    <span>span3</span>
</body>


给内联元素添加浮动

图7 给内联元素添加浮动