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

CSS中的flex布局详细讲解

Flex 布局

Flex 布局是一种现代的 CSS 布局模型,用于实现灵活的盒子布局。它提供了强大的布局能力,使得元素可以自动调整大小、对齐和分布,适用于构建响应式和可伸缩的布局。

Flex 布局使用 flex 容器和 flex 项目的概念。容器是一个父元素,包含了一组子元素作为项目。以下是对 Flex 布局中常用属性的详细讲解。

Flex 容器属性

display

display 属性用于定义一个元素作为 Flex 容器。

.container {display: flex;
}
  • display: flex; 将元素设置为 Flex 容器。
  • display: inline-flex; 将元素设置为内联的 Flex 容器。

flex-direction

flex-direction 属性用于定义 Flex 项目的排列方向。

.container {flex-direction: row;
}
  • flex-direction: row; 水平排列项目(默认值)。
  • flex-direction: row-reverse; 反向水平排列项目。
  • flex-direction: column; 垂直排列项目。
  • flex-direction: column-reverse; 反向垂直排列项目。

flex-wrap

flex-wrap 属性用于定义是否允许 Flex 项目换行。

.container {flex-wrap: nowrap;
}
  • flex-wrap: nowrap; 不允许项目换行(默认值)。
  • flex-wrap: wrap; 允许项目换行。
  • flex-wrap: wrap-reverse; 反向允许项目换行。

justify-content

justify-content 属性用于定义 Flex 项目在主轴上的对齐方式。

.container {justify-content: flex-start;
}
  • justify-content: flex-start; 项目靠主轴起始位置对齐(默认值)。
  • justify-content: flex-end; 项目靠主轴结束位置对齐。
  • justify-content: center; 项目在主轴上居中对齐。
  • justify-content: space-between; 项目在主轴上平均分布,首尾项目靠容器边缘。
  • justify-content: space-around; 项目在主轴上平均分布,项目之间有相等的间隔空间。
  • justify-content: space-evenly; 项目在主轴上平均分布,项目之间和首尾项目到容器边缘的间隔空间均相等。

align-items

align-items 属性用于定义 Flex 项目在交叉轴上的对齐方式。

.container {align-items: center;
}
  • align-items: stretch; 项目拉伸以填满交叉轴空间(默认值)。
  • align-items: flex-start; 项目靠交叉轴起始位置对齐。
  • align-items: flex-end; 项目靠交叉轴结束位置对齐。
  • align-items: center; 项目在交叉轴上居中对齐。
  • align-items: baseline; 项目基线对齐。

align-content

align-content 属性用于定义多行 Flex 项目在交叉轴上的对齐方式。

.container {align-content: flex-start;
}
  • align-content: stretch; 多行项目拉伸以填满交叉轴空间(默认值)。
  • align-content: flex-start; 多行项目靠交叉轴起始位置对齐。
  • align-content: flex-end; 多行项目靠交叉轴结束位置对齐。
  • align-content: center; 多行项目在交叉轴上居中对齐。
  • align-content: space-between; 多行项目在交叉轴上平均分布,首尾项目靠容器边缘。
  • align-content: space-around; 多行项目在交叉轴上平均分布,项目之间有相等的间隔空间。
  • align-content: space-evenly; 多行项目在交叉轴上平均分布,项目之间和首尾项目到容器边缘的间隔空间均相等。

Flex 项目属性

order

order 属性用于定义 Flex 项目的排列顺序。

.item {order: 1;
}
  • order 的值为整数,默认为 0。数值越小,项目越靠前;数值相同时,按照源代码中的顺序排列。

flex-grow

flex-grow 属性用于定义 Flex 项目的放大比例。

.item {flex-grow: 1;
}
  • flex-grow 的值为非负数,默认为 0。项目的宽度将根据放大比例进行分配。

flex-shrink

flex-shrink 属性用于定义 Flex 项目的缩小比例。

.item {flex-shrink: 1;
}
  • flex-shrink 的值为非负数,默认为 1。项目的宽度将根据缩小比例进行分配。

flex-basis

flex-basis 属性用于定义 Flex 项目的初始宽度。

