首页 > 其他分享 >浮动布局

浮动布局

时间:2024-04-26 20:22:36浏览次数:20  
标签:浮动 布局 盒子 color 元素 width background

浮动

应用场景

  1. 文字环绕(最初的使用场景)
  2. 横向排列

浮动的基本特点

  1. 当一个元素浮动后,元素必定为块盒(会更改display为block)
  2. 浮动元素的包含块与常规流一致为父元素的内容盒。

盒子尺寸

  1. 宽度为auto时,适应内容高度
  2. 高度为auto时,与常规流一致,适应内容高度
  3. margin为auto, 为0
  4. border,padding百分比设置于常规流一样

浮动元素不会吸收剩余空间

盒子排列

  1. 常规流块盒在排列时无视浮动元素;
  2. 浮动盒子在包含块中排列时,会避开常规流块盒;
  3. 行盒在排列时会避开浮动元素(文字环绕);
  4. 外边距合并不会发生(BFC);
  5. 浮动盒子之间的排列如下图
    image

如果文字没有在行盒中,浏览器会自动生成一个行盒包裹文字,该行盒叫做匿名行盒

高度坍塌

高度坍塌的根源:常规流盒子的自动高度,在计算时,不会考虑浮动元素

清除浮动,clear

  • 默认值:none
  • left:清除左浮动,添加该样式的元素必须出现在前面所有左浮动元素盒子的下方
  • right:清除右浮动,添加该样式的元素必须出现在前面所有右浮动元素盒子的下方
  • both:清除左右浮动,添加该样式的元素必须出现在前面所有浮动元素盒子的下方
clearfix::after {
  content: '';
  display: block;
  clear: both![image](/i/l/?n=24&i=blog/2145436/202404/2145436-20240426195220666-273587444.png)

}

例子

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    .father {
      width: 100%;
      background-color: aqua;
      height: 100vh;
    }

    .son {
      float: left;
      width: 100px;
      height: 100px;
      background-color: red;
    }

    .son1 {
      width: 30%;
      background-color: rgb(241, 33, 33);
    }

    .son2 {
      width: 40%;
      background-color: rgb(155, 13, 13);
    }

    .son3 {
      width: 50%;
      background-color: rgb(73, 21, 21);
    }

    .son4 {
      float: right;
      width: 300px;
      background-color: rgb(82, 57, 57);
    }

    .son5 {
      float: right;
      width: 300px;
      background-color: rgb(134, 122, 122);
    }

    .block {
      height: 50px;
      background-color: aquamarine;
    }
  </style>
</head>

<body>
  <div class="father">
    <div class="son son2">2</div>
    <div class="son son3">3</div>
    <div class="son son4">4</div>
    <div class="son son5">5</div>
    <div class="block"></div>
    <span>Lorem ipsum dolor sit amet consectetur adipisicing elit. Rerum doloremque placeat, at facilis officiis error
      blanditiis alias voluptas exercitationem possimus dicta qui dignissimos voluptatem nihil, praesentium dolorum!
      Maxime totam, commodi dolor ipsum unde molestias. Doloribus exercitationem voluptatum architecto omnis
      praesentium dolorem adipisci modi consequuntur quae explicabo quos eligendi id soluta voluptate dolores sit,
      necessitatibus ipsam illo maxime ad aliquam ratione nisi fugiat. Delectus temporibus, possimus, ex debitis iste
      similique aperiam velit repellat quasi ducimus pariatur omnis iure necessitatibus rerum quod. Ab in fuga
      laudantium dolorum quia obcaecati asperiores rem dolore aut saepe! Ex qui eveniet quia tempora porro, placeat
      quos laudantium mollitia rerum illum? Adipisci accusamus ab ad quam laudantium necessitatibus voluptatem rerum
      fugit placeat animi earum, delectus, est eveniet inventore maxime, repudiandae eum odio! Tempore totam natus
      dicta asperiores quos dolore. Voluptas, cumque soluta modi neque assumenda tempora odit facere ullam dicta
      inventore harum repudiandae in fuga tenetur maiores incidunt, consequuntur hic dolores! Consectetur assumenda,
      non perspiciatis iure quia fuga reiciendis aliquam sunt nihil ducimus molestias quisquam inventore optio amet
      recusandae vel ad omnis animi consequatur laborum. Deserunt, non deleniti, quia fugit aliquam tempora dolores
      soluta nulla eum asperiores fuga molestiae quidem ab blanditiis impedit. Ratione tempore autem ut!</span>
    <div class="son son1">1</div>
  </div>
