Flex布局---看一篇就够了

news2024/11/28 22:39:05
 1. flex布局是什么?

        flex是flexible Box的缩写,用来为盒装模型提供的最大的灵活性,任何一个容器都可以指定为flex布局。Flex布局称为flex容器,所有的子元素为容器成员Flex项目(flex item);

        当为父盒子设为flex布局以后,子元素的float、vertical-align,clear数据将失效

         flex布局伸缩布局 = 弹性布局 = 伸缩盒布局 = 弹性盒布局

方法: 通过给父盒子添加flex属性,来控制子盒子的位置和排列方式。

2. 传统的布局 VS Flex布局

传统布局:兼容性好,布局繁琐,有布局性,不能在移动端很好的布局

Flex布局:操作方便,布局简单;移动端应用广泛

总结:PC端页面中布局,推荐使用传统布局,移动端布局或者不考虑兼容性问题的话PC端页面布局,还是使用Flex弹性布局更加实用。

需要在最大的盒子中(box)加入display: flex;【使用flex布局,否则功能无法实现】

实例代码【可自行看效果】

<!DOCTYPE html>
<html>
<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>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        .box {
            height: 300px;
            margin: auto;
            border: 1px solid #000;
        }
        .box div {
            width: 100px;
            height: 100px;
           background-color: pink;
        }
    </style>
</head>
<body>
    <div class="box">
        <div>1</div>
        <div>2</div>
        <div>3</div>
    </div>
</body>
</html>
  3. flex-direction设置主轴方向

flex-direction 是属性决定主轴的方向,就是项目的排列方向

flex-direction一共有四个方法

        ①row :是主轴为水平方向,起点在左端。(默认值)
        .box {
            display: flex;
            flex-direction: row;
        }

                        展示效果如下:

                        

        ②row-reverse:是主轴为水平方向,起点在右端。
        .box {
            display: flex;
            flex-direction: row-reverse;
        }

                       展示效果如下:

                        

        ③column:是主轴为垂直方向,起点在上端
          .box {
            display: flex;
            flex-direction: column;
        }

                        展示效果如下:

                        

        ④column-reverse:是主轴为垂直方向,起点在下端
           .box {
            display: flex;
            flex-direction: column-reverse;
        }

                        展示效果如下:

                        

4.  justify-content

        justify-content 设置主轴上的子元素排列方式,属性定义了项目在主轴上的对齐方式

        注意:使用这个属性之前一定要确定好主轴是哪个

/* 对齐方式 */
justify-content: center;     /* 居中排列 */
justify-content: start;      /* 从行首开始排列 */
justify-content: end;        /* 从行尾开始排列 */
justify-content: flex-start; /* 从行首起始位置开始排列 */
justify-content: flex-end;   /* 从行尾位置开始排列 */
justify-content: left;       /* 一个挨一个在对齐容器得左边缘 */
justify-content: right;      /* 元素以容器右边缘为基准,一个挨着一个对齐, */

/* 分配弹性元素方式 */

/* 均匀排列每个元素首个元素放置于起点,末尾元素放置于终点 */
justify-content: space-between;  
/* 均匀排列每个元素 每个元素周围分配相同的空间 */                      
justify-content: space-around;  

/* 均匀排列每个元素每个元素之间的间隔相等 */
justify-content: space-evenly;  
/* 均匀排列每个元素'auto'-sized 的元素会被拉伸以适应容器的大小 */                                   
justify-content: stretch;       
  

更多内容:CSS justify-content 属性 | 菜鸟教程

 居中分布
                           display: flex;
							justify-content: space-around;
							flex-direction: row;
							flex-wrap: wrap;【flex-flow: column wrap;】

        效果展示:

两端对齐
        .box {
            display: flex;
            justify-content: space-between;
        }

其他方式
左对齐右对齐居中对齐
        .box {
            display: flex;
            justify-content: flex-start;
        }
        .box {
            display: flex;
            justify-content: flex-end;
        }
 
        .box {
            display: flex;
            justify-content: center;
        }

5. flex-wrap属性

           flex-wrap属性定义,如果一条轴线排不下,如何换行。

①nowarp:是不换行(默认值)。
        .box {
            display: flex;
            flex-wrap: nowrap;
        }

②warp:是换行,第一行在上方
  .box {
            display: flex;
            flex-wrap: wrap;
        }

wrap-reverse:是换行,但是第一行是在下面。

        .box {
            display: flex;
            flex-wrap: wrap-reverse;
        }
