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

56、如何快速让⼀个盒⼦⽔平垂直居中

在网页开发中,有多种方式能让一个盒子实现水平垂直居中。下面为你介绍几种常见且快速的方法。

1. 使用 Flexbox 布局

Flexbox 是一种非常便捷的布局模型,能够轻松实现元素的水平和垂直居中。

 

html

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><style>.parent {display: flex;justify-content: center;align-items: center;width: 300px;height: 300px;background-color: lightblue;}.child {width: 50px;height: 50px;background-color: lightcoral;}</style><title>Flexbox 居中</title>
</head><body><div class="parent"><div class="child"></div></div>
</body></html>

 

在上述代码中,通过将父元素的 display 属性设置为 flex,使其成为一个弹性容器。justify-content: center 实现了子元素在水平方向上的居中,align-items: center 实现了子元素在垂直方向上的居中。

2. 使用绝对定位和负边距

此方法利用绝对定位和负边距来达成元素的水平垂直居中。

 

html

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><style>.parent {position: relative;width: 300px;height: 300px;background-color: lightblue;}.child {position: absolute;top: 50%;left: 50%;width: 50px;height: 50px;margin-top: -25px;margin-left: -25px;background-color: lightcoral;}</style><title>绝对定位和负边距居中</title>
</head><body><div class="parent"><div class="child"></div></div>
</body></html>

 

这里,父元素的 position 属性被设置为 relative,作为子元素绝对定位的参考。子元素通过 top: 50% 和 left: 50% 把左上角定位到父元素的中心,再利用负边距(值为自身宽度和高度的一半)将其向上和向左移动,从而实现水平垂直居中。不过,这种方法要求子元素的宽度和高度是固定的。

3. 使用绝对定位和 transform 属性

借助绝对定位和 transform 属性也能实现元素的水平垂直居中。

 transform: translate(-50%, -50%); 意味着元素会在 X 轴和 Y 轴上分别向左和向上移动自身宽度和高度的 50%。

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><style>.parent {position: relative;width: 300px;height: 300px;background-color: lightblue;}.child {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);width: 50px;height: 50px;background-color: lightcoral;}</style><title>绝对定位和 transform 居中</title>
</head><body><div class="parent"><div class="child"></div></div>
</body></html>

 

父元素的 position 属性设为 relative,子元素通过 top: 50% 和 left: 50% 把左上角定位到父元素的中心,transform: translate(-50%, -50%) 则将子元素向上和向左移动自身宽度和高度的一半,实现水平垂直居中。这种方法不要求子元素的宽度和高度固定。

4. 使用 Grid 布局

Grid 布局是一种强大的二维布局模型,也能轻松实现元素的水平垂直居中。

 

html

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><style>.parent {display: grid;place-items: center;width: 300px;height: 300px;background-color: lightblue;}.child {width: 50px;height: 50px;background-color: lightcoral;}</style><title>Grid 居中</title>
</head><body><div class="parent"><div class="child"></div></div>
</body></html>

 

通过将父元素的 display 属性设置为 grid,使其成为一个网格容器。place-items: center 同时实现了子元素在水平和垂直方向上的居中。

相关文章:

56、如何快速让⼀个盒⼦⽔平垂直居中

在网页开发中&#xff0c;有多种方式能让一个盒子实现水平垂直居中。下面为你介绍几种常见且快速的方法。 1. 使用 Flexbox 布局 Flexbox 是一种非常便捷的布局模型&#xff0c;能够轻松实现元素的水平和垂直居中。 html <!DOCTYPE html> <html lang"en"&…...

互联网大厂Java面试:Spring Cloud与微服务的奇妙之旅

互联网大厂Java面试&#xff1a;Spring Cloud与微服务的奇妙之旅 在一家知名的互联网公司&#xff0c;一位严肃且专业的面试官正准备对求职者进行技术考察。而这次的应聘者&#xff0c;是自称拥有丰富经验但实际上却是个搞笑的水货程序员——马飞机。接下来&#xff0c;我们将…...

BDO分厂积极开展“五个一”安全活动

BDO分厂为规范化学习“五个一”活动主题&#xff0c;按照“上下联动、分头准备 、差异管理、资源共享”的原则&#xff0c;全面激活班组安全活动管理新模式&#xff0c;正在积极开展班组安全活动&#xff0c;以单元班组形式对每个班组每周组织一次“五个一”安全活动。 丁二醇单…...

[Redis]1-高效的数据结构P2-Set

按照惯例&#xff0c;先丢一个官网文档链接。 上篇我们已经了解了高效的数据结构P1-String与Hash。 这篇&#xff0c;我们继续来了解Redis的 Set 与 Sorted set。 目录 有序集合 Sorted set底层实现 集合 Set总结资料引用 有序集合 Sorted set Redis 有序集合是一组唯一的字符…...

在ubuntu20.04上安装ros2

1&#xff0c;更新系统并安装依赖 sudo apt update sudo apt upgrade sudo apt install curl gnupg2 lsb-release2&#xff0c;增加ROS2仓库配置 echo "deb [archamd64] https://packages.ros.org/ros2/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/ros…...

