css水平居中的几种方法

news2025/7/17 10:41:57

实现方法

  • 实现方法:
    • 定位 position + 偏移值 left + margin-left 回退
    • 定位 position + 偏移值 left + CSS-2d transform
    • 文字居中:text-align:center; + 行内块元素
    • 弹性布局: display:flex; [推荐]

实现方法:

1、添加 margin 值 auto
2、定位 position(子绝父相) + 偏移值 left + margin-left 回退 [ 需要计算,有点 麻烦 ]
3、定位 position(子绝父相) + 偏移值 left + CSS-2d transform
4、文字居中 text-align:center; + 行内块元素
5、弹性盒子布局 [ 推荐 ]

代码实现:

<div class="box">
	<div class="box1"></div>
</div>
.box{
	width: 500px;
	height: 300px;
	background-color: aquamarine;
}
.box1{
	width: 200px;
	height: 100px;
	background-color: lightpink;
}

接下来,将使用这个例子来测试上面提到的几种实现水平居中的方法以及记录解决测试过程中出现的一些小问题…

添加margin值(外边距):margin:auto;

.box1{
 	width: 200px;
 	height: 100px;
 	background-color: lightpink;
 	margin: auto;
}

![在这里插入图片描述](https://img-blog.csdnimg.cn/5c204ba92c4045eeb5e53b0e4547e0b1.png在这里插入图片描述

拓展注意点:

   如果需要小盒子上下也有一定边距,可以修改margin设置:margin:100px auto;

效果图:
![在这里插入图片描述](https://img-blog.csdnimg.cn/59f2885db7e946d9b098d31735f34505.png在这里插入图片描述

从上面效果图可以发现:两个盒子同时向下移动

这种情况的出现是由 margin塌陷 导致的

那么,该如何解决这种问题呢?

这里,可以将父元素box变为BFC:overflow: hidden; [ 注意不是超出隐藏的作用 ]

效果图:
![在这里插入图片描述](https://img-blog.csdnimg.cn/49ce1b4ed3234000a5d50eb7255c8fa6.png在这里插入图片描述

定位 position + 偏移值 left + margin-left 回退

.box{
 		width: 500px;
 		height: 300px;
 		background-color: aquamarine;
 		position: relative;
}
.box1{
 		width: 200px;
 		height: 100px;
 		background-color: lightpink;
 		position: absolute;
 		/* 相对父级宽度50% */
 		left: 50%;
 		margin-left: -100px;
}

注意点:

只设置left: 50%;并不能实现水平居中的效果:
如果想让小盒子水平居中 ,需要向左移动小盒子本身的宽度一半的距离:margin-left: -100px;

在这里插入图片描述

定位 position + 偏移值 left + CSS-2d transform

.box{
 	width: 500px;
 	height: 300px;
 	background-color: aquamarine;
 	position: relative;
}
.box1{
 	width: 200px;
 	height: 100px;
 	background-color: lightpink;
 	position: absolute;
 	left: 50%;
 	transform: translateX(-50%);
}

注意点:

left: 50%; 与 transform: translateX(-50%); 中的 50% 代表的意义不一样:
left: 50%; :相对于父元素box的宽度
transform: translateX(-50%); :相对于自己box1的宽度
效果图:

在这里插入图片描述

文字居中:text-align:center; + 行内块元素

.box{
 	width: 500px;
 	height: 300px;
 	background-color: aquamarine;
 	text-align: center;
}
.box1{
 	width: 200px;
 	height: 100px;
 	background-color: lightpink;
 	display: inline-block;
}

注意点:

如果仅使用 text-align:center; 是无法达到水平居中的效果的,为什么?

text-align:center; 需要在行内块元素上使用的,而盒子是块级元素,所以,需要将盒子转换为行内块元素 text-align:center; 才能生效。

效果图:
在这里插入图片描述

弹性布局: display:flex; [推荐]

.box{
 	width: 500px;
 	height: 300px;
 	background-color: aquamarine;
 	display: flex;
 	/*主轴-x轴:居中*/
 	justify-content: center;
}
.box1{
 	width: 200px;
 	height: 100px;
 	background-color: lightpink;
}

效果图:
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]计算机毕业设计JAVA电影影评网

[附源码]计算机毕业设计JAVA电影影评网 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Mav…

企业 SDLC 安全生命周期管理

最近看了很多SDLC的东西&#xff0c;把其中比较重要关键的记录一下&#xff0c;用简洁的语言说清楚 0x01 SDL 介绍 SDL是微软提出的一种软件开发安全生命周期管理的一种最佳安全实践&#xff0c;全称为Security Development Lifecycle 0x02 为什么要SDL 目的是为了从安全漏…

硕士论文阅读——基于机器视觉和深度学习的工人安全帽检测与身份识别方法

文章目录零、摘要一、绪论1、背景与研究意义2、国内外研究现状&#xff08;1&#xff09;安全帽佩戴检测研究现状与不足&#xff08;2&#xff09;身份识别研究现状与不足&#xff08;3&#xff09;基于深度学习的目标检测二、深度学习目标检测理论1、卷积神经网络&#xff08;…

jQuery基础

目录 jQyery简介 获取jQuery jQuery基本语法 1.使用jQuery弹出提示框 2.$(document).ready()与window.onload的区别 jQuery选择器 jQuery层次选择器 jQyery简介 jQuery由美国人John Resig于2006年创建。jQuery是目前最流行的JavaScript程序&#xff0c;它是对JavaScript对…

Windows OpenGL 图像灰度图

目录 一.OpenGL 图像灰度图 1.原始图片2.效果演示 二.OpenGL 图像灰度图源码下载三.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 特效 零基础 OpenGL ES …

27k入职阿里测试岗那天,我哭了,这5个月付出的一切总算没有白费~

先说一下自己的个人情况&#xff0c;计算机专业&#xff0c;16年普通二本学校毕业&#xff0c;经历过一些失败的工作经历后&#xff0c;经推荐就进入了华为的测试岗&#xff0c;进去才知道是接了个外包项目&#xff0c;不太稳定的样子&#xff0c;可是刚毕业谁知道什么外包不外…

Linux任务调度

基本原理&#xff1a; crontab [选项] -e 编辑crontab定时任务 -l 查询crontab任务 -r 删除当前用户所有的crontab任务 快速入门 设置任务调度文件: /etc/crontab 设置个人任务调度。执行crontab -e命令。 接…

100道Spring面试题以及参考答案(2022年最新版)

77道Spring面试题以及参考答案&#xff08;2022年最新版&#xff09;&#xff0c;分享给大家~ 一、Spring概述 1. 什么是spring&#xff1f; Spring是一个轻量级Java开发框架&#xff0c;最早有Rod Johnson创建&#xff0c;目的是为了解决企业级应用开发的业务逻辑层和其他各…

netstat命令应用和ifconfig命令应用

记录: 318 场景: 在CentOS 7.9操作系统上&#xff0c;使用netstat命令监控和查看TCP/IP等网络信息&#xff1b;使用ifconfig命令查看IP地址等网络信息。 版本: 操作系统: CentOS 7.9 1.基础环境 在CentOS 7.9操作系统&#xff0c;使用netstat命令和ifconfig命令&#xff…

Linux之LNMP离线安装

一、需求说明 LNMP一键安装包对于小型系统部署来说真的是非常方便&#xff0c;日常工作中除了在线安装&#xff0c;也存在部分场景要求离线安装。比如内网专网、严格限制访问外网的网络等&#xff0c;有些院校的实验室就是这种情况&#xff0c;需要使用光盘来完成系统的部署安装…

2022年认证杯SPSSPRO杯数学建模C题(第二阶段)污水流行病学原理在新冠疫情防控方面的作用求解全过程文档及程序

2022年认证杯SPSSPRO杯数学建模 C题 污水流行病学原理在新冠疫情防控方面的作用 原题再现&#xff1a; 2019 年新型冠状病毒肺炎疫情暴发至今已过两年&#xff0c;新型冠状病毒历经多次变异&#xff0c;目前已有 11 种变异毒株&#xff0c;包括阿尔法、贝塔、德尔塔、奥密克戎…

Optional详解

一 有什么用 对象的NPE处理简化if else代码 二 怎么用 Optional 就好像是一个包装类&#xff0c;可以把具体的数据封装到 Optional 对象内部&#xff0c;然后我们去使用 Optional 中封装好的方法操作封装进去的数据就可以非常优雅的避免空指针异常 2.1 创建Optional对象 O…

CellMarker 2.0 | 细胞标志物数据库更新啦!~(附使用指南)

1写在前面 细胞标志物&#xff08;Cellmarker&#xff09;可以用来定义、区别不同细胞。随着单细胞测序&#xff08;scRNA-seq&#xff09;的普及&#xff08;主要是便宜了&#x1f4c9;&#xff09;&#xff0c;相关的研究也越来越多。&#x1f973; 在进行细胞注释的时候&…

【菜菜的sklearn课堂笔记】逻辑回归与评分卡-二元逻辑回归损失函数的数学解释,公式推导与解惑

视频作者&#xff1a;菜菜TsaiTsai 链接&#xff1a;【技术干货】菜菜的机器学习sklearn【全85集】Python进阶_哔哩哔哩_bilibili 白板推导里有写过程&#xff0c;但是当时理解的不太好&#xff0c;ψ(xi,ω)\psi(x_{i},\omega)ψ(xi​,ω)的理解有点问题也就是下面的yθ(xi)y_…

Docker(二):Windows系统安装Docker

安装环境 在安装之前&#xff0c;Windows 版 Docker 的环境有以下要求&#xff1a; 1、Windows 10 Pro&#xff08;专业版&#xff09; / Enterprise&#xff08;企业版&#xff09; / Education&#xff08;教育版&#xff09;&#xff08;1607 Anniversary Update、Build 14…

Vue3路由——基本使用、动态路由、路由正则、重复参数、嵌套路由、编程式导航、命名路由、重定向、别名、路由模式与导航守卫

文章目录P23 Vue3路由的基本使用P24 动态路由和404NotFound动态路由404NotFoundp25 路由正则与重复参数路由正则重复参数p26 嵌套路由p27 使用js跳转页面(编程式导航)p28 命名路由与重定向别名命名路由重定向别名p29 路由模式与导航守卫P23 Vue3路由的基本使用 npm init vite-…

[附源码]java毕业设计基于的花店后台管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

《Nature》STING 与 cGAMP 结合导致 TBK1 激酶募集和活化

来自细菌或病毒的核酸在受感染的细胞中会产生强效的免疫反应&#xff0c;而病原体衍生核酸的检测是宿主感知感染并启动保护性免疫反应的核心策略。cGAS (Cyclic GMP-AMP synthase) 是一种双链 DNA 传感器&#xff0c;可催化 cGAMP&#xff08;cyclic GMP-AMP&#xff09;的合成…

中间件简介

中间件简介 1. 中间件概述 随着网络和软件技术的飞速发展&#xff0c;软件面临更多的问题&#xff0c;例如&#xff1a;不同的操作系统、不同的网络环境等。在每个软件中解决这些问题加大了软件开发人员的负担&#xff0c;因此倾向于将这些具有广泛应用的共性功能提取出来&am…

【离散数学】第二章 测试

1.单选题 谓词推理要 A. 先US&#xff0c;后ES B. 先ES&#xff0c;后US 正确答案&#xff1a; B 2.单选题 前提: (∀x)(F(x)→G(x))&#xff0c;(∃x)F(x)&#xff0c; 结论: (∃x)G(x)。 A. 成立 B. 不成立 正确答案&#xff1a; A 3.单选题 根据ES规则&#xff0c;若(∃x)P(…