CSS中使用flex弹性布局实现上下左右垂直居中排列并设置子元素之间的间距

2023-10-27

场景

Flex是Flexible Box的缩写,意为”弹性布局”。

怎样使用弹性布局实现页面上下两个元素上下左右垂直居中排列。

实现如下类似布局

 

最外层是是一个div,div里面是上面一个照片,下面一个表单,这两个元素居中排列。

注:

博客:
霸道流氓气质的博客_CSDN博客-C#,架构之路,SpringBoot领域博主
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

1、外层div设置样式

.login {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

2、display: flex; 设置为弹性布局

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

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

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

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

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

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

6、这样设置之后div里面上下两个元素就会居中

但是两个子元素会紧挨在一起,如果要使其有一定距离。

给下面的子元素设置margin-top属性即可

.login-form {
  margin-top: 100px;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSS中使用flex弹性布局实现上下左右垂直居中排列并设置子元素之间的间距 的相关文章

  • 如何为 HTML 元素创建鼠标拖动滑块?

    我发现的许多滑块插件要么仅单击以查看下一个图像 要么如果它们确实具有鼠标拖动或触摸拖动功能 则仅允许图像 有谁知道为任何 html 元素编写鼠标拖动滑块的插件或可能的方法 我专门使用 SVG 但将来如果能在 div 元素之间滑动就更好了 H
  • 如何在 select2 下拉列表中换行?

    我正在使用 select 2 下拉菜单 然后在其内容中显示一些长句子 我想在句子的正确位置添加换行符 但下拉菜单是自动调整的 For example the content of the dropdown right now looks l
  • 如何在不使用变换或顶部/左侧的情况下转换列表中项目的位置

    有一天我偶然发现一个例子 https codepen io itslit pen gvKrMY它使用 Vue js 但我的问题更多是关于 Vue 用于实现状态之间转换的 CSS 和 HTML 卡片暂时获得等级 shuffleMedium m
  • 先按行再按列布局 div

    我有一个容器div and 3 div里面如下 div div 1 div div 2 div div 3 div div 不知道每一个的内容div内部 但它们的高度和宽度是可变的 集装箱的高度由最高的决定div inside 我想展示这些
  • @media语法/可能的组合

    我见过其中一些 media print media screen handheld print projection media all media all and property value media screen and prope
  • 为 Angular2 中的组件加载多个样式表

    我正在构建一个 angular2 应用程序 当我尝试为同一组件加载多个样式表时 我面临多个问题 这是我正在做的代码 import Component from angular core Component selector my tag t
  • 如何选择具有“A”类但不具有“B”类的 div?

    我有一些 div div class A Target div div class A B NotMyTarget div div class A C NotMyTarget div div class A D NotMyTarget di
  • 表格行未扩展到全宽

    我有一个表格 当我将表格的宽度设置为 100 并将表格行的宽度设置为 100 时 没有任何反应或宽度发生变化 Table Normal position relative display block margin 10px auto pad
  • 将 CSS 网格中的文本放置在图像上方

    我有一个 CSS 网格 需要在图像上放置一些文本 下面显示了我使用的代码 图像上没有文字 sbp item12 grid row 6 7 grid column 9 13 height 250px div class sbp item12
  • 是否可以将一个 CSS 类的优先级设置为高于另一个 CSS 类的优先级?

    假设我有一个 div 它使用两个 css 类 这两个类都使用文本对齐 但一个居中 另一个右对齐 是否可以指定一个类别优先于另一个类别的内容 指定更具体的选择器 例如在其前面添加 ID 前缀或在类前面添加节点名 将其分配在其他班级之后 如果两
  • 使用jquery和javascript水平滑动div

    我正在尝试在 关于我们 页面中显示我的推荐 我在那里用 3divs水平样式可同时显示 3 个推荐 这里我想做的是我想添加一些滑动效果与查询消失 1st 3divs然后需要加载2nd 3divs与不同的推荐 等等 我做了HTML和CSS 但不
  • 挂钩 jQuery 验证消息更改

    我想在工具提示中显示 jQuery 验证消息 为了实现这一目标 我首先将以下 CSS 规则添加到我的样式表中 fieldset field validation error display none fieldset field valid
  • 如何使用 SVG 形状进行图像裁剪?

    任何人都可以指导我如何使用 SVG 独特的形状制作 CSS 图像剪辑路径 有些人建议使用第三方插件 例如 SVG Injector 等 任何人都可以帮助我如何完成这项适用于所有浏览器的任务 我给出了一张示例图片以使其更好地理解 请检查下图
  • 水平居中包含浮动 li 元素的

    我一直在尝试制作一个带有悬停下拉菜单的水平导航栏 我已经让它工作了 但是为了让 中的所有元素并排 水平 它们必须应用 float left 有什么办法让他们回到中心吗 另外 我的 CSS 编码风格 正确吗 我觉得我做错了 谢谢 HTML d
  • css 表格单元格,内容有不必要的上边距

    我在代码中使用 div 块的表格单元格排列 我的代码有问题 我的 html 的预览是here http jsbin com avozik 10 edit preview 当我的第一个面板中有任何内容 文本或图像 时 inner第二个和第三个
  • 阻止内容因 Bootstrap 中的重叠而被下推

    In a 上一个问题 https stackoverflow com questions 22293227 make an element overlap contents below it using bootstrap 22293428
  • SWC with JavaScript:如何处理 CSS 导入以及如何绝对导入?

    TL DR 如何告诉 SWC 编译 React 组件中导入的 CSS 文件 如何告诉 SWC 在测试和 React 组件中编译绝对导入 这是一个最小的可重现示例 https github com janhesters riteway swc
  • 纯CSS代码,没有绝对定位

    我试图想出一个纯CSS代码 就像你在电视上看到的那样 仅not粘在屏幕底部 我已经找到了涉及 JS 的东西 但我正在努力避免 JS 我还发现了一些其他人创建的纯 CSS 代码 但这些的问题在于它们都使用position absolute 这
  • 如何减少 jQuery 函数中使用的子级数量?

    我觉得我必须使用太多 children 在我的一些 jQuery 函数中 这是我的 HTML div class goal small container div class goal content div class goal row
  • CSS 变换函数顺序

    为什么以下之间的输出存在差异 transform translate 0 100px scale 2 2 and transform scale 2 2 translate 0 100px 第一条语句符合您 我 的期望 将元素向下移动 10

随机推荐

  • js 遍历数组取出字符串用逗号拼接

    var arr name abc name def function getTextByJs var str for let item of arr str arr name 去掉最后一个逗号 如果不需要去掉 就不用写 if str len
  • linux查询CPU信息几种方式

    CPU架构 CPU架构主要包括 amd64 arm32v7 arm64v8 mips64el mips32 ppc64le和ppc32等架构 CPU信息 CPU信息主要为中央处理器详细信息 包括 架构 核心数量 处理速度 厂商名称 CPU主
  • db2分页查询sql语句_08-Mybatis Plus分页及自定义SQL语句

    1 数据库的连接配置 首先我们要配置数据的连接等相关信息 因此我们需要在application properties文件中 增加如下定义 spring application name server page helperserver po
  • springboot如何区分测试环境、生产环境。分环境启动

    一 通过Maven打包时 将不同环境文件打入jar包来区分环境 然后直接启动jar包即可 1 pom xml文件project标签里面加入以下配置 环境关键字可以根据自己的习惯来改
  • C#基础代码笔记(二)

    文章目录 for循环嵌套 1 构造乘法表 2 构造加法表 循环练习 1 计算年龄平均值 2 登录账户 3 连加计算 4 计算百内质数 5 随机数 枚举 枚举类型格式 强制转换枚举类型 结构体 结构体与枚举类型混用 结构体练习 1 混合颜色调
  • 填充阴影线(45°细线、剖面线)——Visio制图总结(五)

    本文旨在解决图形填充阴影线问题 机械制图中又称剖面线 用以表示物体剖开的面 填充线条的差异表征了材质的不同 效果图 实现步骤 1 选中封闭的图形 比如矩形 线段围成的图形需封闭 右键打开设置形状格式 2 找到设置形状格式中的填充面板 在模式
  • 线程池必须是单例模式

    线程池一定要在合理的单例模式下才有效 工作中我发现有些同学将线程池的创建方法放在services方法里面去创建线程池 这是不可以的 因为每当这个方法被调用的时候不是创建多少个线程的问题了 而是创建出来了一大堆线程池
  • Redis键值类型<key value> 以及键的使用注意事项

    Redis的常用键值对 Redis的键值对 Redis是以键值 Key Value 为基础 支持不同类型值 value 的数据结构服务器 在传统键值存储中 一般将字符串键与字符串值相关联 而在Redis中 该值不仅限于简单的字符串 还可以容
  • web前端技术笔记(八)屏幕适配、移动端布局

    屏幕适配 移动端与PC端页面布局区别 视口 视网膜屏幕 retina屏幕 清晰度解决方案 适配布局类型 PC及移动端页面适配方法 流体布局 响应式布局 基于rem的布局 流体布局案例 不常用 rem布局案例 CSS3 浏览器前缀 浏览器样式
  • 【mysql+tableau实战】电商用户行为数据分析

    正文共3289字 今年2月做的项目 为了求职又梳理了一遍 希望能进一步提升自己的数据分析思维 博客名字改失败了 得4月中旬才能修改 cry 目录 一 前期准备 一 数据集下载 二 软件下载 1 kettle 2 mysql8 0 3 tab
  • Grafana任意文件读取

    Grafana任意文件读取 漏洞描述 Grafana存在任意文件读取漏洞 通过默认存在的插件 可构造特殊的请求包读取服务器任意文件 影响版本 Grafana 8 x 漏洞复现 POC HTTP XXX XXX XXX XXX public
  • linux频繁读写i2c,ZYNQ7020 在Linux下I2C频繁读取导致系统崩溃

    I2C连续频繁读取单字节 读取频率20hz 每次读写20次 每次需要读取不同地址单字节 系统崩溃前多次出现i2c连接超时错误 一款传感器芯片 崩溃时间不定 几个小时崩溃 有时几分钟崩溃 cdns i2c e0004000 i2c timeo
  • Process finished with exit code 137 (interrupted by signal 9: SIGKILL)

    程序争取运行结束的提示是 Process finished with exit code 0 如果程序出现Process finished with code 137 interrupted by signal 9 SIGKILL 程序并没
  • selenium webdriver (python)的基本用法一

    前言 对于大多软件测试人员来讲缺乏编程经验 指项目开发经验 大学的 C 语言算很基础 的编程知识 一直是难以逾越的鸿沟 并不是说测试比开发人员智商低 是国内的大多测试 岗位是功能测试为主 在工作时间中 我们很难深入的接触和使用编程技术 笔者
  • [Python人工智能] 十六.Keras环境搭建、入门基础及回归神经网络案例

    从本专栏开始 作者正式研究Python深度学习 神经网络及人工智能相关知识 前一篇文章详细讲解了无监督学习Autoencoder的原理知识 然后用MNIST手写数字案例进行对比实验及聚类分析 这篇文章将开启Keras人工智能的学习 主要分享
  • 共享虚拟主机是不是服务器,共享虚拟主机是什么意思

    共享虚拟主机是什么意思 发布时间 2020 10 15 16 49 47 来源 亿速云 阅读 69 作者 Leah 栏目 云计算 这篇文章将为大家详细讲解有关共享虚拟主机是什么意思 文章内容质量较高 因此小编分享给大家做个参考 希望大家阅读
  • 微信小程序开发之详解生命周期方法

    生命周期是指一个小程序从创建到销毁的一系列过程 在小程序中 通过App 来注册一个小程序 通过Page 来注册一个页面 先来看一张小程序项目结构 根目录下面有包含了app js app wxss app json三个文件 这是小程序的全局文
  • c++模板的成员模板

    成员模板 成员模板 一个类 无论是普通类还是模板类 可以包含本身是模板的成员函数 成员模板不能是虚函数 普通类的成员模板 class DebugDelete public DebugDelete std ostream s std cerr
  • 在一定范围内的 Hash 爆破尝试

    爆破 SHA1 import hashlib cipher 6E32D0943418C2C33385BC35A1470250DD8923A9 lower for i in range 49 58 for j in range 48 58 f
  • CSS中使用flex弹性布局实现上下左右垂直居中排列并设置子元素之间的间距

    场景 Flex是Flexible Box的缩写 意为 弹性布局 怎样使用弹性布局实现页面上下两个元素上下左右垂直居中排列 实现如下类似布局 最外层是是一个div div里面是上面一个照片 下面一个表单 这两个元素居中排列 注 博客 霸道流氓