• 《网页布局基础篇》—浮动布局和float属性


    浮动布局

    
    <html>
    <head>
      <meta charset="utf-8">
      <title>浮动</title>
      <style type="text/css">
           .box1{
                 height:50px;
                 background-color:red;
                 }
           .box2{
                 height:50px;
                 background-color:blue;
                 }
      </style>
    </head>
    <body>
          <div class="box1"></div>
          <div class="box2"></div>
    </body>
    </html>

    这里写图片描述

    以上为两个基本的div

    此时给box1加一个向左浮动:

    .box1{
          height:50px;
          background-color:red;
          float:left;
          }

    此时结果如下图: 
    这里写图片描述

    此时,红色box1不见了

    原因:box1里面没有内容,且没有设置宽度,当设置浮动时,尺寸得不到扩展,会缩成一个小圆点,出现在浏览器左上角。

    这时候我们给box1填充内容,再来看看效果

     <div class="box1">这里是box1,哈哈哈哈哈哈哈</div>
    • 1

    这里写图片描述

    当元素没有设置宽度值,而设置了浮动属性,元素的宽度随内容的变化而变化。

    清除浮动

    当元素设置浮动属性后,会对相邻的元素产生影响,相邻元素特指紧邻后面的元素,所以有时需要用到清除浮动的方法。

    例如. 给box2填充内容:

    <div class="box2">这里是box2,哈哈哈哈哈哈哈</div>
    • 1

    给box2增添一句向左浮动的代码:

     .box2{
                 height:50px;
                 background-color:blue;
                 float:left;
                 }

    此时效果如下图: 
    这里写图片描述

    在box2的div后增添一个p标签,填充内容:

    <p>这里是box2后面的一个段落,紧邻在box2后面,是box2的相邻元素</p>
    • 1

    此时效果如下图: 
    这里写图片描述

    此时因为p元素为box2的相邻元素,由于box2向左浮动,故对p元素产生了影响。所以现在需要清除浮动,达到p元素在box2下面,独占一行的效果。

    清除浮动的方法:

    1. 给需要清除浮动的元素增添属性值:clear:left;/right;/both; 
      即为不允许左侧/右侧/两边有浮动对象。

      注意:这个规则只能影响使用清除的元素本身,不能影响其他元素。

    2. 同时设置 
      1).100%;(或固定宽度) 
      2).overflow:hidden;

    此时来试试清除浮动的方法 
    1).给p元素增添属性值,达到清除浮动的目的:

    p{
    clear:left;
    }

    使用clear:left;指定p元素左边不出现浮动元素,这样p元素被迫下移一行

    效果如下图: 
    这里写图片描述

    2).第二种方法也能达到和第一种方法一样的效果,如上图所示。

    p{
    100%;
    overflow:hidden;
    }
    • 1
    • 2
    • 3
    • 4

    现在我将所有的代码全部贴上来:

    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="utf-8">
      <title>浮动</title>
      <style type="text/css">
           .box1{
                 height:50px;
                 background-color:red;
                 float:left;
                 }
           .box2{
                 height:50px;
                 background-color:blue;
                 float:left;
                 }
            p{
            clear:left;  /*清除浮动方法一*/
            /*100%;   
            overflow:hidden;*//*清除浮动方法二*/
             }
      </style>
    </head>
    <body>
          <div class="box1">这里是box1,哈哈哈哈哈哈哈</div>
          <div class="box2">这里是box2,哈哈哈哈哈哈哈</div>
          <p>这里是box2后面的一个段落,紧邻在box2后面,是box2的相邻元素</p>
    </body>
    </html>
  • 相关阅读:
    Python字典处理技巧
    javascript常用对象
    8. 异步操作
    九度OnlineJudge之1022:游船出租
    直方图(下)
    MySQL中关于日期、时间的数据类型和函数
    libvirt(virsh命令介绍)
    11g的alert日志路径
    使用GridView来获取xml文件数据
    MediaPlayer视频播放器
  • 原文地址:https://www.cnblogs.com/tomingto/p/14062556.html
Copyright © 2020-2023  润新知