当前位置: 首页 > news >正文

在Tailwind Css中如何书写flex布局

仅供参考

文章目录

  • 一、启用 flex 布局
  • 二、行内 flex 布局
  • 三、方向控制
  • 四、对齐方式
  • 五、子元素控制
    • 1、控制子元素的宽度是否可伸缩
    • 2、控制子元素顺序
    • 3、控制子元素间的间隙
    • 4、控制子元素是否可换行显示


一、启用 flex 布局

设置 class=“flex” 启用 flex 布局

<template><div class="flex"><!-- <子元素>  --></div>
</template>

效果:父容器设置了 flex ,其所有子元素都会在同一行排列(即便是块元素)

在这里插入图片描述

问题1:子元素的子元素也会在同一行显示吗,也就是 flex 属性会继承吗

在这里插入图片描述
可见,父容器设置了 flex ,其孙子元素并不会在同一行中显示,说明 flex 不可继承,只会影响子元素的布局

问题2:子元素是因为类似浮动那样,因为脱离了标准流才会在同一行排列吗

在这里插入图片描述
设置了 flex 的容器没有压在其他盒子上面,说明其没有脱离标准流,仍然占有原来的位置,只是子元素的布局发生了改变

二、行内 flex 布局

设置 class=“inline-flex” 启用行内 flex 布局

与普通 flex 的区别:
flex:创建块级 flex 容器(类似 display: block + flex)
inline-flex:创建行内 flex 容器(类似 display: inline-block + flex)

简单的说,设置了 inline-flex 的元素,在开始 flex 布局的同时,自己也变成了行内块元素

三、方向控制

一中展示的 flex 子元素都是水平排列在一行,这是因为如果不自主设置排列方向,默认为水平排列

flex-row (默认): 水平排列 (row)

flex-row-reverse: 水平反向排列

flex-col: 垂直排列 (column)

flex-col-reverse: 垂直反向排列

注意,设置方向的前提是开启了 flex 布局,如果只设置了flex-row ,块级元素还是不会水平排列

水平反向排列:
在这里插入图片描述

垂直反向排列:
在这里插入图片描述

四、对齐方式

如果设置了 flex-row ,如何控制子元素的对齐呢?

控制子元素的水平对齐:

justify-start:左对齐
在这里插入图片描述

justify-center:居中对齐
在这里插入图片描述

justify-end:右对齐
在这里插入图片描述

控制子元素的垂直对齐:

items-start:顶部对齐
在这里插入图片描述

items-center:居中对齐
在这里插入图片描述

items-end:底部对齐
在这里插入图片描述

如果设置了 flex-col ,如何控制子元素的对齐呢?

此时与上面完全相反,justify 控制垂直对齐,items 控制水平对齐

五、子元素控制

1、控制子元素的宽度是否可伸缩

flex-1:子元素自动填充父容器剩余的空间
在这里插入图片描述
可见,子元素的宽度并不是由内容撑开的,即使子元素设置了固定的宽度,其真正的宽度还是由父容器剩余的空间决定

flex-auto: 子元素基于内容自动调整宽度

在这里插入图片描述

(1)如果只有单个子元素设置了 flex-1 或者 flex-auto,呈现的效果是一样的
(2)如果有多个子元素设置了 flex-1,不管其内容有多少,所有设置了 flex-1 的子元素会均分父容器剩余的空间
(3)如果有多个子元素设置了 flex-auto,不会均分父容器的剩余空间;内容较多的子元素会得到较多的空间,内容较少的子元素得到较少的空间
(4)即便设置了固定宽度,flex-auto 不会受影响

flex-none:固定宽度
这里的固定宽度并不是说像给定 width 为多少 px,而是指子元素不会填充父容器的剩余空间,子元素的大小还是可以由内容撑开

注意,flex-none 不是取消 flex 布局!!!! 只有不设置 flex 才是取消 flex 布局

2、控制子元素顺序

order-1order-12 控制子项顺序

order-first (等同于 order-0)

order-last (等同于 order-13)

在这里插入图片描述

3、控制子元素间的间隙

gap-{size}: 设置子元素之间的间隙

gap-x-{size}: 水平间隙

gap-y-{size}: 垂直间隙

显而易见,子元素为水平排列时水平间隙才生效,垂直间隙同样的道理

4、控制子元素是否可换行显示

这里的换行并不是指子元素中文本的换行,而是父容器宽度不足以容纳过多的子元素,子元素另起一行显示

flex-nowrap (默认): 不换行

flex-wrap: 允许换行

flex-wrap-reverse: 反向换行

在这里插入图片描述

在这里插入图片描述

http://www.dtcms.com/a/287573.html

相关文章:

  • Linux C 信号操作
  • MCP 协议详细分析一 initialize ping tools/list tools/call
  • 13.5 Meta LLaMA 2核心技术拆解:4T数据训练+30%显存优化,70B模型准确率82.6%
  • Android Auto 即将推出新功能
  • LeetCode|Day19|14. 最长公共前缀|Python刷题笔记
  • Java无服务架构新范式:Spring Native与AWS Lambda冷启动深度优化
  • KVM中使用桥接模式.运维就业技术教程
  • NLP中情感分析与观念分析、价值判断、意图识别的区别与联系,以及四者在实际应用中的协同
  • 枚举类高级用法
  • 实验-链路聚合
  • Java多线程基础详解:从实现到线程安全
  • 面向运维智能的可扩展多智能体AI系统设计
  • Node.js:EventEmitter、Buffer
  • Nestjs框架: RxJS 核心方法实践与错误处理详解
  • 数据结构:字符串(Strings)
  • 图解系统-小林coding笔记
  • 从零入门:云迁移原理详解与华为Rainbow实战指南
  • Linux进程通信——共享内存:System V 进程间通信的极速方案
  • FreeRTOS学习笔记之软件定时器
  • C语言菜鸟入门·浅析strdup和strcpy的区别
  • 1.初始化
  • 【电脑】声卡的基础知识
  • CTF misc之数字取证
  • 我做的基础服务项目,是如何实现 API 安全与限流的(短信、邮件、文件上传、钉钉通知)
  • lazyvim配置
  • 教育科技产品设计:从公司背景到 MVP 方案的落地思路
  • laravel RedisException: Connection refused优雅草PMS项目管理系统报错解决-以及Redis 详细指南-优雅草卓伊凡
  • 传统行业和AIGC的结合及应用
  • Spring AI 项目实战(十八):Spring Boot + AI + Vue3 + OSS + DashScope 实现高效语音识别系统(附完整源码)
  • PyQt5—Qt QDialog 学习笔记