首页 > 其他分享 >CSS--盒子的浮动

CSS--盒子的浮动

时间:2024-10-20 11:48:08浏览次数:3  
标签:浮动 盒子 -- float color background CSS left

盒子浮动概念

浮动是CSS中的一种定位方式,可以使元素脱离正常的文档流,并相对于其父元素或其他元素进行定位。

在布局中,可以使用浮动来实现盒子的位置调整和元素的排列。通过设置元素的float属性为leftright,可以使元素向左或向右浮动。浮动的元素会尽可能地靠向父元素的边缘或其他浮动元素的边缘。

float:left;   左浮动

float:right;  右浮动

 

脱离文档流

盒子浮动后,将脱离其原本位置,文档流后面的元素会自动递补其位置。

盒子浮动起来后,会生成一个与父盒等宽的浮层。

浮动盒排列规则:

1.向上向左or向上向右排列

2.当空间无法容纳,则先向下移动,直到高度足够后再向左向右

3.当前浮动盒的顶边,不得高于上一个浮动盒的顶边

实验一(左浮动)

左浮动:第一个设置左浮动的盒子浮至浮层,其他设置左浮动的盒子紧跟其后,从左到右排列,直到放不下才换行。

初始文档流

<style>
        article{
            /* 设置父盒宽高,背景色,下外边距 */
        width: 800px;
        height: 900px;
        background-color: gray;
        margin-bottom: 5px;
    }
    div{
        /* 设置div标签样式 */
        width: 200px;
        height: 100px;
        background-color: pink;
        margin-bottom: 5px;
        
    }
</style>
<body>
     <article>
    <div id="div1">盒子1</div>
    <div id="div2">盒子2</div>
    <div id="div3">盒子3</div>
    <div id="div4">盒子4</div>
    <div>盒子5</div>
     </article>
    
</body>

 

 将盒子1左浮动

#div1{
        background-color: red;
        float: left;
    }

 本例中只将盒子1进行了左浮动,该元素同样脱离文档流向左移动,直到它的左边缘碰到包含框的左边缘。如上图所示:由于盒子1不再处于文档流中,所以它不占空间,实际上覆盖了盒子2,导致盒子2从布局中消失。

将盒子2左浮动

 

#div2{
        background-color: blue;
        float: left;
    }

本例中将盒子2进行了左浮动,盒子2向左浮动紧随盒子1后面。而由于盒子1与盒子2都脱离了文档流,那么所空出的位置就有了两个,所以盒子3和盒子4向上递补位置。

 将所有盒子左浮动

#div1{
        background-color: red;
        float: left;
    }
    #div2{
        background-color: blue;
        float: left;
    }
    #div3{
        background-color: green;
        float: left;
    }
    #div4{
        background-color: orange;
        float: left;
    }
    #div5{
        background-color: yellow;
        float: left;
    }

 本例中将所有盒子进行了左浮动,在这里我们可以看到,所有左浮动的盒子都紧随其后进行排列,但盒子5却排到了第二行的左边,这是因为父盒的容量不够,当空间无法容量时,盒子向下移动,直到高度足够后在向左或向右移动。

 不规则盒子左浮动

 

<style>
        article{
            /* 设置父盒宽高,背景色,下外边距 */
        width: 800px;
        height: 900px;
        background-color: gray;
        margin-bottom: 5px;
    }
    div{
        /* 设置div标签样式 */
        
        background-color: pink;
        margin-bottom: 5px;
        
    }
    #div1{
        width: 200px;
        height: 100px;
        background-color: red;
        float: left;
    }
    #div2{
        width: 200px;
        height: 100px;
        background-color: blue;
        float: left;
    }
    #div3{
        width: 200px;
        height: 300px;
        background-color: green;
        float: left;
    }
    #div4{
        width: 200px;
        height: 100px;
        background-color: orange;
        float: left;
    }
    #div5{
        width: 200px;
        height: 100px;
        background-color: yellow;
        float: left;
    }
    </style>
</head>
<body>
    
     <article>
    <div id="div1">盒子1</div>
    <div id="div2">盒子2</div>
    <div id="div3">盒子3</div>
    <div id="div4">盒子4</div>
    <div id="div5">盒子5</div>
     </article>
    
</body>

本例中展示了当父盒容量不够,不足以排列下所有的盒子时,那么部分元素将会向下移动,直到有足够的空间容纳下它,如上图所示,如果浮动元素高度各不相同,那么当它们向下移动时可能被其他浮动元素挡住。 

说明:浮动元素盒子3的高度超过了向下移动的浮动元素盒子5的高度,因此出现了盒子5向下移动时被盒子3挡住的现象。如果浮动元素盒子3的高度小于浮动元素盒子5的高度,就不会发生盒子3向下移动时被挡住的现象。

 实验二(右浮动)

将盒子1右浮动 

#div1{
        background-color: red;
        float: right;
    }

 本例中将盒子1右浮动,原本属于盒子1的位置被后面的盒子向上递补位置。

 将所有盒子右浮动