.item {flex-basis: 100px;
}
  • flex-basis 的值可以是长度值(如像素或百分比),也可以是关键字 auto(默认值)。它指定了项目在分配多余空间之前的初始宽度。

flex

flex 属性是 flex-growflex-shrinkflex-basis 的缩写。

.item {flex: 1 1 100px;
}
  • flex 的值是由三个部分组成的缩写:flex-growflex-shrinkflex-basis。可以省略其中的任何一个值,默认值为 0 1 auto

align-self

align-self 属性用于定义单个 Flex 项目在交叉轴上的对齐方式,覆盖了容器的 align-items 属性。

.item {align-self: center;
}
  • align-self 的值与 align-items 属性相同。

以上是 Flex 布局中常用的属性和用法。通过灵活组合这些属性,可以实现各种复杂的盒子布局。

相关文章:

CSS中的flex布局详细讲解

Flex 布局 Flex 布局是一种现代的 CSS 布局模型,用于实现灵活的盒子布局。它提供了强大的布局能力,使得元素可以自动调整大小、对齐和分布,适用于构建响应式和可伸缩的布局。 Flex 布局使用 flex 容器和 flex 项目的概念。容器是一个父元素…...

Python功能制作之简单的音乐播放器

需要导入的库: pip install PyQt5 源码: import os from PyQt5.QtCore import Qt, QUrl from PyQt5.QtGui import QIcon, QPixmap from PyQt5.QtMultimedia import QMediaPlayer, QMediaContent from PyQt5.QtWidgets import QApplication, QMainWind…...

GAN生成对抗模型根据minist数据集生成手写数字图片

文章目录 1.项目介绍2相关网站3具体的代码及结果导入工具包设置超参数定义优化器,以及损失函数训练时的迭代过程训练结果的展示 1.项目介绍 通过用minist数据集进行训练,得到一个GAN模型,可以生成与minist数据集类似的图片。 GAN是一种生成模…...

【K8S源码之Pod漂移】整体概况分析 controller-manager 中的 nodelifecycle controller(Pod的驱逐)

参考 k8s 污点驱逐详解-源码分析 - 掘金 k8s驱逐篇(5)-kube-controller-manager驱逐 - 良凯尔 - 博客园 k8s驱逐篇(6)-kube-controller-manager驱逐-NodeLifecycleController源码分析 - 良凯尔 - 博客园 k8s驱逐篇(7)-kube-controller-manager驱逐-taintManager源码分析 - 良…...

[保研/考研机试] KY212 二叉树遍历 华中科技大学复试上机题 C++实现

题目链接: 二叉树遍历_牛客题霸_牛客网二叉树的前序、中序、后序遍历的定义: 前序遍历:对任一子树,先访问根,然后遍历其左子树,最。题目来自【牛客题霸】https://www.nowcoder.com/share/jump/43719512169…...

CSS笔记

介绍 CSS导入方式 三种方法都将文字设置成了红色 CSS选择器 元素选择器 id选择器 图中div将颜色控制为红色,#name将颜色控制为蓝色,谁控制的范围最小,谁就生效,所以第二个div是蓝色的。id属性值要唯一,否则报错。 clas…...

链栈Link-Stack

0、节点结构体定义 typedef struct SNode{int data;struct SNode *next; } SNode, *LinkStack; 1、初始化 bool InitStack(LinkStack &S) //S为栈顶指针(存数据的头节点) {S NULL;return true; } 2、入栈 bool Push(LinkStack &S, int e) {…...

Ubuntu 20系统WIFI设置静态IP地址,以及断连问题

​最近工作需要购置了一台GPU机器,然后搭建了深度学习的运行环境,在工作中将这台机器当做深度学习的服务器来使用,前期已经配置好多用户以及基础环境。但最近通过xshell连接总是不间断的出现断连现象。 补充一点,Ubuntu系统中与网…...

(一)idea连接GitHub的全部流程(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)

(二)Git在公司中团队内合作和跨团队合作和分支操作的全部流程(一篇就够)https://blog.csdn.net/m0_65992672/article/details/132336481 4.1、简介 Git是一个免费的、开源的*分布式**版本控制**系统*,可以快速高效地…...

