flex布局语法以及实操,一文带你吃透flex布局的基础

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

前言

一、Flex是什么?

二、Flex语法知识

1.轴的使用

1.1flex-direction属性

​编辑

2.基础知识

2.1justify-content属性

2.1.1justify-content: flex-end;

2.1.2 justify-content: space-around;

2.1.3justify-content: center;

2.1.4 justify-content: space-between;

2.1.4justify-content: space-evenly;

2.2.align-items属性

2.2.1 align-items: center;

2.2.2 align-items: flex-start;

2.2.3 align-items: flex-end;

2.3  flex-wrap属性

2.4 flex属性

三、总结


前言

        Flex弹性布局已是目前最为流行的布局方式之一,它给Web开发者在完成页面或组件的UI布局带来了极大的灵活性和便利性。

一、Flex是什么?

        Flex弹性布局其实就是将我们的盒子默认的分为一个主轴和一个侧轴(交叉轴),只需要用display:flex 便可以通过主轴和侧轴交叉的方式进行布局。下面我将用实例来具体说明

二、Flex语法知识

1.轴的使用

1.1flex-direction属性

 flex-direction决定主轴的方向:

.box {flex-direction: row 默认方向  (常用)row-reverse 主轴为水平方向,由右向左column  主轴为垂直方向,由上到下 (偶尔常用)column-reverse;主轴为垂直方向,由下到上
}

如图为主轴默认时我们用flex布局的样子 方便大家更容易理解。

如图为主轴垂直 由上到下

2.基础知识

2.1justify-content属性

justify-content属性定义了项目在主轴上的对齐方式,具体属性如下。

.box{display:flex;justify-content:flex-start;左对齐(默认)flex-end;右对齐center;居中space-around;每项目两侧的间隔相等,项目之间的间隔比项目与边框的间隔大一倍。space-between;两端对齐,项目之间的间隔都相等。space-evenly;每个间隔都一样
}

2.1.1justify-content: flex-end;

2.1.2 justify-content: space-around;

2.1.3justify-content: center;

2.1.4 justify-content: space-between;

2.1.4justify-content: space-evenly;

2.2.align-items属性

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

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

2.2.1 align-items: center;

2.2.2 align-items: flex-start;

 2.2.3 align-items: flex-end;

2.3  flex-wrap属性

flex-wrap属性是指定弹性容器中的项目(flex item)在一行上不足以容纳时是否换行的规则。该属性接受三个值:

  1. nowrap(默认值):项目不换行,尽可能在一行内显示,会导致项目溢出父容器。
  2. wrap:项目自动换行,当一行放不下时,会自动换到下一行显示。
  3. wrap-reverse:项目自动换行,但是以反向顺序排列

2.4 flex属性

        flex属性,它是flex容器(flex container)中子项目(flex item)的扩展和收缩比例,用于控制子元素在主轴上的排列方式。flex属性是一个复合属性,包含三个子属性:flex-grow、flex-shrink 和 flex-basis。

  • flex-grow属性:指定项目在剩余空间中所占比例,默认值为0,表示不放大。
  • flex-shrink属性:指定如果空间不足,项目在缩小时所占比例,默认值为1,表示缩小。
  • flex-basis属性:定义项目在主轴方向上的初始大小,默认是auto,即按照元素自身的宽度或高度来进行计算

如图是俩个默认大小的盒子:flex: 0 1 auto;

当让一个盒子攒满空间时:flex: 1 1 auto;


三、总结

以上就是今天要讲的内容,本文仅仅简单介绍了Flex布局的使用,而Flex的功能还不止于此,如果大家还想了解更多的前端知识和flex布局的相关内容,可以到MDN上面去了解更多的知识,学无止尽。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【HTML5高级第二篇】WebWorker多线程、EventSource事件推送、History历史操作

