flex 布局相关属性的使用
简单概述
- 为元素添加 display:flex; 的属性后,当前元素被视为弹性布局的盒子容器(box),其子元素被视为弹性布局项目(item)。
- item 会在 box 内灵活布局,解决了对齐、分布、尺寸等响应式问题。
演示 demo
<template><div class="mainBox"><div class="box"><divv-for="(item, index) in data":key="index"class="item":style="{background: item.background, height: item.height, width: item.width,}">{{ item.msg }}</div></div></div>
</template>
<script>
export default {data() {return {data: [{ msg: "111", background: "#3E445E", width: "100px", height: "50px", },{ msg: "222", background: "#D0D3DA", width: "100px", height: "60px", },{ msg: "333", background: "#505A9B", width: "100px", height: "70px", },{ msg: "444", background: "#7394CD", width: "100px", height: "80px", },{ msg: "555", background: "#F1E2D0", width: "100px", height: "90px", },{ msg: "666", background: "#F6CFA3", width: "100px", height: "100px", },{ msg: "777", background: "#E18792", width: "100px", height: "110px", },{ msg: "888", background: "#907AC3", width: "100px", height: "120px", },],};},
};
</script>
<style lang="less" scoped>
.mainBox {width: 100%;height: 100%;
}
.box {display: flex;padding: 40px;border: 1px solid #333;.item {color: #fff;}
}
</style>
下述属性演示都在以上代码的基础上进行
用于盒子容器(box)的属性
flex-direction
- 设置 box 内弹性 item 的方向
- 取值:row / row-reverse / column / column-reverse
- flex-direction: row; 行模式-从左到右排列(默认值)
.box {display: flex;padding: 40px;border: 1px solid #333;flex-direction: row; }
- flex-direction: row-reverse; 行模式-从右到左排列
.box {display: flex;padding: 40px;border: 1px solid #333;flex-direction: row-reverse; }
- flex-direction: column; 列模式-从上到下排列
.box {display: flex;padding: 40px;border: 1px solid #333;flex-direction: column; }
- flex-direction: column-reverse; 列模式-从下到上排列
.box {display: flex;padding: 40px;border: 1px solid #333;flex-direction: column-reverse; }
flex-wrap
- 让 box 在必要的时候换行
- 取值:nowrap / wrap
- flex-wrap: nowrap; 不换行(默认值)
.box {display: flex;padding: 40px;border: 1px solid #333;flex-wrap: nowrap; } /* 减小 box 宽度时,item 的宽度失效,被压缩 */
- flex-wrap: wrap; 换行
.box {display: flex;padding: 40px;border: 1px solid #333;flex-wrap: wrap; } /* 减小 box 宽度时,item 的宽度不变,不会被压缩,自动换行 */
justify-content
- 设置 box 内弹性 item 的对齐分布方式
- 取值:flex-start / flex-end / center / space-between / space-around / space-evenly
- 为方便观察不同属性的对比,移除了 box 的 padding 属性
- justify-content: flex-start; 起点对齐(默认值)
.box {display: flex;border: 1px solid #333;justify-content: flex-start; }
- justify-content: flex-end; 结束点对齐
.box {display: flex;border: 1px solid #333;justify-content: flex-end; }
- justify-content: center; 居中对齐
.box {display: flex;border: 1px solid #333;justify-content: center; }
- justify-content: space-between; 两端对齐
.box {display: flex;border: 1px solid #333;justify-content: space-between; }
- justify-content: space-around; 周围分布-视作 margin 效果的话,相当于每个 item 的 margin-left 和 margin-right 值相同
.box {display: flex;border: 1px solid #333;justify-content: space-around; } /* margin-right = margin-left = (box 的宽度 - item 的宽度 * 8) / (8 * 2) */
- justify-content: space-evenly; 均匀分布-视作 margin 的话,均匀分配剩余空间,每个 item 的 margin-left 值相等,最后剩下的空隙,值与 item 的 margin-left 相等
.box {display: flex;border: 1px solid #333;justify-content: space-evenly; } /* margin-right = 0 */ /* margin-left = (box 的宽度 - item 的宽度 * 8) / (8 + 1) */
align-items
- 设置 box 内弹性 item 的针对交叉轴的对齐分布方式
- 取值:flex-start / flex-end / center
- align-items: flex-start; 起点对齐(默认值)
.box {display: flex;padding: 40px;border: 1px solid #333;align-items: flex-start; }
- align-items: flex-end; 结束点对齐
.box {display: flex;padding: 40px;border: 1px solid #333;align-items: flex-end; }
- align-items: center; 居中对齐
.box {display: flex;padding: 40px;border: 1px solid #333;align-items: center; }
align-content
-
设置多轴线 box 内弹性 item 的对齐分布方式
-
取值:flex-start / flex-end / center / space-between / space-around / space-evenly
-
为方便观察不同属性的对比,移除了 box 的 padding 属性
-
为外层父盒子添加 flex 属性,形成多轴线的盒子
-
align-content: flex-start; 起点对齐
.mainBox {display: flex;.box {display: flex;border: 1px solid #333;flex-wrap: wrap;align-content: flex-start;} }
-
align-content: flex-end; 结束点对齐
.mainBox {display: flex;.box {display: flex;border: 1px solid #333;flex-wrap: wrap;align-content: flex-end;} }
-
align-content: center; 居中对齐
.mainBox {display: flex;.box {display: flex;border: 1px solid #333;flex-wrap: wrap;align-content: center;} }
-
align-content: space-between; 两端对齐
.mainBox {display: flex;.box {display: flex;border: 1px solid #333;flex-wrap: wrap;align-content: space-between;} }
-
align-content: space-around; 周围分布
.mainBox {display: flex;.box {display: flex;border: 1px solid #333;flex-wrap: wrap;align-content: space-around;} }
-
align-content: space-evenly; 均匀分布
.mainBox {display: flex;.box {display: flex;border: 1px solid #333;flex-wrap: wrap;align-content: space-evenly;} }
用于弹性项目(item)的属性
order
- 设置 box 内弹性 item 的排序
- 取值:Num,取值越小越靠前,默认为 0
.item {color: #fff;&:nth-child(1) {order: 4;}&:nth-child(2) {order: 3;}&:nth-child(3) {order: 0;}&:nth-child(4) { }&:nth-child(5) {order: 2;} }
flex-grow
- 设置 box 内弹性 item 的扩展系数
- 取值:Num,取值越小扩展比例越小,默认为 0
.item {color: #fff;&:nth-child(1) {flex-grow: 1;}&:nth-child(2) {flex-grow: 3;}&:nth-child(3) {flex-grow: 1;}&:nth-child(4) { }&:nth-child(5) { } }
flex-basis
- 设置 box 内弹性 item 的初始宽度,会覆盖原有宽度属性
- 取值:像素值
.item {color: #fff;&:nth-child(1) {flex-basis: 50px;}&:nth-child(2) {flex-basis: 100px;}&:nth-child(3) {flex-basis: 150px;}&:nth-child(4) {flex-basis: 200px;}&:nth-child(5) {flex-basis: 250px;} }
flex-shrink
- 设置 box 内弹性 item 的收缩系数
- 取值:Num,取值越小压缩比例越小,默认为 1 ,取值为 0 时,不会被压缩
.item {color: #fff;&:nth-child(1) {flex-shrink: 1;}&:nth-child(2) {flex-shrink: 2;}&:nth-child(3) {flex-shrink: 3;}&:nth-child(4) {flex-shrink: 0;}&:nth-child(5) {flex-shrink: 0;} }
相关文章:
flex 布局相关属性的使用
简单概述 为元素添加 display:flex; 的属性后,当前元素被视为弹性布局的盒子容器(box),其子元素被视为弹性布局项目(item)。item 会在 box 内灵活布局,解决了对齐、分布、尺寸等响应式问题。 演示 demo <template><div class&quo…...
【C++】类和对象(第一篇)
文章目录1. 面向过程和面向对象初步认识2.类的引入3.类的定义3.1 类的两种定义方式3.2 成员变量命名规则建议4. 类的访问限定符及封装4.1 访问限定符4.2 封装5. 类的作用域6. 类的实例化7. 类对象模型7.1 类对象大小的计算7.2 类对象的存储方式猜测7.3 结构体内存对齐规则复习8…...
springboot 接入websocket实现定时推送消息到客户端
目录说明代码实现说明 如标题,举例需求场景: 前端与后端websocket连接上后,多用户登录,后端根据不同用户定时发消息给前端用于展示 代码实现 1、 <dependency><groupId>org.springframework.boot</groupId>…...
虚拟机磁盘重新分区增加Docker磁盘空间
目录一、简介二、重新分区 挂载目录2.1 增加虚拟机硬盘空间2.2 重新分区2.3 格式化新分区2.4 挂载docker目录三、重新拉取一、简介 今天在使用docker pull 拉取镜像时,报了no such file or directory的信息,原来是Docker的磁盘空间满了 #查看Docker Roo…...
Java开发学习(四十八)----MyBatisPlus删除语句之逻辑删除
1、逻辑删除 接下来要讲解是删除中比较重要的一个操作,逻辑删除,先来分析下问题: 这是一个员工和其所签的合同表,关系是一个员工可以签多个合同,是一个一(员工)对多(合同)的表 员工ID为1的张业绩,总共签了三个合同&a…...
RabbitMq
一、四大核心概念生产者:产生数据发送消息的程序是生产者交换机:交换机是RabbitMQ非常重要的一个部件,一方面它接收来自生产者的消息,另一方面它将消息推送到队列中。交换机必须确切知道如何处理它接收到的消息,是将这…...
Qt学习笔记
文章目录一、C指针函数驼峰命名法、下划线命名法编程报错二、C三、Qt语法Qt历史、Qt应用Qt特色快捷键Qt类的族谱QWidgetQPushButtonQDebug对象树Qt窗口坐标信号和槽Qt自带的信号的槽自定义的信号和槽Qt4版本 vs Qt5版本 的connect写法函数指针解决重载问题拓展类型转换QString …...
洛谷——P1091 合唱队形
【题目描述】 n 位同学站成一排,音乐老师要请其中的 n−k 位同学出列,使得剩下的 k 位同学排成合唱队形。 合唱队形是指这样的一种队形:设 kk 位同学从左到右依次编号为 1,2, … ,k,他们的身高分别为,, … ,,则…...
使用logstash把mysql同步到es,Kibana可视化查看
1:首先需要电脑本地有es环境,并且要牢记版本后,后续安装的logstash和Kibana一定要版本对应 查看es版本:http://localhost:9200/ 2:安装对应版本的logstash:找到自己对应ES版本,然后解压 Logst…...
Vue3.0 setup的使用及作用
目录开篇:1.什么是setup2.setup怎么使用3.setup中包含的生命周期函数3.setup相关参数4.setup特性总结总结开篇: 从vue2升级 vue3,vue3是可以兼容vue2。所以v3可以采用v2的选项式api,但是v2不能使用v3的组合式api,由于…...
Ubuntu18.04安装Vertica
目录下载安装包安装(Ubuntu18.04)配置 I/O Scheduler配置 TZSupport Tools配置 swapinessDisk ReadaheadEnabling chrony or ntpd自启动项错误处理后重装下载安装包 官网11.0版本或者10.0(deb)安装包可私信提供百度网盘链接; 安装(Ubuntu18.04) testvertica:~$ s…...
2.计算机基础-计算机网络面试题—基础知识、容器、面向对象、并发编程
本文目录如下:计算机基础-计算机网络 面试题一、基础知识简述 TCP 和 UDP 的区别?http与https的区别?Session 和 Cookie 有什么区别?URL是什么?由哪些部分组成?OSI 的 五层模型 都有哪些?get 和 post 请求…...
解决Mac 安装应用提示:xx已损坏,无法打开。 您应该将它移到废纸篓问题
许多新手mac 用户安装应用得时候会出现 “已损坏,无法打开。您应该将它移到废纸娄” 导致无法正常安装,其实应用软件b并没有损坏,只是系统安全设置,我们改如何解决呢? 1、开启允许任何来源 苹果已经取消了允许“任何…...
xpath注入[NPUCTF2020]ezlogin
[NPUCTF2020]ezlogin 打开界面 如果发现自己输入的信息由这样构成,可以往xpath注入上靠一下。 不管输入什么,很容易发现登陆就超时了,说明这里token是不断刷新的。 这样构造也是一样的目的都是为了闭合后面的,为啥有两个or呢 us…...
【Python学习笔记】22.Python3 数据结构
前言 本章节我们主要结合前面所学的知识点来介绍Python数据结构。 列表 Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能。 以下是 Python 中列表的方法…...
一文搞懂 什么是CPU上下文?为什么要切换?如何减少切换?
最近经常有小伙伴问到的一些问题,比较集中的是关于CPU切换. 实际用C/C,go开发,你会特别注意内存和CPU的使用情况,那些对于CPU使用情况特别关注,或者性能特别关注的朋友可以看看这篇文章,相信看完结尾的示例…...
【Python】Python学习笔记(二)基本输入输出
Python娘来源:https://next.rikunabi.com/tech/docs/ct_s03600.jsp?p002412 目录print()函数不进行自动换行的print()函数打印输出多个字符串只进行换行input()函数使用format方法格式化字符串字符串与数值转换字符串转换为数值数值转换为字符串总结参考资料print(…...
LeetCode刷题系列 -- 724. 寻找数组的中心下标
给你一个整数数组 nums ,请计算数组的 中心下标 。数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。如果中心下标位于数组最左端,那么左侧数之和视为 0 ,因为在下标的左侧不存在元素。这一点对于…...
Linux编辑器vim
本文已收录至《Linux知识与编程》专栏! 作者:ARMCSKGT 演示环境:CentOS 7 目录 前言 正文 vim常用方式 进入vim 退出vim vim基本模式及模式功能 命令模式 插入模式 底行模式 替换模式 视图模式 配置vim 自己配置vim 自动化配置…...
基于“python+”潮汐、风驱动循环、风暴潮等海洋水动力模拟
查看原文>>>基于“python”潮汐、风驱动循环、风暴潮等海洋水动力模拟ADCIRC是新一代海洋水动力计算模型,它采用了非结构三角形网格广义波动连续方程的设计,在提高计算精确度的同时还减小了计算时间。被广泛应用于:模拟潮汐和风驱动…...
《Terraform 101 从入门到实践》 第二章 Providers插件管理
《Terraform 101 从入门到实践》这本小册在南瓜慢说官方网站和GitHub两个地方同步更新,书中的示例代码也是放在GitHub上,方便大家参考查看。 不怕出身低,行行出状元。 插件 Terraform可以对多种平台的多种资源进行管理,这个是通过…...
03- pandas 数据库可视化 (机器学习)
pandas库的亮点: 一个快速、高效的DataFrame对象,用于数据操作和综合索引;用于在内存数据结构和不同格式之间读写数据的工具:CSV和文本文件、Microsoft Excel、SQL数据库和快速HDF 5格式;智能数据对齐和丢失数据的综合处理&#…...
Spring为什么这么火 之 Bean的6种作用域和Bean的生命周期
1、Bean的作用域 1.1、什么是作用域? 限定程序中变量的可用范围叫做作用域,或者说在源代码中定义变量的某个区域就叫做作用域 1.2、Bean的6种作用域 singleton:单例作用域prototype:原型作用域【多例作用域】request࿱…...
【CSS面试题】2023前端最新版css模块,高频15问
🥳博 主:初映CY的前说(前端领域) 🌞个人信条:想要变成得到,中间还有做到! 🤘本文核心:博主收集的CSS面试题 目录 一、CSS必备面试题 1.CSS3新特性 2.CSS实现元素两个盒子垂…...
SpringCloud-Netflix学习笔记10——Hystrix实现服务熔断
一、概述 1、分布式系统面临的问题 复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免的失败! 2、服务雪崩 多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B 和微服务C又…...
精华文稿|迈向统一的点云三维物体检测框架
分享嘉宾 | 杨泽同 文稿整理 | William 嘉宾介绍 Introduction 3D检测是在三维世界中去定位和分类不同的物体,与传统2D检测的区别在于它有一个深度信息。目前,大部分的工作是倾向于用点云去做三维检测,点云实际上是通过传感器去扫描出来的一…...
面试题:Redis网络模型
1 用户空间和内核空间以Centos 7 linux操作系统为例。计算机系统被内核操控, 内核被应用操控。为了避免用户应用导致冲突甚至内核崩溃,用户应用与内核是分离的进程的寻址空间会划分为两部分:内核空间、用户空间。用户空间只能执行受限的命令(Rin3&#x…...
微信小程序开发你可能不知道的开发技巧
1. 页面级data,组件data的查看 页面级data的查看,很多开发者应该都知道;组件级的数据查看我是开发了大半年才发现的; 页面级的data查看: 组件的data查看: 2. 放大模拟器【调整一些UI细节】 效果&#x…...
STM32开发(8)----CubeMX配置串口通讯(中断方式和DMA方式)
CubeMX配置串口通讯(中断方式和DMA方式)前言一、中断方式1.CubeMX配置2.代码实现3.实验结果二、DMA方式1.CubeMX配置2.代码实现3.实验结果总结前言 本章继续介绍使用STM32CubeMX对串口进行配置的方法,串口通讯有三种方式:轮询&am…...
7.1 微服务-SpringCloud(二)
目录 前言 7.1.5 Hystrix 7.1.5.1 什么是Hystrix 7.1.5.2 雪崩问题 7.1.5.3 线程隔离,服务降级 7.1.5.4 搭建 7.1.5.4.1 引入依赖 7.1.5.4.2 开启熔断 7.1.5.4.3 编写降级逻辑 1.局部降级逻辑 2.全局降级逻辑 7.1.5.4.4 设置超时 7.1.5.5 服务熔断 7.…...
江苏建设信息网站/职业培训机构哪家最好
调用函数和交换数据从 C 调用 MATLAB 函数,从而将变量传递给 MATLAB 并将变量返回给 C。Evaluate MATLAB expression from C and write variables into the MATLAB base workspace.Pass variables from C to MATLAB as function arguments or by placing those vari…...
动态网站 编辑软件/软文兼职
公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解。话题:佳铁精雕机在程式里怎么更改G57之后的坐标回答:直接更改程式里的默认G54改成58啊或者G59都可以前提是你机台设置了这些坐标!话题࿱…...
怎么做web网站/产品宣传
一、传入参数的传递 parameterType指定参数类型 基本类型参数(int、string.......) pojo类型:user对象 map类型 包装类型 1、map类型的传递 需求:查询用户性别为男,姓张的用户 <mapper namespace"com.itcast…...
创意设计字体/seo团队
🍒 作者简介:大学机械本科,野生程序猿,学过C语言,玩过前端,还鼓捣过嵌入式,设计也会一点点,不过如今痴迷于网络爬虫,因此现深耕Python、数据库、seienium、JS逆向、安卓逆…...
做网站需要自备服务器吗/廊坊今日头条新闻
卢卡斯的驱逐者大军已经来到了赫柏的卡诺萨城,赫柏终于下定决心,集结了大军,与驱逐者全面开战。卢卡斯的手下有6名天之驱逐者,这6名天之驱逐者各赋异能,是卢卡斯的主力。为了击败卢卡斯,赫柏必须好好考虑如何安排自己的狂战士前去…...
用地方别名做网站名/网络营销的推广方式
总结一下斯堪福三定律。 斯堪福第一定律:睡眠定律 我们应该安排好自己的时间…… 一个人如果每天睡7个小时,自然是很好的。 一个人如果每天只睡6个小时,第一天感觉会很好,觉得自己多做了很多事。 但是如果继续下去,你会…...