用ffmpeg 实现拉取h265的flv视频转存成264的mp4 实现方案

参考文章 支持 flvh265 的ffmpeg编译安装_demuxer flvhevc异常-CSDN博客 windwos有别人编译好的 支持HEVC/H265 RTMP播放的FFMPEG/FFPLAY WINDOWS版本 但是linux没有所以得自己编译 1.需要对ffmpeg进行源码修改 这里使用 https://github.com/numberwolf/FFmpeg-QuQi-H265-…...

解决“驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接“问题

参考链接: https://blog.csdn.net/yyj12138/article/details/123073146...

[密码学实战]基于Python的国密算法与通用密码学工具箱

引言 在当今数字化浪潮中,信息安全已成为个人隐私保护与商业机密守护的核心议题。作为一位在密码学领域深耕多年的技术实践者,我深谙密码学工具在构建数字安全防线中的关键作用。正是基于这份认知与责任,我倾力打造了一款全方位、高性能的密码学工具,专为满足广大用户在日…...

论文降重GPT指令-实侧有效从98%降低到8%

步骤1&#xff1a;文本接收 指令&#xff1a; 请用户提供需要优化的文本内容。 对文本进行初步分析&#xff0c;识别文本的基本结构和风格。 操作&#xff1a; 接收并分析用户提交的文本。 步骤2&#xff1a;文本优化 2.1 连接词处理 指令&#xff1a; 删除或替换连接词&#x…...

Compose Multiplatform Android Logcat工具

一、通过adb发送指令&#xff0c;收集设备日志并保存 二、UI 三、代码 /*** 获取设备列表*/fun getDevices(): List<String> {val process ProcessBuilder("adb", "devices").redirectErrorStream(true).start()val output process.inputStream.…...

[渗透测试]渗透测试靶场docker搭建 — —全集

[渗透测试]渗透测试靶场docker搭建 — —全集 对于初学者来说&#xff0c;仅仅了解漏洞原理是不够的&#xff0c;还需要进行实操。对于公网上的服务我们肯定不能轻易验证某些漏洞&#xff0c;否则可能触犯法律。这是就需要用到靶场。 本文主要给大家介绍几种常见漏洞对应的靶场…...

JavaScript 渲染内容爬取:Puppeteer 入门

在现代网络应用中&#xff0c;许多网页内容是通过 JavaScript 渲染生成的&#xff0c;传统的爬虫工具往往难以获取这些动态内容。Puppeteer 作为一种强大的浏览器自动化工具&#xff0c;为这一问题提供了优雅的解决方案。本文将带你入门 Puppeteer&#xff0c;介绍如何安装、启…...

Ubuntu 系统下安装和使用性能分析工具 perf

在 Ubuntu 系统下安装和使用性能分析工具 perf 的步骤如下&#xff1a; 1. 安装 perf perf 是 Linux 内核的一部分&#xff0c;通常通过安装 linux-tools 包获取&#xff1a; # 更新软件包列表 sudo apt update# 安装 perf&#xff08;根据当前内核版本自动匹配&#xff09; …...

神经网络:从基础到应用,开启智能时代的大门

在当今数字化时代&#xff0c;神经网络已经成为人工智能领域最热门的技术之一。从语音识别到图像分类&#xff0c;从自然语言处理到自动驾驶&#xff0c;神经网络的应用无处不在。它不仅改变了我们的生活方式&#xff0c;还为各个行业带来了前所未有的变革。本文将带你深入了解…...

人工智能-机器学习(线性回归,逻辑回归,聚类)

人工智能概述 人工智能分为:符号学习&#xff0c;机器学习。 机器学习是实现人工智能的一种方法&#xff0c;深度学习是实现机器学习的一种技术。 机器学习&#xff1a;使用算法来解析数据&#xff0c;从中学习&#xff0c;然后对真实世界中是事务进行决策和预测。如垃圾邮件检…...

密码明文放在请求体是否有安全隐患?

明文密码放在请求体中是有安全隐患的&#xff0c;但这个问题可以被控制和缓解&#xff0c;关键在于是否采取了正确的安全措施。 ⚠️ 为什么明文密码有风险&#xff1f; 中间人攻击&#xff08;MitM&#xff09;&#xff1a; 如果使用 HTTP 明文传输&#xff0c;攻击者可以在数…...

EMQX学习笔记

MQTT简介 MQTT是一种基于发布订阅模式的消息传输协议 消息&#xff1a;设备和设备之间传输的数据&#xff0c;或者服务和服务之间传输的数据 协议&#xff1a;传输数据时所遵循的规则 轻量级&#xff1a;MQTT协议占用的请求源较少&#xff0c;数据报文较小 可靠较强&#xff…...

探寻Gson解析遇到不存在键值时引发的Kotlin的空指针异常的原因

