前端——flex布局

news2024/9/27 7:26:49

flex布局——弹性布局

传统布局: 浮动   定位   行内块等

1. flex布局  方法简单 不需要计算    能自动分配父级里面的子元素排版    对齐方式等等  

>flex布局 可以适应不同屏幕布局

2. flex布局使用  

- 给父级盒子 display: flex   开启弹性盒模型  

- 子元素就会默认按照flex规范  来进行横向排列  

- 子元素不设置高度  默认是占满父级盒子的高    

子元素加起来的宽度  大于 父级盒子的宽时   不会超出 也不会换行  (父级: 1000  <  子总宽: 1200)

(子元素默认不会换行 按照flex规范 进行了等比例的缩放   300  现在变成  250  )

- 行内元素   在父级flex里面  可以支持高宽设置   没写高默认是按flex规范来分配   高不写默认占满整个父级高度  宽度 是由内容来决定的

3. flex布局属性

1.display: flex   开启弹性盒模型

2.flex-wrap: 控制子元素是否需要换行  默认不换行 nowrap

3.flex-direction 控制主轴方向  规定子元素排列方式  

4.flex-flow 主轴方向和换行  复合写法

5.justify-content  控制子元素在主轴对齐方式   x轴

6.align-items  控制子元素在侧轴对齐   y轴  

7.align-content  控制子元素行与行之间对齐

示例1——x轴对齐:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./reset.css">
    <style>
        .wrap{
            display: flex;
            flex-wrap: wrap;

            /* 控制子元素在主轴的对齐方式  默认 左对齐   从主轴的起点位置开始  */
            justify-content: flex-start;

            /* 右对齐  主轴终点位置  */
            justify-content: flex-end;


            /* 子元素在主轴 居中对齐 */
            justify-content: center;

            /* 子元素两端对齐  中间的间隔均分  */
            justify-content: space-between;

            /* 子元素间隔相同  左右间隔相等   中间间隔会比外面的大一倍   中间间隔是两个递加在一起  平分一下  */
            justify-content: space-around;

            /* 所有子元素间隔平均分配 */
            justify-content: space-evenly;
            width: 1000px;
            height: 500px;
            border: 2px solid  red;
        }
        .wrap>p{
            width: 260px;
            height: 230px;
            background-color: skyblue;
        }
    </style>
</head>
<body>
      <div class="wrap">
         <p>1</p>
         <p>2</p>
         <p>3</p>
         <p>4</p>
         <p>5</p>
         <p>6</p>
      </div>
</body>
</html>

效果:

db9cc88d0b524cbeb242ade3cfdbeb4d.png

示例2——控制子元素行与行

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./reset.css">
    <style>
        .list{
            display: flex;
            /* 子元素换行 */
            flex-wrap: wrap;
            /* 子元素间隔均分相等 */
            justify-content: space-evenly;

            /* 行与行之间对齐   起点位置对齐   上下行就没有间隔   */
            /* align-content: flex-start; */
            /* 副轴  终点对齐  底部对齐 */
            align-content: flex-end;

            /* align-items: flex-end; */

            /* 行与行之间 居中对齐 */
            align-content: center;

            /* 每行间隔平均分配 */
            align-content: space-around;

            /* 两端对齐  中间间隔均分 */
            align-content: space-between;

            /* 每行间隔相等 */
            align-content: space-evenly;
            width: 1000px;
            height: 700px;
            background-color: pink;
            margin: auto;
        }
        .list>li{
            width: 300px;
            height: 300px;
            background-color: orange;
        }
    </style>
</head>
<body>
     <ul class="list">
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
        <li>6</li>
     </ul>
</body>
</html>

效果:

dce8c2ffbe814bc381b1abc12dc07e6d.png

子元素属性:

- order:  子元素展示顺序   值越小越优先  默认0

- flex-shrink 子元素在主轴不足 缩放比例 默认是1  

- flex-grow 在主轴还有剩余空间  给子元素分配剩下的空间  增大子元素   默认是0

- align-self   规定子元素  自身在y轴的对齐方式    默认是继承父级align-items

示例

