zoukankan      html  css  js  c++  java
  • CSS深入理解之float(HTML/CSS)

    float的设计初衷仅仅是:为了文字环绕效果

    float的包裹与破坏

    包裹:收缩、坚挺、隔绝(BFC)

    破坏:父元素高度塌陷

    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8" />
        <title>Layout</title>
        <style>
          .box{
              border: 1px solid red;
              width: 300px;
              margin: 20px auto;
          }
          .left{
              float: left;
              height: 100px;
              width: 50px;
              border: 1px solid black;
          }
          .right{
              float: right;
              height: 100px;
              width: 50px;
              border: 1px solid green;
          }
        </style>
      </head>
      <body>
        <div class="box">
            <div class="left"></div>
            <div class="right"></div>
        </div>
      </body>
    </html>
    View Code

    如何降低float破坏性的影响(清除浮动)?

    1、底部插入clear:both;

    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8" />
        <title>Layout</title>
        <style>
          .box {
            border: 1px solid red;
            width: 300px;
            margin: 20px auto;
          }
          .clearfix {
            clear: both;
          }
          .left {
            float: left;
            height: 100px;
            width: 50px;
            border: 1px solid black;
          }
          .right {
            float: right;
            height: 100px;
            width: 50px;
            border: 1px solid green;
          }
        </style>
      </head>
      <body>
        <div class="box">
          <div class="left"></div>
          <div class="right"></div>
          <div class="clearfix"></div>
        </div>
      </body>
    </html>
    View Code
    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8" />
        <title>Layout</title>
        <style>
          .box {
            border: 1px solid red;
            width: 300px;
            margin: 20px auto;
          }
          .box:after {
            content: '';
            display: block;
            height: 0;
            overflow: hidden;
            clear: both;
          }
          .left {
            float: left;
            height: 100px;
            width: 50px;
            border: 1px solid black;
          }
          .right {
            float: right;
            height: 100px;
            width: 50px;
            border: 1px solid green;
          }
        </style>
      </head>
      <body>
        <div class="box">
          <div class="left"></div>
          <div class="right"></div>
        </div>
      </body>
    </html>
    View Code
    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8" />
        <title>Layout</title>
        <style>
          .box {
            border: 1px solid red;
            width: 300px;
            margin: 20px auto;
          }
          .box:after {
            content: '';
            display: table;
            clear: both;
          }
          .left {
            float: left;
            height: 100px;
            width: 50px;
            border: 1px solid black;
          }
          .right {
            float: right;
            height: 100px;
            width: 50px;
            border: 1px solid green;
          }
        </style>
      </head>
      <body>
        <div class="box">
          <div class="left"></div>
          <div class="right"></div>
        </div>
      </body>
    </html>
    View Code

    2、父元素BFC/haslayout

    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8" />
        <title>Layout</title>
        <style>
          .box {
            border: 1px solid red;
            width: 300px;
            margin: 20px auto;
            overflow: hidden;
          }
          .left {
            float: left;
            height: 100px;
            width: 50px;
            border: 1px solid black;
          }
          .right {
            float: right;
            height: 100px;
            width: 50px;
            border: 1px solid green;
          }
        </style>
      </head>
      <body>
        <div class="box">
          <div class="left"></div>
          <div class="right"></div>
        </div>
      </body>
    </html>
    View Code

    float的特性

    1、元素block块状化(砖头化);

    2、破坏性造成的紧密排列特性(去空格化)。

  • 相关阅读:
    转载1
    转载
    WampServer的研究日记一
    第一期 花式自适应网页哪家强? 就选你啦
    缓动函数requestAnimationFrame用法
    原生js canvas 碰撞游戏的开发笔记2
    非常便利的前端模板smarty js 的使用
    原生js canvas 碰撞游戏的开发笔记
    Sublime Text 的研究日记
    面向对象设计模式(目录)
  • 原文地址:https://www.cnblogs.com/fengxiongZz/p/8148673.html
Copyright © 2011-2022 走看看