<!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>
        article{
            /* 设置父盒宽高,背景色,下外边距 */
        width: 800px;
        height: 900px;
        background-color: gray;
        margin-bottom: 5px;
    }
    div{
        /* 设置div标签样式 */
        width: 200px;
        height: 100px;
        background-color: pink;
        margin-bottom: 5px;
        
    }
    #div1{
        background-color: red;
        float: right;
    }
    #div2{
        background-color: blue;
        float: right;
    }
    #div3{
        background-color: green;
        float: right;
    }
    #div4{
        background-color: orange;
        float: right;
    }
    #div5{
        background-color: yellow;
        float: right;
    }
    </style>
</head>
<body>
    <!-- 让盒子从右到左浮动 ,共用浮动层,浮层位置不够,换行。
     脱离文档流-->
     <article>
    <div id="div1">盒子1</div>
    <div id="div2">盒子2</div>
    <div id="div3">盒子3</div>
    <div id="div4">盒子4</div>
    <div id="div5">盒子5</div>
     </article>
    
</body>
</html>

 所有元素向右浮动,那么盒子1向右移动直到碰到右边框时静止,另外的盒子也向右浮动,直到碰到前一个浮动框也静止。如上图所示,这样就将纵向排列的div容器变成了横向排列。


本章结束 ,感谢观看

 

 

标签:浮动,盒子,--,float,color,background,CSS,left
From: https://blog.csdn.net/2301_82005922/article/details/143088529

相关文章

  • Soso 的并查集写挂了
    题面似乎有原题,但是很偏挂个pdf题面下载算法暴力很显然,只需要在并查集维护时稍微加上一点细节#include<cstdio>usingnamespacestd;intn,m,fa[500010],a[500010];longlongans=0;intfind(intx){ ans+=a[x]; ans%=998244353; if(fa[x]==x)returnx; r......
  • Java继承机制深度解析:细探private与protected权限控制
    private和protected是Java中的两种访问修饰符,用于控制类成员(字段和方法)的访问权限。它们在设计类和实现封装、继承多态性方面具有重要作用。下面详细说明它们的区别和含义。1.private修饰符含义:被private修饰的成员(字段或方法)只能在定义它们的类内部访问。其他......
  • 什么是PLC
    PLCProgrammableLogicController,可编程逻辑控制器,一种用于自动化控制系统的数位电子设备。PLC运作流程接收输入信号PLC借由连接各种传感器和开关,接收来自现场的输入信号(温度、压力、流量、开关的数位信号等)。PLC通过这些输入信号来感知现场的工作状态和环境参数,为后续的......
  • 【前端横向导航栏及简单动画效果(伪类选择器)】
    【html代码】 <!DOCTYPEhtml><html> <head> <metacharset="utf-8"/> <title></title> <linkrel="stylesheet"type="text/css"href="./css/index.css"/> </head> &l......
  • 【软件文档集】软件项目概要设计,详细设计书,需求设计书,数据库设计书完整版资料合集(word
      一、引言(一)编写目的(二)范围(三)文档约定(四)术语二、项目概要(一)建设背景(二)建设目标(三)建设内容(四)系统概述1.网络环境2.数据库平台3.操作系统4.开发工具(五)技术路线1.采用面向服务的体系架构(SOA)2.多源异构数据整合技术3.采用C/S与B/S模式结合的架构4......
  • c++跑酷(技能升级版,升级火,镖,水)
    #include<bits/stdc++.h> #include<windows.h>#include<stdio.h>#include<conio.h>#include<time.h>#defineNorif(B[b].x<5)B[b].x=5;#defineOut1Bx1-Bvx1<=6||Bx1-Bvx1>=28||By1-Bvy1<=7||By1-Bvy1>=27#defineOut......
  • LeetCode第160:相交链表
    文章目录......
  • it项目运维需求方案书,运维管理计划(word原件)
    一、信息系统运维需求1.1服务目标1.2服务人力需求、服务资源需求1.3信息资产统计服务需求1.4业务应用软件服务需求1.5网络、安全系统运维服务需求1.6主机、存储系统运维服务需求1.7数据库系统运维服务需求1.8终端运维服务需求1.9综合布线系统服务需求1.10......
  • 昇思MindSpore进阶教程--AOE调优工具
    大家好,我是刘明,明志科技创始人,华为昇思MindSpore布道师。技术上主攻前端开发、鸿蒙开发和AI算法研究。努力为大家带来持续的技术分享,如果你也喜欢我的文章,就点个关注吧概述AOE(AscendOptimizationEngine)是一款自动调优工具,作用是充分利用有限的硬件资源,以满足算子和......
  • IDEA代码不想提交了,如何回滚
    前言我们在使用IDEA开发Java应用时,经常是需要用git提交代码的,但是有时候,突然不想修改了,就需要把代码进行回滚,那么我们该如何操作呢?如何回滚代码首先,我们点击左侧的commit窗口,然后点击下我们要回滚的文件,鼠标右击下。然后,我们在选项中,点击下【Rollback】。然后,我们在弹出的......