css_flex布局

简介: css_flex布局

Flexible Box

flex

Flexible Box,弹性盒子,包含以下属性

属性 用法
flex-direction 弹性方向
flex-wrap 弹性换行
flex-flow 弹性方向与换行
justify-content 水平对齐方式
align-items 垂直内容
align-content 搭配多根轴线的对齐方式(单属性配置无效)

例:默认的flex布局,未对属性进行配置

<div class="container">
  <div class="header">header</div>
  <div class="nav">nav</div>
  <div class="content">content</div>
</div>
body{
  background: #4eddec;
}
*{
  margin:0;
  padding:0;
}
.container{
  position: absolute;
  display: flex;
  width: 100%;
  height:100%;
}
.header{
  width: 33.3%;
  border: 5px solid #ffaa00;
}
.nav{
  width: 33.3%;
  border:5px solid #ff5500;
}
.content{
  width: 33.3%;
  border:5px solid #55ff00;
}

flex-direction配置

垂直高度强制占满
flex-direction: row | row-reverse | column | column-reverse;
  • row(默认值):主轴为水平方向,起点在左端。
  • row-reverse:主轴为水平方向,起点在右端。
  • column:主轴为垂直方向,起点在上沿。
  • column-reverse:主轴为垂直方向,起点在下沿。

例:对header进行flex布局,他的子节点收到flex-direction的影响

<div class="header">
<div>header</div>
<div>123</div>
<div>456</div>
<div>789</div>
</div>
.header{
  position: relative;
  height: 100px;
  display: flex;
  flex-direction: column-reverse;
  border: 5px solid #ffaa00;  
}

row水平向右

row-reverse水平反转

column垂直向下

column-reverse垂直反向反转

flex-wrap配置

  • nowrap
  • wrap自动换行
  • wrap-reverse反转
    换行
    nowrap默认不换行
问题:溢出

可能会溢出

wrap自动换行

wrap-reverse反向换行

flex-flow(flex-direction与flex-wrap同时配置),默认值为row nowrap

flex-flow: <flex-direction> || <flex-wrap>;

例:水平反转不换行

justify-content配置

垂直高度强制占满
  • flex-start(默认值):左对齐
  • flex-end:右对齐
  • center: 居中
  • space-between:两端对齐,项目之间的间隔都相等。
  • space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。
justify-content: flex-start | flex-end | center | space-between | space-around;

flex-start 开始端点

flex-end 结束端点

center居中排列

space-between:两端对齐,项目之间的间隔都相等

space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍

align-item

align-items属性定义项目在交叉轴上如何对齐

垂直高度不强制占满
  • flex-start:交叉轴的起点对齐。
  • flex-end:交叉轴的终点对齐。
  • center:交叉轴的中点对齐。
  • baseline: 项目的第一行文字的基线对齐。
  • stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。
align-items: flex-start | flex-end | center | baseline | stretch;

flex-start 从上往下

flex-end从下往上

center 垂直居中

baseline 第一行对齐

strech高度占满

align-content配置

配和其他属性属性使用如flex-wrap
align-content: flex-start | flex-end | center | space-between | space-around | stretch;
  • flex-start:与交叉轴的起点对齐。
  • flex-end:与交叉轴的终点对齐。
  • center:与交叉轴的中点对齐。
  • space-between:与交叉轴两端对齐,轴线之间的间隔平均分布。
  • space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。
  • stretch(默认值):轴线占满整个交叉轴。

单个属性配置不生效

配和flex-wrap生效

参考:阮一峰的网络日志


目录
相关文章
|
3月前
|
设计模式 容器
13.HarmonyOS流式卡片列表实现指南:Flex多行布局详解
在现代移动应用开发中,流式卡片列表是一种常见且实用的UI设计模式。它能够自适应屏幕宽度,在有限空间内高效展示多个内容项。本教程将详细讲解如何使用HarmonyOS的ArkUI框架中的Flex组件实现一个灵活的流式卡片列表,重点关注多行布局与对齐策略的应用。
91 2
|
3月前
|
开发者 UED 容器
07.精通HarmonyOS Flex对齐:从基础到高级布局技巧(上)
在HarmonyOS Next的ArkUI框架中,Flex容器提供了强大而灵活的对齐系统,使开发者能够精确控制子元素在容器中的排列方式。掌握这些对齐技术,是构建专业级用户界面的关键。
112 0
|
3月前
|
UED 容器
5.HarmonyOS Next开发宝典:掌握Flex布局的艺术
Flex布局(弹性布局)是HarmonyOS Next中最强大的布局方式之一,它提供了一种更加高效、灵活的方式来对容器中的子元素进行排列、对齐和分配空间。无论是简单的居中显示,还是复杂的自适应界面,Flex布局都能轻松应对。
136 0
|
3月前
|
UED 容器
10.HarmonyOS Next布局进阶:嵌套Flex容器与空间分配策略
在HarmonyOS Next的ArkUI框架中,Flex布局是构建用户界面的核心技术之一。通过嵌套使用Flex容器,我们可以创建复杂而灵活的界面结构,满足各种应用场景的需求。本教程将深入探讨如何在HarmonyOS Next中使用嵌套Flex容器实现复杂布局,以及如何合理分配和控制空间。
82 0
|
6月前
|
开发者 容器
鸿蒙开发:弹性布局Flex
在实际的开发中,需要掌握主轴与交叉轴的关系、换行规则及子元素属性,同时注意性能与兼容性问题,还有一点,Flex组件在渲染时存在二次布局过程,因此在对性能有严格要求的场景下建议使用Column、Row代替。
166 10
鸿蒙开发:弹性布局Flex
|
11月前
|
前端开发 容器
flex布局
【10月更文挑战第7天】
243 87
|
11月前
|
前端开发 UED 容器
使用 Flex 布局实现垂直居中效果
【10月更文挑战第7天】
1117 57
|
10月前
|
前端开发 UED 容器
在 CSS 中使用 Flex 布局实现页面自适应时需要注意什么?
【10月更文挑战第22天】在使用 Flex 布局实现页面自适应时,需要对其基本原理和特性有深入的理解,同时结合具体的布局需求和场景,进行细致的调整和优化。通过合理的设置和注意事项的把握,才能实现理想的自适应效果,提升用户体验。还可以根据实际情况进行更深入的探索和实践,以不断提升 Flex 布局的应用能力。
|
10月前
|
容器
Bootstrap5 Flex(弹性)布局4
排序:.order 类可设置弹性子元素的排序,范围从 .order-1 至 .order-12,数字越小优先级越高。外边距:.ms-auto 和 .me-auto 分别用于设置子元素的右侧和左侧外边距为 auto。包裹:.flex-nowrap(默认)、.flex-wrap 和 .flex-wrap-reverse 用于控制弹性容器中的子元素是否换行及换行方向。

热门文章

最新文章