<!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>
        .wrap{
            display: flex;
            width: 700px;
            height: 500px;
            background-color: pink;
        }

        .box1{
            /* order:  子元素展示顺序   默认0   */
            order: 1; 


            /* 在主轴还有剩余空间  给子元素分配剩下的空间  增大子元素   默认是0    */
            flex-grow: 1;
            width: 200px;
            height: 350px;
            background-color: red;
        }
        .box2{
            /* 缩放比例  默认为1    */
            flex-shrink: 1;
            width: 200px;
            /* width: 350px; */
            height: 400px;
            background-color: green;

            align-self: center;
        }

        .box3{
            order: -1; 


            /* 规定子元素  自身在y轴的对齐方式    默认是继承父级align-items*/
            align-self: flex-end;
            flex-grow: 1;
            width: 200px;
            height: 200px;
            background-color: skyblue;
        }

        .box4{
            width: 200px;
            height: 400px;
            background-color: orange;
        }
    </style>
</head>
<body>
      <div class="wrap">
          <div class='box1'>1</div>
          <div class='box2'>2</div>
          <div class='box3'>3</div>
          <!-- <div class='box4'>4</div> -->
      </div>
</body>
</html>

效果:

0728dc5df6fc4d6e8f0999089585ece6.png

 

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

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

相关文章

栈的基本概念和及具体实现

今天给大家介绍一下栈的基本概念及实现&#xff01;话不多说&#xff0c;立即开始&#xff01; 1.栈的概念&#xff1a; 一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈 顶&#xff0c;另一端称为栈底。栈中的…

计算机网络--TCP、UDP抓包分析实验

计算机网络实验 目录 实验目的 实验环境 实验原理 1、UDP协议 2、TCP协议 实验具体步骤 实验目的 1、掌握使用wireshark工具对UDP协议进行抓包分析的方法&#xff0c;掌握UDP协议的报文格式&#xff0c;掌握UDP协议校验和的计算方法&#xff0c;理解UDP协议的优缺点&am…

vant van-pull-refresh + van-list实现list列表支持搜索和下拉刷新

1 介绍 在使用 van-pull-refresh van-list实现list列表下拉刷新时遇到几个问题在这里进行一个总结。 2 出现的问题 问题一&#xff1a;当van-pull-refresh van-list组合使用时&#xff0c;下拉刷新会调用两个加载图标。 解答&#xff1a;去除van-pull-refresh加载图标&…

leetcode-189:轮转数组

给定一个整数数组 nums&#xff0c;将数组中的元素向右轮转 k 个位置&#xff0c;其中 k 是非负数。 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1,2,3,4,5] 向右轮转 3 步: [5,6,7,1,2,3,4…

快讯:腾讯轻量服务器四周年,最低一折续费,还有免费升配

最近腾讯云轻量服务器四周年庆开始了&#xff0c;免费升级配置&#xff0c;续费服务器最低一折。 最低一折续费&#xff1a; 持有多久的轻量服务器决定续费几折&#xff0c;已经持有四年就是一折&#xff0c;三年1.5折以此类推。 免费升级配置&#xff1a; 2-4-5免费升级到…

String类常用的方法

源代码&#xff1a; 输出结果&#xff1a;

Linux 之 logrotate 【日志分割】

简介 logrotate 是一个用于管理日志文件的工具。它可以自动对日志文件进行轮转、压缩、删除等操作&#xff0c;以防止日志文件无限增长占用过多磁盘空间。logrotate 通常作为一个守护进程定期运行&#xff0c;也可以通过 cron 任务来调度执行 工作原理 按照配置文件中的规则…

【Mysql多数据源实现读写分离的几种方案】

文章目录 一.什么是MySQL 读写分离二.读写分离的几种实现方式(手动控制)1.基于Spring下的AbstractRoutingDataSource1.yml2.Controller3.Service实现4.Mapper层5.定义多数据源6.继承Spring的抽象路由数据源抽象类&#xff0c;重写相关逻辑7. 自定义注解WR&#xff0c;用于指定当…

客户端数JSON据库SQL操作功能实现代码-———未来之窗行业应用跨平台架构

一、前端json结构化查询优点 以下是前端本地化查询的一些优点&#xff1a; 1. 快速响应&#xff1a;无需通过网络请求从服务器获取数据&#xff0c;查询结果能够立即返回&#xff0c;提供了几乎零延迟的用户体验&#xff0c;使应用更加流畅和响应迅速。 2. 离线可用性&#x…

9.4 Linux_I/O_访问目录、文件属性

