0

0

Flexbox – 对齐和分配空间的现代方式

DDD

DDD

发布时间:2024-09-20 08:15:13

|

1439人浏览过

|

来源于dev.to

转载

flexbox – 对齐和分配空间的现代方式

第 14 讲:flexbox – 对齐和分配空间的现代方式

嘿那里!准备好深入研究 css 中最酷、最强大的工具之一了吗?今天,我们将探索 flexbox。如果您曾经在以简洁且响应迅速的方式对齐项目或分配空间方面遇到困难,那么 flexbox 是您最好的新朋友。

1.什么是 flexbox?

flexbox(灵活框布局)是一种一维布局系统,允许您控制容器内元素的对齐、间距和分布 - 即使这些元素的大小未知或动态。

将 flexbox 视为一个工具箱,用于创建可以根据可用空间拉伸、收缩或对齐的布局。

2.魔法从显示开始:flex

要开始使用 flexbox,您只需在容器上设置 display: flex 即可。一旦你这样做了,该容器的所有直接子代都会变成弹性项目,并且它们将立即开始表现不同。

item 1
item 2
item 3
.flex-container {
    display: flex;
}

现在,.flex-container 中的所有项目都是 flex 项目,可以轻松操作。

3.弯曲方向 – 我们应该走哪条路?

默认情况下,flexbox 将项目排列成行(水平),但如果您希望它们排列成列(垂直)怎么办? flexbox 通过 flex-direction 属性为您提供完全控制。

  • :在水平行中对齐项目(这是默认值)。
  • :将项目堆叠在垂直列中。
  • row-reverse:与 row 相同,但项目的顺序相反。
  • column-reverse:与column相同,但项目以相反的顺序堆叠。
.flex-container {
    display: flex;
    flex-direction: column;
}

现在,物品将垂直堆叠!

4.证明内容合理性 – 传播事物

假设您有三件物品,并且您想将它们均匀地分布在容器中。这就是 justify-content 派上用场的地方。

  • flex-start:项目与容器的开头对齐(默认)。
  • center:项目居中。
  • space- between:项目均匀分布,第一个项目在开始,最后一个项目在结束。
  • space-around:项目在每个项目周围以相等的填充间隔。
.flex-container {
    display: flex;
    justify-content: space-between;
}

现在,物品将在容器内均匀分布。

5.对齐项目 – 垂直魔法

justify-content 控制水平对齐,而 align-items 负责垂直对齐(或沿横轴)。以下是您的选择:

简单库存管理系统
简单库存管理系统

本系统是一个基于工厂模式的三层架构项目,基于VS2005 开发,结构简洁,配合动软Codematic代码生成器,可以使开发效率事半功倍,倍感轻松。本系统主要功能 1,物品类别管理 实现了物品类别的添加、修改、删除功能,方便库存物品分类管理。 2,物品管理 实现物品添加、修改,管理员可实时对物品做出库、入库记录,也可查看详细历史出入库记录。 3,商家管理 实现商家添加、修改、删除功能,方便公司和客户

下载
  • 拉伸:项目拉伸以填充容器(默认)。
  • flex-start:项目与顶部对齐。
  • flex-end:项目与底部对齐。
  • center:项目垂直居中
.flex-container {
    display: flex;
    align-items: center;
}

现在,所有项目都将在容器内垂直居中。

6. flex-grow、flex-shrink 和 flex-basis – 微调 flex 项目

有时,您希望某些项目增大、缩小或具有固定的起始尺寸。 flex-growflex-shrinkflex-basis 属性可让您控制该行为:

  • flex-grow:控制一个项目相对于其他项目应该增长多少。
  • flex-shrink:控制一个项目相对于其他项目应收缩的程度。
  • flex-basis:设置项目在增大或缩小之前的初始大小。

示例:

.item {
    flex-grow: 1;
    flex-shrink: 0;
    flex-basis: 100px;
}

这可确保项目从 100 像素开始,但如果需要,它可以增长以填充额外的空间,而不会缩小。

7.实践中的 flexbox 示例

让我们用一个例子将所有这些放在一起!

item 1
item 2
item 3
.flex-container {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
    height: 300px;
    background-color: #f0f0f0;
}

.item {
    background-color: #4CAF50;
    padding: 20px;
    color: white;
    flex-grow: 1;
}

在此示例中:

  • 项目排列成行。
  • 它们通过 justify-content: space-around 均匀分布。
  • 所有项目都在容器中垂直居中,并使用align-items: center。
  • 由于 flex-grow,每个项目都会增长以均匀地填充可用空间:1.

8.为什么 flexbox 如此受欢迎

flexbox 消除了我们过去在 css 中遇到的布局设计的复杂性。不再有浮动,不再担心清理,响应式设计变得更加简单!

要点:

  • 使用 display: flex 将容器变成 flex 容器。
  • 使用flex-direction设置流向(行或列)。
  • 使用 justify-contentalign-items 来控制间距和对齐。
  • 使用 flex-growflex-shrinkflex-basis 微调您的弹性项目。

在 linkedin 上关注我-

里多伊·哈桑

相关专题

更多
css
css

css是层叠样式表,用来表现HTML或XML等文件样式的计算机语言,不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。php中文网还为大家带来html的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

500

2023.06.15

css居中
css居中

css居中:1、通过“margin: 0 auto; text-align: center”实现水平居中;2、通过“display:flex”实现水平居中;3、通过“display:table-cell”和“margin-left”实现居中。本专题为大家提供css居中的相关的文章、下载、课程内容,供大家免费下载体验。

261

2023.07.27

css如何插入图片
css如何插入图片

cssCSS是层叠样式表(Cascading Style Sheets)的缩写。它是一种用于描述网页或应用程序外观和样式的标记语言。CSS可以控制网页的字体、颜色、布局、大小、背景、边框等方面,使得网页的外观更加美观和易于阅读。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

731

2023.07.28

css超出显示...
css超出显示...

在CSS中,当文本内容超出容器的宽度或高度时,可以使用省略号来表示被隐藏的文本内容。本专题为大家提供css超出显示...的相关文章,相关教程,供大家免费体验。

534

2023.08.01

css字体颜色
css字体颜色

CSS中,字体颜色可以通过属性color来设置,用于控制文本的前景色,字体颜色在网页设计中起到很重要的作用,具有以下表现作用:1、提升可读性;2、强调重点信息;3、营造氛围和美感;4、用于呈现品牌标识或与品牌形象相符的风格。

748

2023.08.10

什么是css
什么是css

CSS是层叠样式表(Cascading Style Sheets)的缩写,是一种用于描述网页(或其他基于 XML 的文档)样式与布局的标记语言,CSS的作用和意义如下:1、分离样式和内容;2、页面加载速度优化;3、实现响应式设计;4、确保整个网站的风格和样式保持统一。

594

2023.08.10

css三角形怎么写
css三角形怎么写

CSS可以通过多种方式实现三角形形状,本专题为大家提供css三角形怎么写的相关教程,大家可以免费体验。

556

2023.08.21

css设置文字颜色
css设置文字颜色

CSS(层叠样式表)可以用于设置文字颜色,这样做有以下好处和优势:1、增加网页的可视化效果;2、突出显示某些重要的信息或关键字;3、增强品牌识别度;4、提高网页的可访问性;5、引起不同的情感共鸣。

387

2023.08.22

桌面文件位置介绍
桌面文件位置介绍

本专题整合了桌面文件相关教程,阅读专题下面的文章了解更多内容。

0

2025.12.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 0.7万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 2.7万人学习

CSS教程
CSS教程

共754课时 | 17.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号