Flex 布局教程:语法篇

news/2024/10/3 10:39:55

目录
  • 一、Flex 布局是什么?
  • 二、基本概念
  • 三、容器的属性
    • 1. flex-direction 属性决定主轴的方向(即项目的排列方向)。
    • 2. flex-wrap 默认情况下,项目都排在一条线(又称"轴线")上。flex-wrap属性定义,如果一条轴线排不下,如何换行。
    • 3. flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。
    • 4. justify-content 定义了项目在主轴上的对齐方式。
    • 5. align-items 定义项目在交叉轴上如何对齐。
    • 6. align-content 定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。
  • 参考文档:

一、Flex 布局是什么?

Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。

注意,设为 Flex 布局以后,子元素的float、clear和vertical-align属性将失效。

二、基本概念

  • 容器
    采用 Flex 布局的元素,称为 Flex 容器(flex container),简称"容器"。

  • 项目
    容器中的所有子元素自动成为容器l成员,称为 Flex 项目(flex item),简称"项目"。

  • 容器轴轴的概念
    容器默认存在两根轴:

    1. 水平的主轴(main axis)
      主轴的开始位置(与边框的交叉点)叫做main start,结束位置叫做main end;

    2. 垂直的交叉轴(cross axis)。
      交叉轴的开始位置叫做cross start,结束位置叫做cross end。

项目默认沿主轴排列。单个项目占据的主轴空间叫做main size,占据的交叉轴空间叫做cross size。

image

三、容器的属性

以下6个属性设置在容器上。

  1. flex-direction
  2. flex-wrap
  3. flex-flow
  4. justify-content
  5. align-items
  6. align-content

1. flex-direction 属性决定主轴的方向(即项目的排列方向)。

  1. row(默认值):主轴为水平方向,起点在左端。
  2. row-reverse:主轴为水平方向,起点在右端。
  3. column:主轴为垂直方向,起点在上沿。
  4. column-reverse:主轴为垂直方向,起点在下沿。

image

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><div class="flex-container"><div class="box A">A</div><div class="box B">B</div><div class="box C">C</div><div class="box D">D</div><div class="box E">E</div></div></body>
<style>
.flex-container{background-color: green;display: flex; flex-direction:row-reverse;
}
.box{width: 50px;height: 50px;background-color: #eee;text-align: center;line-height: 60px;border-radius: 4px;box-shadow: 0px 1px 3px rgb(0,0,0,.18);font-size: 1em;
}
/* 任何一个容器都可以指定为 Flex 布局。 */
.A {background-color: #6dd9bf;}
.B {background-color: #50A18E;}
.C {background-color: #F2D680;}
.D {background-color: #F2916D;}
.E {background-color: #F26E50;}
/* .box{display: flex;justify-content: center;align-items: center;
} */
</style>
</html>

2. flex-wrap 默认情况下,项目都排在一条线(又称"轴线")上。flex-wrap属性定义,如果一条轴线排不下,如何换行。

- nowrap (默认):不换行。
- wrap :换行,第一行在上方。
- wrap-reverse:换行,第一行在下方。

3. flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。

4. justify-content 定义了项目在主轴上的对齐方式。

- flex-start(默认值):左对齐
- flex-end:右对齐
- center: 居中
- space-between:两端对齐,项目之间的间隔都相等。
- space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。

5. align-items 定义项目在交叉轴上如何对齐。

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

6. align-content 定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。

- flex-start:与交叉轴的起点对齐。
- flex-end:与交叉轴的终点对齐。
- center:与交叉轴的中点对齐。
- space-between:与交叉轴两端对齐,轴线之间的间隔平均分布。
- space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。
- stretch(默认值):轴线占满整个交叉轴。

参考文档:

  • Flex 布局教程:语法篇 - 阮一峰
  • Flexbox 网页布局完全解构-视频

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/29206.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

WDS+MDT网络启动自动部署windows(十七)MDT中文变量,描述,组织单位OU

简介 这简直就是歧视,在MDT使用变量时,数据库设置时,居然不能用中文。 计算机描述,我将在数据库中设置为使用人,主要是其他地方也不方便看。 描述是存在注册表中的,未来自动化也将会使用使用人这个字段,用来注册OCS这样,有标签,使用人字段的软件。 方向 解决MDT/BDD无…

WDS+MDT网络启动自动部署windows(十六)计算机自动进入指定OU

简介 新装计算机总是在默认电脑,不方便配置终端计算机策略权限。 要想办法让MDT装好的计算机,自动进入指定组织单位OU。 dsquery 大概意思是 domain server query ,就是域服务器搜索的意思。 在域控执行 dsquery ou 先看看OU是怎么用LDAP表示的。 从左到右,OU,逐级的组…

OpenVX技术图例(二)

OpenVX技术图例(二) 参考文献链接 https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/exports/docs/tiovx/docs/user_guide/index.html人工智能芯片与自动驾驶

(7)ram ip使用

一、ram相关介绍 本实验使用一个控制模块对ram ip进行控制(本质上是三个计数器) 二、ip使用 在界面中选择IP catalog,搜索block,选择底下这个,双击即可生成ram的ip下面进行一些ram资源的配置 配置好后点击ok,生成ip,可以在这里看到已经生成好了: 这里点开这个.veo文件,…

一文搞懂 ARM 64 系列: ADC

一文搞懂 ARM 64 系列: ADC1 指令语法 adc <Xd>, <Xn>, <Xm>2 指令语义 adc就是带「进位」加法,指令中的c就是英文carry。 整个指令等价于: (Xd, _) = Xn + Xm + PSTATE.C也就是将寄存器Xn,寄存器Xm,PSTATE中的「进位」标志相加,将相加的结果写入寄存器X…

Linux Shell 脚本专题

本文介绍了Linux Shell环境变量和脚本使用的常用知识点。V1.0 2024年5月8日 发布于博客园目录常用环境变量一、环境变量的概念1、环境变量的含义2、环境变量的分类3、Linux环境变量二、常用的环境变量1、查看环境变量2、常用的环境变量三、设置环境量1、系统环境变量2、用户环境…

OpenDiary 24.5

我去!五月了我去!五月了 一亿年没更日寄了pixiv 100277433四月后日谈 鉴于整个四月基本没记日记,有必要开展一次考古活动 因为考古是比较困难的事情,所以想到什么就写什么了打了一整月的 p5r,四月下旬全都在高强度 p5r,每天都情不自禁打很长很长时间 一个月打了 93h 之多…

第八章——软件工程基础知识

软件工程概述,软件开发模型,软件开发方法,需求分析,系统设计,系统测试,软件开发项目管理,软件质量,软件度量第八章——软件工程基础知识 软件工程概述 软件开发模型 软件开发方法 需求分析 系统设计 系统测试 软件开发项目管理 软件质量 软件度量