CSS-布局-flex
CSS3 新增了弹性盒子模型( Flexible Box 或 FlexBox ),是一种新的用于在 HTML 页面实现布局的方式。使得 HTML 页面适应不同尺寸的屏幕和不同的设备时,元素是可预测地运行。
基本概念
容器:使用display:flex或display:inline-flex声明的元素,称为 Flex 容器(flex container),简称容器项目:容器中所有子元素自动成为容器成员,称为 Flex 项目(flex item),简称项目主轴:项目沿其一次排列的轴被称为主轴。侧轴:垂直于主轴的轴被称为侧轴。
容器的属性
- flex-direction
- 定义了 主轴 的方向
- row:主轴为水平方向,起点在左端(默认)
- row-reverse:主轴为水平方向,起点在右端
- column:主轴为垂直方向,起点在上沿
- column-reverse:主轴为垂直方向,起点在下沿
- 定义了 主轴 的方向
- flex-wrap
- 默认情况,所有项目会在一行显示,如需换行,使用 flex-wrap
- nowrap:不换行(默认)
- wrap:换行,第一行在上方
- wrap-reverse:换行,第一行在下方
- 默认情况,所有项目会在一行显示,如需换行,使用 flex-wrap
- flex-flow
- 该属性是
flex-direction和flex-wrap的简写,默认值为row nowrap,水平排列,不换行。
- 该属性是
- justify-content
- 定义了项目沿着 主轴线 的对齐方式
- flex-start: 项目左对齐(默认)
- flex-end: 项目右对齐
- center: 项目居中对齐
- space-between: 项目两端对齐,容器首尾不留距离,项目之间的间隔都相等
- space-around: 项目两端对齐,容器首尾留有距离
- 定义了项目沿着 主轴线 的对齐方式
- align-items(适用于不换行的情况)
- 定义了项目所在 侧轴线 的对齐方式
- flex-start: 侧轴 起点对齐,如果
flex-direction:row,则项目顶部对齐 - flex-end: 侧轴 终点对齐,如果
flex-direction:row,则项目尾部对齐 - center: 项目居中对齐
- baseline: 项目的 第一行文字的基线 对齐
- stretch: 如果项目 未设置高度 或者 设为auto,拉伸与容器同高(默认)
- flex-start: 侧轴 起点对齐,如果
- 定义了项目所在 侧轴线 的对齐方式
- align-content(多行情况时适用)
- 定义了项目所在侧轴线的对齐方式
- flex-start: 侧轴 起点对齐
- flex-end: 侧轴 终点对齐
- center: 侧轴 居中对齐
- space-between: 两端对齐,容器首尾不留距离
- space-around: 两端对齐,容器首尾留有距离
- stretch: 如果项目 未设置高度 或者 设为auto,拉伸与容器同高(默认)
- 定义了项目所在侧轴线的对齐方式
项目属性
- order:项目的排列顺序
- 数值越小,排列越靠前,可以为负值
- order:0,保持项目原来的位置(默认)
- 数值越小,排列越靠前,可以为负值
- flex-grow(扩大):定义项目的放大比例
- 默认为0:如果容器存在剩余空间,保持原大小,不放大
- 项目
flex-grow属性都为 1:项目平均分配剩余空间 - 某个项目
flex-grow属性为 2,其他项目都为 1,那么为 2 的项目宽度为 1 的 2 倍
- flex-shrink(缩小):定义项目的缩小比例
- 默认为1:如果容器空间不足,项目缩小
- 项目
flex-shrink属性都为 1,当容器空间不足时,所有项目等比缩小 - 某个项目 flex-shrink 属性为 0,其他项目都为 1,当容器空间不足时,为 0 的项目不缩小
- flex-basis:分配多余空间之前,项目占据主轴空间的大小,相当于为项目设置宽度
- 默认值:auto,保持项目的本来大小,不作任何宽度改变
- 可以定义项目的宽度(如200px)
- 也可以设置
flex-basis:10%,将占据空间的10%
- flex(常用):
flex-grow flex-shrink flex-basis的缩写- 默认值:0 1 auto,不放大,但缩小;
auto(1 1 auto):等分放大缩小none(0 0 auto):不放大,不缩小flex:1相当于只设置了flex-grow
- align-self:定义项目在侧轴的对齐方式。该属性可覆盖
align-items属性。- 允许单个项目与其他项目不一样的对齐方式,可覆盖
align-items属性。 - 默认值为 auto,表示继承父元素的
align-items属性,如果没有父元素,则等同于stretch - flex-start | flex-end | center | baseline | stretch 与
align-items属性完全一致
- 允许单个项目与其他项目不一样的对齐方式,可覆盖
📖 flex布局小案例
相关文章:
CSS-布局-flex
CSS3 新增了弹性盒子模型( Flexible Box 或 FlexBox ),是一种新的用于在 HTML 页面实现布局的方式。使得 HTML 页面适应不同尺寸的屏幕和不同的设备时,元素是可预测地运行。 基本概念 容器:使用 display:flex 或 display:inline-flex 声明的…...
「C系列」C 数组
文章目录 一、C 数组1. 声明数组2. 初始化数组3. 访问数组元素4. 数组越界5. 多维数组 二、C 操作数组的方法有哪些三、C 数组-应用场景1. 存储固定数量的数据2. 实现算法(如排序)3. 处理数据集合 四、相关链接 一、C 数组 在C语言中,数组是…...
Python框架scrapy有什么天赋异禀
Scrapy框架与一般的爬虫代码之间有几个显著的区别,这些差异主要体现在设计模式、代码结构、执行效率以及可扩展性等方面。下面是一些关键的不同点: 结构化与模块化: Scrapy:提供了高度结构化的框架,包括定义好的Spider…...
【ROS2大白话】四、ROS2非常简单的传参方式
系列文章目录 【ROS2大白话】一、ROS2 humble及cartorgrapher安装 【ROS2大白话】二、turtlebot3安装 【ROS2大白话】三、给turtlebot3安装realsense深度相机 【ROS2大白话】四、ROS2非常简单的传参方式 文章目录 系列文章目录前言一、launch文件传参的demo1. 编写launch.py文…...
浅谈mysql 的批量delete 和 使用in条件批量删除问题
在考虑这两个DELETE语句的性能时,我们需要考虑数据库如何执行这些查询以及它们背后可能涉及的索引和数据结构。 1.执行多个单独的DELETE语句: DELETE FROM a WHERE b 1 AND c 1; ... DELETE FROM a WHERE b 1000 AND c 1000; 这种方法的优点是每…...
【Spring Boot】过滤敏感词的两种实现
文章目录 项目场景前置知识前缀树 实现方式解决方案一:读取敏感词文件生成前缀树构建敏感词过滤器1. 导入敏感词文件 src/main/resources/sensitive_words.txt2. 构建敏感词过滤器 SensitiveFilter3. 测试与使用 解决方案二:使用第三方插件 houbb/sensit…...
在 Zustand 中管理状态能使用类(Class)吗
在 Zustand 中,通常不推荐使用类(Class)来管理状态,因为 Zustand 的设计理念是基于函数式编程和 React Hooks 的。然而,仍然可以在 Zustand 中间接地使用类,但这并不是 Zustand 的典型用法。 如果确实想要…...
MoreTable 方法selectWithFun,count 使用实例
ORM Bee, example for MoreTable methods:selectWithFun,count ORM Bee时, MoreTable 方法selectWithFun,count 使用实例 package org.teasoft.exam.bee.osql;import org.teasoft.bee.osql.BeeException; import org.teasoft.bee.osql.FunctionType; import org.teasoft.be…...
【SpringBoot】在Spring中使用自定义条件类在Java声明Bean时实现条件注入
在Spring框架中,通过实现org.springframework.context.annotation.Condition接口并重写matches()方法,可以根据自定义条件来控制Bean的注入。这种机制非常灵活,可以帮助开发人员根据环境或配置来有选择地启用或禁用某些Bean。本文将详细介绍如…...
网卡聚合链路配置
创建名为mybond0的绑定,使用示例如下: # nmcli con add type bond con-name mybond0 ifname mybond0 mode active-backup添加从属接口,使用示例如下: # nmcli con add type bond-slave ifname enp3s0 master mybond0要添加其他从…...
PlantSimulation导入cad图作为背景
PlantSimulation导入cad图作为背景 首先要整理cad文件,正常的工艺规划总图中存在较多杂乱文件,这些信息是不需要的,如果直接导入,会非常卡。 1、打开cad软件,使用layon命令打开所有的隐藏图层,删除不需要…...
【大模型】个人对大模型选择的见解
选择大模型产品时,需要考虑多个因素,包括但不限于以下几点: 需求匹配度:首先,要明确你的需求是什么。不同的大模型产品可能在功能、性能、应用场景等方面有所侧重。例如,有的模型擅长自然语言处理ÿ…...
java的反射和python的鸭子类型
Java的反射(Reflection)和Python的鸭子类型(Duck Typing)感觉相似但又说不出具体的细节,本文借助kimi试图给出总结。 相似之处: 动态性:Java的反射允许程序在运行时查询、创建和修改类和对象的…...
爬虫工具yt-dlp
yt-dlp是youtube-dlp的一个fork,youtube-dlp曾经也较为活跃,但后来被众多网站屏蔽,于是大家转而在其基础上开发yt-dlp。yt-dlp的github项目地址为:GitHub - yt-dlp/yt-dlp: A feature-rich command-line audio/video downloaderA …...
【代码随想录训练营】【Day 50】【动态规划-9】| Leetcode 198, 213, 337
【代码随想录训练营】【Day 50】【动态规划-9】【需二刷】| Leetcode 198, 213, 337 需强化知识点 需二刷,打家劫舍系列 题目 198. 打家劫舍 class Solution:def rob(self, nums: List[int]) -> int:if len(nums) 1:return nums[0]dp [0] * (len(nums))dp…...
源码讲解kafka 如何使用零拷贝技术(zero-copy)
前言 kafka 作为一个高吞吐量的分布式消息系统,广泛应用与实时应用场景中。为了实现高效的数据传输,kafka使用了零拷贝技术(zero-copy)显著提高了性能。本文将详细讲解 Kafka 如何利用零拷贝技术优化数据传输。 什么是零拷贝 零拷贝技术目的是减少数据传输的效率。在传统…...
Ubuntu20.04配置qwen0.5B记录
环境简介 Ubuntu20.04、 NVIDIA-SMI 545.29.06、 Cuda 11.4、 python3.10、 pytorch1.11.0 开始搭建 python环境设置 创建虚拟环境 conda create --name qewn python3.10预安装modelscope和transformers pip install modelscope pip install transformers安装pytorch co…...
java自学阶段二:JavaWeb开发--day80(项目实战2之苍穹外卖)
《项目案例—黑马苍穹外卖》 目录: 学习目标项目介绍前端环境搭建(前期直接导入老师的项目,后期自己敲)后端环境搭建(导入初始项目,新建仓库使用git管理项目,新建数据库,修改登录功能ÿ…...
HPUX系统Oracle RAC如何添加ASM磁盘
前言 HPUX简介 HP-UX (Hewlett-Packard Unix) 是惠普公司开发的类 Unix 操作系统。自 1980 年代问世以来,HP-UX 在技术和功能上不断发展,适应了多种硬件平台和企业计算需求。以下是 HP-UX 的发展历史概述: 1980 年代:起源与早期…...
Jmeter 压力测测试的简单入门
下载安装 官方网站:Apache JMeter - Download Apache JMeter 下载完成解压即可。 配置 1. 找到 bin 目录下的 ApacheJMeter.jar 包,直接打开 如果向图片这样不能直接打开,就在此路径运行 CMD,然后输入下面的命令即可启动。 ja…...
vue基于springboot框架的社区医疗预约挂号平台的设计与实现
目录同行可拿货,招校园代理 ,本人源头供货商项目概述技术栈核心功能模块系统架构设计关键实现细节扩展性与优化方向项目技术支持源码获取详细视频演示 :同行可合作点击我获取源码->->进我个人主页-->获取博主联系方式同行可拿货,招校园代理 ,本人源头供货商…...
用STM32CubeMX和HAL库,5分钟搞定Nooploop TOFSense激光测距模块的串口通信
基于STM32CubeMX与HAL库的TOFSense激光测距快速开发指南 激光测距技术在工业自动化、机器人导航等领域应用广泛,而Nooploop的TOFSense模块凭借其高精度和小型化特点,成为许多嵌入式开发者的首选。本文将手把手带你使用STM32CubeMX和HAL库,在5…...
终极免费音频编辑解决方案:告别昂贵软件,用Audacity实现专业级音频处理
终极免费音频编辑解决方案:告别昂贵软件,用Audacity实现专业级音频处理 【免费下载链接】audacity Audio Editor 项目地址: https://gitcode.com/GitHub_Trending/au/audacity 还在为音频编辑软件的高昂费用而烦恼?是否曾因复杂的专业…...
别再只跑Demo了!用Mask R-CNN和Balloon数据集实战,手把手教你从训练到可视化调参
从Demo到实战:用Mask R-CNN深入掌握目标分割全流程 当你第一次运行Mask R-CNN的官方示例时,那种"成功运行"的喜悦往往伴随着隐约的不安——代码虽然跑通了,但你真的理解模型是如何训练的吗?Balloon数据集作为经典的入门…...
3分钟完成B站缓存视频转换:m4s-converter完整使用指南
3分钟完成B站缓存视频转换:m4s-converter完整使用指南 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾为B站视频下架后&…...
深入解析Safe智能合约钱包:架构、安全与开发实践
1. 项目概述:一个面向未来的智能合约钱包架构如果你在Web3领域待过一段时间,尤其是深度参与过以太坊生态的DApp开发或资产管理,那么你一定对“钱包”这个入口工具有着复杂的感情。一方面,它是我们通往链上世界的钥匙;另…...
使用Taotoken后Nodejs项目的大模型API延迟与用量观测体验
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 使用Taotoken后Nodejs项目的大模型API延迟与用量观测体验 1. 项目背景与接入动机 在Node.js项目中集成大模型能力时,开…...
OpenVINO AI音频插件:5个本地AI功能让你的Audacity变身专业音频工作室
OpenVINO AI音频插件:5个本地AI功能让你的Audacity变身专业音频工作室 【免费下载链接】openvino-plugins-ai-audacity A set of AI-enabled effects, generators, and analyzers for Audacity. 项目地址: https://gitcode.com/gh_mirrors/op/openvino-plugins-ai…...
从零构建卡牌游戏引擎:事件驱动架构与数据驱动设计实践
1. 项目概述:从零构建一个卡牌构筑游戏引擎最近在GitHub上看到一个挺有意思的项目,叫guladam/deck_builder_tutorial。光看名字,很多开发者,尤其是对游戏开发感兴趣的朋友,可能立刻就能会心一笑。没错,这正…...