文章目录 一、问题背景二、问题原因三、问题探析Kotlin空指针校验Gson.fromJson(String json, Class<T> classOfT)TypeTokenGson.fromJson(JsonReader reader, TypeToken<T> typeOfT)TypeAdapter 和 TypeAdapterFactoryReflectiveTypeAdapterFactoryRecordAdapter …...

冰川流域提取分析——ArcGIS pro

一、河网提取和流域提取视频详细GIS小熊 || 6分钟学会水文分析—河网提取&#xff08;以宜宾市为例&#xff09;_哔哩哔哩_bilibili 首先你要生成研究区域DEM&#xff0c;然后依次是填洼→流向→流量→栅格计算器→河网分级→栅格河网矢量化&#xff08;得到河网.shp&#xff…...

wordpress 垂直越权(CVE=2021-21389)漏洞复现详细教程

关于本地化搭建vulfocus靶场的师傅可以参考我置顶文章 KALI搭建log4j2靶场及漏洞复现全流程-CSDN博客https://blog.csdn.net/2301_78255681/article/details/147286844 描述: BuddyPress 是一个用于构建社区站点的开源 WordPress 插件。在 7.2.1 之前的 5.0.0 版本的 BuddyP…...

MySQL 线上大表 DDL 如何避免锁表(pt-online-schema-change)

文章目录 1、锁表问题2、pt-online-schema-change 原理3、pt-online-schema-change 实战3.1、准备数据3.2、安装工具3.3、模拟锁表3.4、解决锁表 1、锁表问题 在系统研发过程中&#xff0c;随着业务需求千变万化&#xff0c;避免不了调整线上MySQL DDL数据表的操作&#xff0c…...

uni-app 状态管理深度解析:Vuex 与全局方案实战指南

uni-app 状态管理深度解析&#xff1a;Vuex 与全局方案实战指南 一、Vuex 使用示例 1. 基础 Vuex 配置 1.1 项目结构 src/ ├── store/ │ ├── index.js # 主入口文件 │ └── modules/ │ └── counter.js # 计数器模块 └── main.js …...

剑指offer经典题目(五)

目录 栈相关 二叉树相关 栈相关 题目一&#xff1a;定义栈的数据结构&#xff0c;请在该类型中实现一个能够得到栈中所含最小元素的 min 函数&#xff0c;输入操作时保证 pop、top 和 min 函数操作时&#xff0c;栈中一定有元素。OJ地址 图示如下。 主要思想&#xff1a;我们…...

3、排序算法1---按考研大纲做的

一、插入排序 1、直接插入排序 推荐先看这个视频 1.1、原理 第一步&#xff0c;索引0的位置是有序区&#xff08;有序区就是有序的部分&#xff0c;刚开始就只有第一个数据是有序的&#xff09;。第二步&#xff0c;将第2个位置到最后一个位置的元素&#xff0c;依次进行排…...

llama-webui docker实现界面部署

1. 启动ollama服务 [nlp server]$ ollama serve 2025/04/21 14:18:23 routes.go:1007: INFO server config env"map[OLLAMA_DEBUG:false OLLAMA_FLASH_ATTENTION:false OLLAMA_HOST: OLLAMA_KEEP_ALIVE:24h OLLAMA_LLM_LIBRARY: OLLAMA_MAX_LOADED_MODELS:4 OLLAMA_MAX_…...

jinjia2将后端传至前端的字典变量转换为JS变量

后端 country_dict {AE: .amazon.ae, AU: .amazon.com.au} 前端 const country_list JSON.parse({{ country_list | tojson | safe }});...

如何深入理解引用监视器,安全标识以及访问控制模型与资产安全之间的关系

一、核心概念总结 安全标识(策略决策的 “信息载体) 是主体&#xff08;如用户、进程&#xff09;和客体&#xff08;如文件、数据库、设备&#xff09;的安全属性&#xff0c;用于标记其安全等级、权限、访问能力或受保护级别&#xff0c;即用于标识其安全等级、权限范围或约束…...

Linux的Socket开发补充

是listen函数阻塞等待连接&#xff0c;还是accept函数阻塞等待连接&#xff1f; 这两个函数的名字&#xff0c;听起来像listen一直在阻塞监听&#xff0c;有连接了就accept&#xff0c;但其实不是的。 调用listen()后&#xff0c;程序会立即返回&#xff0c;继续执行后续代码&a…...

Flutter异常Couldn‘t find dynamic library in default locations

Flutter项目在Windows系统使用ffigen生成代码时报下面的错误&#xff1a; [SEVERE] : Couldnt find dynamic library in default locations. [SEVERE] : Please supply one or more path/to/llvm in ffigens config under the key llvm-path. Unhandled exception: Exception: …...

Spring-AOP分析

Spring分析-AOP 1.案例引入 在上一篇文章中&#xff0c;【Spring–IOC】【https://www.cnblogs.com/jackjavacpp/p/18829545】&#xff0c;我们了解到了IOC容器的创建过程&#xff0c;在文末也提到了AOP相关&#xff0c;但是没有作细致分析&#xff0c;这篇文章就结合示例&am…...