float中的某些问题

      float浮动,在css中一个相当重要的属性功能,其可以用来创建多列网页布局、由无序列表创建导航工具栏等。float属性的取值包括:none(不浮动)、left(左浮动)、right(右浮动)。其可以应用于不仅于图像,还包括段落、列表、div块等,但在使用float时应注意几个几个基本行为:

      1、当float不等于none,即引起元素浮动时,元素将被视为块元素,相当于display:block;

      2、当浮动文本类时,必须指定其width值

      3、浮动元素将停留在包含在它的父级元素的区域里,不会穿过padding区

      在使用float时,首先要明白的是,其浮动的定位是相对于父级元素的;如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title></title>
    <meta http-equiv="content-type" content="text/html" charset="utf-8"/>
    <style type="text/css">
        *{ margin: 0; padding: 0; }
        .main{ width: 1024px; height: 768px;  background-color: gray; }
        .left{ width:200px;  height:50px;  background-color: blue;  /*float:left;*/ }
        .right{ width:250px; height:60px; background-color: red; float:right; }
    </style>
</head>
<body>
<div class="main">
    <div class="left">
       <label>蓝色区域</label>
    </div>
    <div class="right">
        <label>红色区域</label>
    </div>
</div>
</body>
</html》

第一个为红色区域.right中未设置漂浮时图片,后为漂浮后图片。通过其可以看出:1、当红色区域向右飘时,其相对于其父元素div,即灰色区域向右漂浮。2、在蓝色区域,虽然设置其width和height属性值,但其仍会占据整个行的区域,设置width值仅为可视区域。因此,红色区域未漂浮至灰色区域最右顶端,若想其漂浮至最右顶端,则需要设置.left{float:left;}即将注释/*float:left*/取消结果如:

在使用漂浮时,由于浮动元素不会占据正常文档流空间,因此浮元素原由区域将由未明确定位的块级元素填充其区域。

还有个问题,即是,浮动元素的容器不会自动伸展来包含浮动元素而引起父级元素的坍塌,如上代码,若将蓝色区域与红色区域均进行漂浮,再将父级元素div中.main中height属性不设置,代码改为 .main{ width:524px;  margin: auto; background-color: gray; },则结果将是:

平面图

立体图

其父级元素div将消失。

float的使用可以更好的进行css布局,但在使用中要根据情况酌情使用。

转载于:https://my.oschina.net/u/1162340/blog/136224

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值