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

WHAT - Tailwind CSS 的灵活布局(Flex Grid)

目录

  • Flexbox 布局
    • 1. 启用 Flexbox
    • 2. 主轴方向
    • 3. 交叉轴对齐方式
    • 4. 主轴对齐方式
    • 5. 包裹子元素的方式
    • 6. 子元素 Flex 属性
    • 综合示例
  • Grid 布局
    • 1. 启用 Grid
    • 2. 定义列数
    • 3. 列和行的定义
    • 4. 列和行的间隔
    • 5. 行和列的大小
    • 6. 位置和对齐
    • 综合示例
  • 总结

查看 Tailwind CSS 的官方文档:Flexbox & Grid

在 Tailwind CSS 中,flexgrid 用于创建灵活的布局。以下是这两种布局的基本设置和常用类。

Flexbox 布局

1. 启用 Flexbox

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

2. 主轴方向

  • flex-row:水平排列(默认)。
  • flex-row-reverse:反向水平排列。
  • flex-col:垂直排列。
  • flex-col-reverse:反向垂直排列。

3. 交叉轴对齐方式

  • items-start:在交叉轴起始位置对齐。
  • items-center:在交叉轴中间对齐。
  • items-end:在交叉轴末尾对齐.
  • items-baseline:在基线对齐。
  • items-stretch:默认值,子元素拉伸以填满容器。

4. 主轴对齐方式

  • justify-start:在主轴起始位置对齐。
  • justify-center:在主轴中间对齐。
  • justify-end:在主轴末尾对齐。
  • justify-between:子元素均匀分布,首尾对齐。
  • justify-around:子元素均匀分布,两边留有空间。
  • justify-evenly:子元素均匀分布,间隔相同。

5. 包裹子元素的方式

<div className="flex flex-wrap"><!-- 子元素 -->
</div>

6. 子元素 Flex 属性

  • flex-1:使子元素占据剩余空间。
  • flex-none:不允许子元素缩放。

综合示例

<div className="flex justify-between items-center"><div className="flex-1">项1</div><div className="flex-1">项2</div><div className="flex-1">项3</div>
</div>

Grid 布局

1. 启用 Grid

<div className="grid"><!-- 子元素 -->
</div>

2. 定义列数

<div className="grid grid-cols-3"><!-- 子元素 -->
</div>

3. 列和行的定义

  • grid-cols-{n}:定义列数,例如 grid-cols-2grid-cols-4
  • grid-rows-{n}:定义行数。

4. 列和行的间隔

<div className="grid gap-4"><!-- 子元素 -->
</div>

5. 行和列的大小

<div className="grid grid-cols-3 grid-rows-2"><div className="col-span-2">占据两列</div><div className="row-span-2">占据两行</div>
</div>

6. 位置和对齐

  • items-startitems-centeritems-end:在交叉轴上对齐。
  • justify-startjustify-centerjustify-end:在主轴上对齐。

综合示例

<div className="grid grid-cols-3 gap-4"><div className="bg-red-500">项1</div><div className="bg-green-500">项2</div><div className="bg-blue-500">项3</div><div className="bg-yellow-500 col-span-2">占据两列</div>
</div>

总结

属性FlexGrid
启用布局flexgrid
方向flex-row, flex-colgrid-cols-{n}, grid-rows-{n}
对齐justify-*, items-*justify-*, items-*
间隔gap-*gap-*
包裹flex-wrap-

这两种布局各有优缺点,选择合适的布局方式可以帮助你更好地实现设计需求。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • live555 rtsp服务器实战之doGetNextFrame
  • 生成式 AI 的发展方向,是 Chat 还是 Agent?
  • CSS基础学习之元素定位(6)
  • CentOS软件安装与vim使用操作
  • 嵌入式linux相机 转换模块
  • opencv—常用函数学习_“干货“_5
  • 解决 Yarn 运行时的 Node.js 版本问题:一个详尽的指南
  • Font Awesome 图表图标
  • vue3前端开发-执行npm run dev提示报错怎么解决
  • 如何防范场外个股期权的交易风险?
  • leetcode力扣_二分查找
  • Flutter 状态管理调研总结
  • 在mybatis-plus中关于@insert注解自定义批处理sql导致其雪花算法失效而无法自动生成id的解决方法
  • How to integrate GPT-4 model hosted on Azure with the gptstudio package
  • Qt日志库QsLog使用教程
  • [数据结构]链表的实现在PHP中
  • 4. 路由到控制器 - Laravel从零开始教程
  • 5、React组件事件详解
  • rc-form之最单纯情况
  • Terraform入门 - 3. 变更基础设施
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 阿里云前端周刊 - 第 26 期
  • 闭包,sync使用细节
  • 关于for循环的简单归纳
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 前端设计模式
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 如何设计一个比特币钱包服务
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 用jQuery怎么做到前后端分离
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • $.ajax()
  • (06)金属布线——为半导体注入生命的连接
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (办公)springboot配置aop处理请求.
  • (第61天)多租户架构(CDB/PDB)
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • (转)fock函数详解
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • .net core使用EPPlus设置Excel的页眉和页脚
  • .NET MAUI Sqlite数据库操作(二)异步初始化方法
  • .net 中viewstate的原理和使用
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .NET_WebForm_layui控件使用及与webform联合使用
  • .Net6 Api Swagger配置
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)
  • 。。。。。
  • @Bean, @Component, @Configuration简析
  • @RequestMapping-占位符映射