css - 浮动(float)

  为了防止后续忘记css一些常见的属性,每隔一段时间会记录有关于css相关的知识。这一章节主要介绍css 的float属性。

  1、一些常见float的值

介绍
left 左浮动
right 右浮动
none 默认值
inherit 继承父元素float的值

  2、特点

    (1)会脱标, 在标准流中不占位置,浮动元素比标准流高出半个级别

    (2)下一个浮动元素会在上一个浮动元素后面左右浮动

    (3)浮动元素受上面边界的影响

  3、清除浮动的方法

  (1)给添加浮动的父元素设置高度

  (2)额外标签法 --- 一般不使用
    步骤一: 添加浮动父元素内容的最后添加一个块元素,
    步骤二:给添加的块元素设置    clear:both
  (3)伪元素清除法 --- 用的比较多
    clearfix为父元素class ---添加浮动的父元素

    (前两个为单伪元素)
      .clearfix::after {
        content: '',
        display: block,
        clear: both
      }
    或者
      clearfix::after {
        content: '',
        display: block,
        clear: both,
        height:0,
        visibility: hidden
      }

    或者 (双伪元素)
      .clearfix::before, // 可以解决margin塌陷,margin塌陷的意思是,当给子元素设置magin时,父元素也出现了margin
      .clearfix::after {
        content: '';
        display: table;
      }
      .clearfix::after{
        clear: both;
      }
  (4)给设置浮动的父元素设置overflow:hidden

  4、例子

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>设置浮动和清除浮动的方法</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        ul {
            list-style: none;
            /* 清除浮动的方法 方法一: */
            /* height: 50px; */

            /* 方法五:BFC */
            /* float: left; */
            /* height: 50px; */
            /* overflow: hidden; */
        }
        li {
            float: left;
        }
        a {
            float: left;
            width: 80px;
            height: 80px;
            background-color: #159bd9;
            text-decoration: none;
            text-align: center;
            line-height: 80px;
            color: #000;
            font-size: 16px;
            border: 1px solid #fff;
        }
        .clearFloat {
            width: 400px;
            height: 400px;
            background-color: lawngreen;
            text-align: center;
            line-height: 400px;
            font-style: italic;
        }
        /* <!-- 方法二 添加额外的标签 --> */
        /*.clear {
            clear: both;
        }*/
        /* 方法三:单伪元素清除法 */
        .clearfix::after {
            content: '';
            display: block;
            clear: both;
       // 下面两行可添加
       //height:0; //visibility: hidden } /* 方法四:双伪元素清除法 */ /*.clearfix::before, .clearfix::after { content: ''; display: table; } .clearfix::after{ clear: both; } */ /* 方法五: overflow:hidden */ /* .clearfix { overflow: hidden; } */ </style> </head> <body> <ul class="clearfix"> <li><a href="#">衣服</a></li> <li><a href="#">裤子</a></li> <li><a href="#">鞋子</a></li> <li><a href="#">帽子</a></li> <!-- 方法二 添加额外的标签 --> <!-- <div class="clear"></div> --> </ul> <div class="clearFloat"> 清除浮动 </div> </body> </html>

 

posted @ 2022-09-05 22:57  先起这个昵称  阅读(209)  评论(0编辑  收藏  举报