文章目录 一、多线程1.1 概述1.2 体会多线程1.3 多线程中数据传递和接收 二、事件推送2.1 概述2.2 onmessage 事件 三、history 一、多线程 1.1 概述 前端JS默认按照单线程去执行,一段时间内只能执行一件事情。举个栗子:比方说古代攻城游戏&#xff0c…

CRM软件系统排名靠前的相关推荐

CRM软件是企业管理客户关系的重要工具,它可以帮助企业提高销售效率、增强客户满意度、提升市场竞争力。在众多的CRM软件中,排名靠前的CRM软件有哪些?推荐您一款领先的CRM软件——Zoho CRM。 Zoho CRM是一款全球知名的CRM软件,累计…

Ubuntu18.04系统下通过moveit控制kinova真实机械臂,并用python脚本到达固定点

测试工作空间:test_ws Kinova机械臂型号:m1n6s300 双臂模型中的左臂 测试功能包为kinova-ros官方包 一、读取kinova机械臂末端执行器位姿及tf小知识 1. tf小知识之获取两个连杆坐标系的位姿关系,非常有用,非常有用,非…

Linux tcpdump抓包命令

1.tcpdump抓包命令 -c 指定抓取包的数量,即最后显示的数量 -i 指定tcpdump监听的端口。未指定,选择系统中最小的以配置端口。-i any:监听所有网络端口 -i lo:监听lookback接口。-nn 对监听地址以数字方式呈现,且对端口也以数字方式呈现。…

Ubuntu 22.04安装过程

iso下载地址 Ubuntu Releases 1.进入引导菜单 选择Try or Install Ubuntu Server安装 2.选择安装语言 默认选择English 3.选择键盘布局 默认即可 4.选择安装服务器版本 最小化安装 5.配置网络 选择ipv4 选择自定义 DHCP也可 6.配置代理 有需要可以配置 这里跳过 7.软件源 …

LeetCode518. 零钱兑换 II 以及 动态规划相关的排列组合问题

文章目录 一、题目二、题解方法一:完全背包问题的变体(版本1)方法二:完全背包问题变体(版本2) 三、拓展:先遍历物品后遍历背包vs先遍历背包后遍历物品先遍历物品后遍历背包(组合问题…

高性能数据JS网格 Bryntum Grid 5.5.2 Crack

高性能数据网格 Bryntum Grid 是一个高性能的网络表格组件。它是用纯 JavaScript 构建的,并且可以轻松地与所有主要 JS 框架集成。 功能丰富 Bryntum Grid 具有您期望从专业网格组件获得的所有功能,包括: 很好的表现;很好的绩效 没有人喜欢缓…

记录我在cmd里使用pip命令下载Python的包时碰见的两个错误

1、pip时报错:Defaulting to user installation because normal site-packages is not writeable 解决方法:在 pip install 后面加上 --user 即可,这个是权限不足引发的问题。如果还是不行则用镜像源,然后别忘了在镜像源的“inst…

机器学习——支持向量机(SVM)

机器学习——支持向量机(SVM) 文章目录 前言一、SVM算法原理1.1. SVM介绍1.2. 核函数(Kernel)介绍1.3. 算法和核函数的选择1.4. 算法步骤1.5. 分类和回归的选择 二、代码实现(SVM)1. SVR(回归&a…

【JUC系列-05】通过源码分析AQS和ReentrantLock的底层原理

JUC系列整体栏目 内容链接地址【一】深入理解JMM内存模型的底层实现原理https://zhenghuisheng.blog.csdn.net/article/details/132400429【二】深入理解CAS底层原理和基本使用https://blog.csdn.net/zhenghuishengq/article/details/132478786【三】熟练掌握Atomic原子系列基本…

android studio platform使用体验分享(as无法跳转c/c++等native源码的福音,强烈推荐)

hi,粉丝朋友们: 大家好!这些天粉丝朋友们分享了一下Android Studio for Platform 这个最新的google开发的阅读aosp源码的工具,特别适合做原生系统开发。具体官方介绍如下地址: 参考链接:https://developer.…