-bash: java: command not found笔记

文章目录 场景解决方案找java的方法find命令进行查找根据java进程找寻具体位置 场景 linux系统执行java命令时报错: -bash: java: command not found。 解决方案 可能是没有安装java(这种情况比较少)或者安装了java但是没有设置环境变量(一般是这种情况)。 找ja…...

C++ typename and .template

https://makecleanandmake.com/2015/07/20/leading-typename-dot-template-and-why-they-are-necessary/ typename Obj<T>::type var;v.template m<int>();...

uniapp,使用canvas制作一个签名版

先看效果图 我把这个做成了页面&#xff0c;没有做成组件&#xff0c;因为之前我是配合uview-plus的popup弹出层使用的&#xff0c;这种组件好像是没有生命周期的&#xff0c;第一次打开弹出层可以正常写字&#xff0c;但是关闭之后再打开就不会显示绘制的线条了&#xff0c;还…...

【大数据】Flink 详解(五):核心篇 Ⅳ

Flink 详解&#xff08;五&#xff09;&#xff1a;核心篇 Ⅳ 45、Flink 广播机制了解吗&#xff1f; 从图中可以理解 广播 就是一个公共的共享变量&#xff0c;广播变量存于 TaskManager 的内存中&#xff0c;所以广播变量不应该太大&#xff0c;将一个数据集广播后&#xff0…...

设计模式-建造者模式

核心思想 抽取共同的行为&#xff0c;允许使用者指定复杂对象的类型和内容&#xff0c;不需要了解内部的构建细节使用多个简单的行为构建一个复杂的对象&#xff0c;将对象的构建过程和它的表示分离&#xff0c;同样的构建过程可以创建不同的表示 优缺点 优点 使用者不需要知…...

flutter 设置app图标

使用插件 flutter_launcher_icons 在 pubspec.yaml 配置文件中 加入 dev_dependencies dev_dependencies: flutter_launcher_icons: "^0.13.1" 准备好app得 icon 图标 其中icon的名字为icon.png 创建assets文件夹 和子文件夹icon iamge 配置静态资源路径 完整配置…...

守护网络安全:深入了解DDOS攻击防护手段

ddos攻击防护手段有哪些?在数字化快速发展的时代&#xff0c;网络安全问题日益凸显&#xff0c;其中分布式拒绝服务(DDOS)攻击尤为引人关注。这种攻击通过向目标网站或服务器发送大量合法或非法的请求&#xff0c;旨在使目标资源无法正常处理其他用户的请求&#xff0c;从而达…...

计组 | 寻址方式

目录 一、知识点 1.寻址方式什么&#xff1f; 2.根据操作数所在的位置&#xff0c;都有哪些寻址方式&#xff1f; 3.直接寻址 4.立即寻址 5.隐含寻址 6.相对寻址 7.寄存器 8.寄存器-寄存器型&#xff08;RR&#xff09;、寄存器-存储器型&#xff08;RS&#xff09;和…...

matlab工具箱Filter Designer设计butterworth带通滤波器

1、在matlab控制界面输入fdatool; 2、在显示的界面中选择合适的参数&#xff1b;本实验中采样频率是200&#xff0c;低通30hz&#xff0c;高通60hz,点击butterworth滤波器。 3、点击设计滤波器按钮后&#xff0c;在生成的界面点击红框按钮&#xff0c;可生成simulink模型到当前…...

Python学习笔记第六十天(Matplotlib Pyplot)

Python学习笔记第六十天 Matplotlib Pyplot后记 Matplotlib Pyplot Pyplot 是 Matplotlib 的子库&#xff0c;提供了和 MATLAB 类似的绘图 API。 Pyplot 是常用的绘图模块&#xff0c;能很方便让用户绘制 2D 图表。 Pyplot 包含一系列绘图函数的相关函数&#xff0c;每个函数…...

服务器自动备份、打包、传输脚本