访问目录 1、打开关闭目录 打开目录函数声明如下&#xff1a; //1.直接打开指定路径的目录文件 DIR *opendir(const char *name); //2.先用open打开目录文件&#xff0c;再用该函数访问目录文件 DIR *fdopendir(int fd); 返回值&#xff1a;成功返回指向打开的目录文件的结…

ELK-05-skywalking监控SpringCloud服务日志

文章目录 前言一、引入依赖二、增加日志配置文件三、打印日志四、skywalking网页查询链路五、日志收集5.1 修改logback-spring.xml5.2 重启SpringCloud服务并请求test接口5.3 查看skywalking网页的Log 总结 前言 基于上一章节&#xff0c;现在使用skywalkin监控SpringCloud服务…

JWT令牌技术介绍及使用

一、JWT介绍 JWT是JSON Web Token的缩写&#xff0c;即JSON Web令牌&#xff0c;是一种自包含令牌。 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准。 JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息&#xff0c;以便于从资源服务…

D. Determine Winning Islands in Race (cf div2,dp、图论最短路)

D. Determine Winning Islands in Race 思路: bfs找到E到达每个点的最短时间t[i]。 如果E要超过B&#xff0c;那么一定要借助辅助桥&#xff0c;从而获胜。 假设有u->v的辅助桥&#xff0c;E能通过这个桥超过B的条件是: s>u 且 t[v] < v-s 即 s的取值要为[u1,v-t[v]-…

C++核心编程和桌面应用开发 第七天(运算符重载 智能指针)

目录 1.数组类 2.运算符重载 2.1加号运算符 2.1.1成员函数实现 2.1.2全局函数实现 2.1.3加号重载 2.2左移运算符 2.3递增运算符 2.4指针运算符 2.5赋值运算符 1.数组类 //默认构造函数 MyArray::MyArray() {m_Size 0;m_Capacity 100;pAddress new int[m_Capacity]…

【有啥问啥】深度解析迁移学习(Transfer Learning)

深度解析迁移学习&#xff08;Transfer Learning&#xff09; 在机器学习领域&#xff0c;迁移学习&#xff08;Transfer Learning&#xff09;作为一种强大的技术&#xff0c;正广泛应用于各种实际场景中。本文将详细解析迁移学习的基本概念、原理、分类、应用场景以及具体实…

vue3中storeToRefs让store中的结构出来的数据也能变成响应式

1、首先需要安装pinia 具体安装和使用教程参考 2、创建 src/stores/counter.js 文件&#xff0c;其内容如下&#xff1a; import {defineStore} from "pinia"; import {ref} from "vue";export const useCounterStore defineStore(counter,()>{const…

C语言程序设计题目十九:编写一万年历系统

文章目录 题目十九&#xff1a;编写一万年历系统calendar.hcalendar.ctest.c 题目十九&#xff1a;编写一万年历系统 要求&#xff1a; 模仿现实中的挂历&#xff0c;显示当前月的每一天及星期几&#xff0c;当系统日期变为下一个月时&#xff0c;自动翻页到下一个月。 calend…

【第3期】INFINI Easysearch 免费认证培训开放报名

探索 Easysearch 的无限可能&#xff0c;与 INFINI Labs 共赴搜索技术前沿&#xff01; 随着数字化转型的加速&#xff0c;搜索技术已成为企业数据洞察的核心。INFINI Labs 作为搜索创新技术的引领者&#xff0c;诚邀所有对 Easysearch 搜索引擎感兴趣的开发者、技术爱好者及合…

安卓13禁止待机 永不休眠 android13永不休眠

总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码分析4.代码修改5.彩蛋1.前言 设置 =》显示 =》屏幕超时 =》 永不。 我们通过修改系统待机时间配置,来达到设置屏幕超时的配置。像网上好多文章都只写了在哪里改,改什么东西,但是实际上并未写明为什么要改那…

[智能控制】【第2 章 模糊控制的理论基础】

目录 第2章 模糊控制的理论基础 2.1 概述——模糊控制的提出 2.1 概述——模糊控制的特点 2.2 模糊集合 2.2.1 模糊集合 1 特征函数和隶属函数 2 模糊集合的表示 例2.1 例2.2 2.2.2 模糊集合的运算 1 模糊集合的基本运算 &#xff08;1&#xff09;空集…