</body>

</html>

标签:浮动,布局,盒子,color,元素,width,background
From: https://www.cnblogs.com/zhanxinbing/p/16372955.html

相关文章

  • html+css布局小技巧
      <!DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="......
  • WPF自定义FixedColumnGrid布局控件
    按照上一节所讲,我已经对布局系统又所了解。接下来我就实现一个布局控件FixedColumnGrid。1.基础版布局控件机制如下,FixedColumnGrid将子控件按照水平排列,每行满两列后换行。每个控件大小相同,高度固定为50。第一步,先重载测量和排列方法protectedoverrideSizeMeasureOverrid......
  • grid布局的基本使用
    1、首先需要在父容器中设置display属性display:grid//设置容器中子元素为栅格布局2、其次最重要的就是确定容器中行数和列数,通过行数和列数形成具体的网格状布局,这也是栅格布局的由来由两个属性grid-template-columns和grid-template-row来分别决定行数和列数grid-temp......
  • [Place 30-575]VIVADO 布局布线bug
     开始怀疑是约束文件有问题,把输入引脚的位置错误约束了,但是并没有,DDR的输入时钟也是用的bank33,电平、引脚约束也没错(AlinxAX7325B开发板) 尝试按照建议添加set_propertyCLOCK_DEDICATED_ROUTEBACKBONE,但是imple仍然报该错误,并且综合提示setproperty为空? 原代码中ddr参......
  • wpf布局递归
    wpf布局递归的调用到底是怎样的顺序?我一直挺模糊。按照继承顺序。已知:1.1.UIElement:声明了Measure1.2.UIElement:声明了MeasureCore,返回Size(0,0)1.3.UIElement:Measure调用了this.MeasureCore2.1.FrameworkElement:声明了MeasureOverride返回Size(0,0)2.2.FrameworkElement:重......
  • HarmonyOS NEXT应用开发—验证码布局
    介绍本示例介绍如何使用Text组件实现验证码场景,并禁用对内容的选中、复制、光标。效果图预览使用说明单击组件可弹出输入法在进行验证码输入时,无法对中间单个数字进行更改,无法选中输入内容,无光标实现思路因为要禁用复制、选中等功能,这里使用了Text组件,而不是TextInput......
  • ASO布局策略,如何布局优化才能让产品快速成长?
    在面对黑色的8月,苹果爸爸闹脾气后,各种应用的下架、清词、清榜以及调整评论权重的一阵闹腾,可是把做ASO优化的小伙伴和开发小哥哥们,搞得鸡飞狗跳不得安宁。在面对慢慢把自己的主场进行的打扫干净的苹果爸爸,刚上架的app产品要怎样才能做好ASO优化呢?历经千辛万苦开发,准备上架的app怎......
  • flex布局---标签切换
    我们需要实现下面的页面效果 这边将代码放在下面html部分<!--标签页标题--><viewclass="tob"><viewclass="tab-item">音乐推荐器</view><viewclass="tab-item">播放器</view><viewclass="tab-item">播放列表......
  • 鸿蒙HarmonyOS实战-ArkUI动画(布局更新动画)
    ......
  • 【布局进阶】巧用 :has & drop-shadow 实现复杂布局效果
    最近,群里聊到了一个很有意思的布局效果。大致效果如下所示,希望使用CSS实现如下所示的布局效果:正常而言,我们的HTML结构大致是如下所示:<divclass="g-container"><divclass="g-nav"><ul><li>Tab1</li><li>Tab2</li>......