备份脚本 #!/bin/bash #author cheng #备份服务器自动打包归档每天的备份文件 Path/backhistory Host$(hostname) Date$(date %F) Dest${Host}_${Date}#创建目录 mkdir -p ${Path}/${Dest}#打包文件到目录 cd / && \#结合autoback.sh脚本&#xff0c;它往那个地方备&a…...

Jsxer:Adobe ExtendScript JSXBIN反编译终极指南与深度解析

Jsxer&#xff1a;Adobe ExtendScript JSXBIN反编译终极指南与深度解析 【免费下载链接】jsxer A fast and accurate JSXBIN decompiler. 项目地址: https://gitcode.com/gh_mirrors/js/jsxer Jsxer是一款高性能的Adobe ExtendScript二进制格式&#xff08;JSXBIN&#…...

告别答辩PPT焦虑:百考通AI如何智能化解你的毕业展示难题

当你终于为论文画上最后一个句号&#xff0c;准备迎接毕业的曙光时&#xff0c;答辩PPT的制作却往往成为压垮学生的最后一根稻草。面对这份看似简单却暗藏玄机的任务&#xff0c;百考通AI为你提供智能解决方案。 深夜&#xff0c;当你的论文最后一个字终于落定&#xff0c;一种…...

从等待到掌控:构建个人化网盘下载工作流的3个关键步骤

从等待到掌控&#xff1a;构建个人化网盘下载工作流的3个关键步骤 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼…...

基于GAN的端到端ISP:用AI学习从RAW到RGB的图像处理革命

1. 项目概述&#xff1a;从“拍”到“算”的ISP革命在计算机视觉和图像处理领域&#xff0c;图像信号处理器&#xff08;ISP&#xff09;一直扮演着“幕后英雄”的角色。它负责将相机传感器捕捉到的原始、未经处理的RAW Bayer数据&#xff0c;转换为我们手机相册里那些色彩鲜艳…...

基于ConvLSTM与天气图的时空序列预测:新能源功率预测实战

1. 项目概述与核心价值最近几年&#xff0c;我身边不少做新能源电站运维和电力交易的朋友&#xff0c;都在为一个问题头疼&#xff1a;发电量预测不准。无论是光伏电站还是风电场&#xff0c;发电功率就像个“看天吃饭”的孩子&#xff0c;云层一遮&#xff0c;风速一变&#x…...

对比体验Taotoken平台不同大模型在创意生成上的差异

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 对比体验Taotoken平台不同大模型在创意生成上的差异 对于内容创作者而言&#xff0c;大模型是激发灵感、提升效率的得力工具。然而…...

解锁PS4游戏存档的终极掌控:Apollo Save Tool深度技术解析

解锁PS4游戏存档的终极掌控&#xff1a;Apollo Save Tool深度技术解析 【免费下载链接】apollo-ps4 Apollo Save Tool (PS4) 项目地址: https://gitcode.com/gh_mirrors/ap/apollo-ps4 在PlayStation 4的游戏生态中&#xff0c;PS4存档管理和游戏数据修改一直是玩家和开…...

宝塔面板磁盘爆满排查与清理全记录

前言前几天登录宝塔面板&#xff0c;发现磁盘空间告急&#xff08;日志文件都清理了&#xff0c;怎么磁盘占用率还这么高&#xff09;&#xff1a;81.52G / 98.3G&#xff0c;剩余不足 17%。虽然服务器负载不高&#xff0c;但这个磁盘占用率让人隐隐不安——如果不及时处理&…...

解决Claude Code频繁封号与Token不足的替代接入方案

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 解决Claude Code频繁封号与Token不足的替代接入方案 1. 场景与核心思路 对于依赖Claude Code进行编程辅助的开发者而言&#xff0…...

Jupyter Notebook插件库装完不显示?手把手教你搞定jupyter_contrib_nbextensions和configurator的正确安装顺序

Jupyter Notebook插件安装全指南&#xff1a;从原理到实战排查 第一次打开Jupyter Notebook的插件管理器&#xff0c;却发现里面空空如也——这种挫败感我太熟悉了。去年刚开始用Jupyter做数据分析时&#xff0c;我花了整整一个下午才搞明白为什么安装的插件就是不显示。后来才…...