6. align-items

        是控制子项在侧轴(默认y轴)上的排列方式,在子项为单项的时候使用。

   align-items属性定义项目在交叉轴上如何对齐,设置侧轴上的对齐方式。

 ① flex-start:是交叉轴的起点对齐

        .box {
            display: flex;
            align-items: flex-start;
        }

                        ​​​​​​​        ​​​​​​​
 flex-end  交叉轴的终点对齐

        .box {
            display: flex;
            align-items: flex-end;
        }

        ​​​​​​​        ​​​​​​​        ​​​​​​​        

③center:是垂直居中

        .box {
            display: flex;
            align-items: center;
        }

        ​​​​​​​        ​​​​​​​        ​​​​​​​        
④stretch这个代码的意思是如果项目未设置高度或设为auto,将占满整个容器的高度,也就是拉伸的意思,默认值(现有状态,测试的时候去掉子级的高度或者设置为auto

        .box {
            display: flex;
            align-items: stretch;
        }

        ​​​​​​​        ​​​​​​​        ​​​​​​​        
7. align-content

        设置子项在侧轴上的排列方式,并且只能用于子项出现换行的情况(多行)

注意:align-content VS align-items(竖向排列)
        align-items适用于单行情况下,只有上对齐、下对齐、居中和拉伸
        align-content适应于换行(多行)情况下(单行情况下无效),可以设置上对齐、下对齐、居中、拉升以及平均分配剩余空间等属性值。

8. flex-flow

        flex-flow 属性是flex-direction和flex-wrap 属性的复合属性。

补充内容:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1216040.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ES7升级、jar包升级、工具类封装,代码改造

一、spring-data-elasticsearch 引入es版本适配 二、jar升级 在项目工程根pom.xml文件中增加maven依赖管理在这里插入图片描述 <properties><elasticsearch.spring.version>4.2.0</elasticsearch.spring.version><elasticsearch.version>7.12.0</e…

JS-项目实战-更新水果单价更新小计更新总计

1、fruit.js //当页面加载完成后执行后面的匿名函数 window.onload function () {//get:获取 Element:元素 By:通过...方式//getElementById()根据id值获取某元素let fruitTbl document.getElementById("fruit_tbl");//table.rows:获取这个表格的所有的行&a…

echarts点击事件、柱状图设置区间颜色

实现echarts柱状图标记区域&#xff0c;并在单击柱状条时触发点击事件切换标记区域 //html <div id"main" style"width: 600px;height:400px;"></div>//js let _chart null; letselectInfo {};//选择的柱状条信息&#xff0c;可用于信息的获…

【iDRAC】突破错误信息壁垒,利用iDRAC提高效率

序 面对旧服务器上的黄色警示灯&#xff0c;工作人员往往陷入困惑。更糟糕的是&#xff0c;如果该服务器转手多次&#xff0c;缺少root用户密码和IP地址&#xff0c;那么要访问服务器iDRAC就更困难了。但是出现问题的硬件蕴含着重要信息&#xff0c;为了解开这个谜团&#xff…

Linux Docker图形化工具Portainer如何进行远程访问?

文章目录 前言1. 部署Portainer2. 本地访问Portainer3. Linux 安装cpolar4. 配置Portainer 公网访问地址5. 公网远程访问Portainer6. 固定Portainer公网地址 前言 Portainer 是一个轻量级的容器管理工具&#xff0c;可以通过 Web 界面对 Docker 容器进行管理和监控。它提供了可…

【教3妹学编程-算法题】最大化数组末位元素的最少操作次数

3妹&#xff1a;“太阳当空照&#xff0c;花儿对我笑&#xff0c;小鸟说早早早&#xff0c;你为什么背上炸药包” 2哥 :3妹&#xff0c;什么事呀这么开发。 3妹&#xff1a;2哥你看今天的天气多好啊&#xff0c;阳光明媚、万里无云、秋高气爽&#xff0c;适合秋游。 2哥&#x…

群晖7.2版本套件安装CloudDriver2

CloudDrive是一个强大的多云盘管理工具&#xff0c;为用户提供包含云盘本地挂载的一站式的多云盘解决方案。挂载到本地后&#xff0c;可以像本地文件一样进行操作。 一、套件库添加矿神源 二、安装CloudDriver2 1、搜索安装 搜索框输入【clouddrive】&#xff0c;搜索到Clou…

汽车 CAN\CANFD数据记录仪

CAN FD数据记录仪解决汽车电子数据记录与偶发性故障查找问题。 1、脱机离线记录两路CAN/CANFD通道数据 脱机离线记录两路CAN/CANFD通道数据&#xff0c;可记录6个月数据。每个通 道单独设置触发记录模式、触发前预记录报文个数&#xff08;默认1000帧&#xff09;及 过滤规则&a…

spring中的DI

【知识要点】 控制反转&#xff08;IOC&#xff09;将对象的创建权限交给第三方模块完成&#xff0c;第三方模块需要将创建好的对象&#xff0c;以某种合适的方式交给引用对象去使用&#xff0c;这个过程称为依赖注入&#xff08;DI&#xff09;。如&#xff1a;A对象如果需要…

【LeetCode刷题-滑动窗口】--1695.删除子数组的最大得分

1695.删除子数组的最大得分 注意&#xff1a;子数组为不同元素 方法&#xff1a;滑动窗口 使用变长滑动窗口寻找数组nums中的以每个下标作为结束下标的元素各不相同的最长子数组。用[start,end]表示滑动窗口&#xff0c;初始时startend0&#xff0c;将滑动窗口的右端点end向右…

北京君正客户应用案例:掌静脉3D人脸猫眼视屏智能锁

凯迪仕在今年4月发布了智能锁旗舰新品K70 Pro Max掌静脉3D人脸猫眼视屏智能锁&#xff0c;随即这款新品也成了行业热议的焦点。凯迪仕每次新品都力求突破精益求精&#xff0c;不仅追求科技感、高级感与品质感&#xff0c;而且赋予科技温度&#xff0c;带来人文化的关怀。K70 Pr…

矩阵起源到此一游:千岛湖(内含海量招聘岗位)

秋意渐浓&#xff0c;正值金秋时节&#xff0c;MO 也出去玩啦&#xff01; 海量招聘岗位&#xff0c;点击链接一键查看&#xff0c;就等您来&#xff1a; 「矩阵起源招聘」2023年矩阵起源招聘信息-BOSS直聘​www.zhipin.com/gongsi/job/59a68fecfe392c0d1nd93N-4EVU~.html​编…

微软Surface/Surface pro笔记本电脑进入bios界面

微软Surface笔记本电脑进入bios界面 方法一推薦這種方法&#xff1a;Surface laptop 进BIOS步骤 开机后&#xff0c;不停按音量键进bios界面。 方法二&#xff1a;Surface Book、Surface Pro进bios步骤 1、关闭Surface&#xff0c;然后等待大约10秒钟以确保其处于关闭状态。…

智能运维监控告警6大优势

随着云计算和互联网的高速发展&#xff0c;大量应用需要横跨不同网络终端&#xff0c;并广泛接入第三方服务(如支付、登录、导航等)&#xff0c;IT系统架构越来越复杂。 快速迭代的产品需求和良好的用户体验&#xff0c;需要IT运维管理者时刻保障核心业务稳定可用&#xff0c;…

二叉树题目:统计二叉树中好结点的数目

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;统计二叉树中好结点的数目 出处&#xff1a;1448. 统计二叉树中好结点的数目 难度 5 级 题目描述 要求 给定一…

网络编程TCP/UDP

1 网络通信概述 1.1 IP 和端口 所有的数据传输&#xff0c;都有三个要素 &#xff1a;源、目的、长度。 怎么表示源或者目的呢&#xff1f;请看图 所以&#xff0c;在网络传输中需要使用“IP 和端口”来表示源或目的。 1.2 网络传输中的 2 个对象&#xff1a;server 和 clie…

CodeMeter软件保护及授权管理解决方案(一)

概述 CodeMeter是德国威步&#xff08;Wibu-Systems AG&#xff09;2004年1月推出的软件加密及授权管理综合解决方案&#xff0c;用于软件保护实现防盗版、软件授权管理实现软件货币化、以及数据加密实现数字资产保护。 使用CodeMeter综合解决方案&#xff0c;可以实现以下价…

Java中的Maven项目使依赖和自己写的代码的分开的部署的部署方式

文章目录 优点maven中配置执行maven 打包项目部署查看服务启动状态 优点 随着项目的功能越来越多&#xff0c;如果把所有代码都打包到一个jar里&#xff0c;这样不利于传输。把源码和依赖包分开。这样如果依赖包没有变化的话&#xff0c;再此部署时&#xff0c;就不需要往服务…

C++之使用std::move与否实例区别(二百五十五)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…