前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【CSS】绝对定位元素设置 水平 / 垂直 居中 ( 绝对定位元素居中设置 - 先偏移 50% 再回退子元素一半尺寸 | 绝对定位居中设置 )

【CSS】绝对定位元素设置 水平 / 垂直 居中 ( 绝对定位元素居中设置 - 先偏移 50% 再回退子元素一半尺寸 | 绝对定位居中设置 )

作者头像
韩曙亮
发布于 2023-04-16 06:28:56
发布于 2023-04-16 06:28:56
3.4K00
代码可运行
举报
运行总次数:0
代码可运行

一、问题提出


绝对定位 不能通过 设置 margin: auto; 样式的方式 , 设置盒子模型水平居中 ;

相对定位 的 盒子模型 , 并没有脱离标准流限制 , 仍然可以使通过设置 margin: auto; 样式的方式 令盒子水平居中 ;

举例说明 : 绝对定位 的元素 需要居中对齐的地方很多 , 如下图所示 , 右侧的 固定定位 按钮 , 需要在浏览器中居中对齐 , 轮播图中的 五个小圆点 的容器需要居中对齐 ;

二、绝对定位 居中设置


1、设置固定尺寸

使 绝对定位 元素 水平 / 垂直 居中 最简单的方法就是 使用标尺测量父容器的宽高 , 通过设置四个边的边偏移量 , 设置元素 水平 / 垂直 居中 ;

2、先偏移50%再回退固定值

父容器 盒子 如果尺寸发生了改变 , 使用上述固定边偏移的方式设置的居中就会出现问题 ;

先设置 50% 的 宽度 / 高度 偏移量 , 然后再往回退 盒子一半 宽度 / 高度 的偏移量 ;

以 水平居中为例 : 200 x 200 大小的盒子 , 通过设置

  • 首先 , 设置 left 左边偏移为 50% , 让子元素的左侧 移动到 父容器水平中心位置 ;
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
	left: 50%;
  • 然后 , 设置 负数的 左外边距 , 令 子元素 向左移动 自身 宽度的一半 , 需要提前测量 子元素的宽度 ;
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
	margin-left: -100px;

三、绝对定位元素 水平 / 垂直 居中


为 80x80 像素尺寸的元素设置 水平 / 垂直 居中 ;

  • 设置水平居中 : 先设置子元素左侧移动到水平中心位置 left: 50%; , 再设置 margin-left: -40px 向左移动 40 像素 ;
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
		/* 绝对定位元素 - 水平居中 */
		.top {
			/* 子元素设置绝对定位 父元素需要设置相对定位 */
			position: absolute;
			/* 该盒子在父容器左上角 */
			/* 上边偏移 0 紧贴顶部 */
			top: 0;
			/* 左边偏移 50% 左侧紧贴水平居中位置 */
			left: 50%;

			/* 再向做移动 40 像素, 水平居中 */
			margin-left: -40px;

			/* 内容尺寸 */
			width: 80px;
			height: 80px;

			background-color: blue;
		}
  • 设置垂直居中 : 先设置子元素顶部移动到父容器垂直中心位置 top: 50%; , 然后再向上移动 40 像素 ;
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
		/* 绝对定位元素 - 垂直居中 */
		.bottom {
			/* 子元素设置绝对定位 父元素需要设置相对定位 */
			position: absolute;
			/* 该盒子在父容器右下角 */
			/* 顶部移动到垂直中心位置 */
			top: 50%;
			/* 右边偏移 0 紧贴右侧 */
			right: 0;

			/* 垂直方向上 , 再向上走 40 像素 使得垂直居中 */
			margin-top: -40px;

			/* 内容尺寸 */
			width: 80px;
			height: 80px;

			background-color: red;
		}

代码示例 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>绝对定位示例</title>
	<style>
		/* 最外层 父容器盒子 */
		.box {
			/* 子元素设置绝对定位 父元素需要设置相对定位 */
			position: relative;

			/* 内容尺寸 通过测量图片获得 */
			width: 300px;
			height: 200px;

			/* 边框 1 像素实线 */
			border: 1px solid #ccc;
			/* 上下设置 100 像素外边距 水平居中 */
			margin: 100px auto;
			/* 子元素与 */
			padding: 10px;

			background-color: pink;
		}

		/* 标准流元素 */
		.center {
			width: 300px;
			height: 200px;

			background-color: purple;
		}

		/* 绝对定位元素 - 水平居中 */
		.top {
			/* 子元素设置绝对定位 父元素需要设置相对定位 */
			position: absolute;
			/* 该盒子在父容器左上角 */
			/* 上边偏移 0 紧贴顶部 */
			top: 0;
			/* 左边偏移 50% 左侧紧贴水平居中位置 */
			left: 50%;

			/* 再向做移动 40 像素, 水平居中 */
			margin-left: -40px;

			/* 内容尺寸 */
			width: 80px;
			height: 80px;

			background-color: blue;
		}

		/* 绝对定位元素 - 垂直居中 */
		.bottom {
			/* 子元素设置绝对定位 父元素需要设置相对定位 */
			position: absolute;
			/* 该盒子在父容器右下角 */
			/* 顶部移动到垂直中心位置 */
			top: 50%;
			/* 右边偏移 0 紧贴右侧 */
			right: 0;

			/* 垂直方向上 , 再向上走 40 像素 使得垂直居中 */
			margin-top: -40px;

			/* 内容尺寸 */
			width: 80px;
			height: 80px;

			background-color: red;
		}
	</style>
</head>
<body>
	<div class="box">
		<div class="top"></div>
		<div class="center"></div>
		<div class="bottom"></div>
	</div>
</body>
</html>

执行效果 :

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-04-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
【干货】前端开发者最常用的六款IDE
一、Visual Studio Code 下载地址:https://code.visualstudio.com/ 功能介绍: 微软在2015年4月30日Build 开发者大会上正式宣布了 Visual Studio Code 项目:一个运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器。 Visual Studio Code软件功能非常强大,界面简洁明晰、操作方便快捷,设计得很人性化。软件主要改进了文档视图,完善了对 Markdown的支持,
王小婷
2018/06/21
4.3K0
web前端 | 如何选择撸码神器
此篇文章,纯客观分析 顺便吹逼,老鸟和大神直接略过吧! 省的你们看到我写这个问题,再说我烦不烦啊,这问题都讨论了多少年了,甚至好多群里,一看到谁在讨论编辑器,就要送飞机票。
全栈程序员站长
2022/09/23
6500
web前端 | 如何选择撸码神器
前端开发工具的简单介绍
正所谓“工欲善其事,必先利其器”,对Web开发人员来说,好工具的使用总会给人带来事半功倍的效果。
YangAir
2020/02/12
1.7K0
VS code常用插件推荐(总结整理篇)
vscode是微软开发的的一款代码编辑器,就如官网上说的一样,vscode重新定义(redefined)了代码编辑器。当前市面上常用的轻型代码编辑器主要是:sublime,notepad++,editplus,atom这几种。比起notepad++、editplus,vscode集成了许多IDE才具有的功能,比起它们更像一个代码编辑器;比起sublime,vscode颜值更高,安装配置插件更为方便;比起atom,vscode启动速度更快,打开各种大文件不卡。可以说,vscode既拥有高自由度、又拥有高性能和高颜值,最关键的是,vscode还是一款免费并且有团队持续快速更新的代码编辑器。可以说,vscode是代码编辑器的首选。个人推荐编写前端代码时,代码编辑器选择vscode,IDE选择WebStorm。vscode安装插件只需要点击图片所示按钮,即可进入拓展,在搜索框中输入插件名点击安装后,等待安装好即可点击重新加载重启vscode使得插件生效。
孙叫兽
2021/07/05
2.2K0
VS code常用插件推荐(总结整理篇)
细数那些年我用过的前端开发工具
一:HBuilder 下载地址:http://www.dcloud.io/ 飞速编码的极客工具,大幅提升HTML、js、css的开发效率。 使用HTML5开发,然后使用HBuilder提供的云打包或本
王小婷
2018/06/04
1.1K0
【亲测】最好用的4个JavaScript编辑器
然后我在讲课的时候发现同学们用的编辑器各不相同,有的同学用的是editplus,有的甚至用的是老掉牙的DW,这我就不能忍受了,今天晚上给大家推荐几款比较Ok的编辑器。
web前端教室
2018/08/08
5.3K0
【亲测】最好用的4个JavaScript编辑器
想入门web前端开发,并且学好,你必须知道的十大开发工具
在网站制作和开发的过程中,其实有很多的辅助咱们开发的工具,使用这些工具会让咱们的开发更为方便,提高工作效率,从事开发第六个年头了,接下来为大家分享一些常用工具,专家建议:收藏一波!
用户5827212
2020/01/20
7640
哪些JavaScript IDE最好用?
阅读本文之前,分享大家一张图片,看图会发现JavaScript开发需求最高,占比达到42.84%,因此掌握JavaScript语言好工作就不愁啦,工欲善其事必先利其器,那么选择IDE来开发是至关重要的
葡萄城控件
2018/01/10
2.5K0
哪些JavaScript IDE最好用?
Web 开发的 5 大 IDE 🤩
如今,每个应用程序、网站、机器都通过出色的 UX/UI 变得更加用户友好。因此,有必要使用用户友好且出色的 UX/UI IDE来升级我们
玖柒的小窝
2021/09/12
2.6K0
Web 开发的 5 大 IDE 🤩
vscode 前端常用插件推荐「建议收藏」
  给括号加上不同的颜色,便于区分不同的区块,使用者可以定义不同括号类型和不同颜色
全栈程序员站长
2022/07/23
1.9K0
vscode 前端常用插件推荐「建议收藏」
前端开发写代码哪个软件更好用?
群里的朋友,经常问到web前端开发写代码用那个软件好?今天在这里统一回答下,主流的web前端开发写代码的软件有这些Webstorm、Vscode、Sublime Text、HBuilder、Dreamweaver、notepad++、editplus等,做前端这么多年了,下面谈下我的使用感受吧。
全栈程序员站长
2022/09/02
3.4K0
前端开发写代码哪个软件更好用?
2016 年的一些总结
2016 年总来的来说还是有所收获的吧。有很多可以说的,但是有觉得没什么营养。写不出高山,那就流水般地写着吧。
一缕殇流化隐半边冰霜
2023/06/09
2270
代码编辑器集合
各类语言的初学者会经常因为不同的编程语言该如何选择好用的编辑器而感到纠结,本文仅在博主角度上做出推荐和介绍,希望各位读者能找到自己喜欢的一款
Qicloud
2022/01/21
1.5K0
代码编辑器集合
VScode编辑器神插件!让你入门前端轻松打怪升级!
工欲善其事必先利其器,软件工程师每天打交道最多的可能就是编辑器了。入行几年来,先后折腾过的编辑器有 EditPlus、UltraEdit、Visual Studio、EClipse、WebStorm、Vim、SublimeText、Atom、VSCode。 每每上手新的编辑器,我都会根据自己的开发习惯把它调较到理想状态,加上熟悉编辑器各种特性,这个过程通常需要几周的时间。接下来,我就从外观配置、风格检查、编码效率、功能增强等 4 方面来侃侃怎么配置 VSCode 来提高工作幸福感。 外观配置 外观是最先考
腾讯NEXT学位
2018/05/14
2K0
前端插件以及部分细分网址梳理
图来源网络 前端插件以及部分细分网址梳理 插件 parallel.js: 前后端通用的一个并行库 zepto: 用于现代浏览器的兼容 jQuery 的库 totoro: 稳定的跨浏览器测试工具 TheaterJS: 一个用于模拟人输入状态的 JS 库 stellar.js: 前端用于实现异步滚动效果的库,现已不再维护 skrollr: 另一款实现一步滚动的开源库,使用人数众多,可实现各种狂拽酷炫掉渣天的前端效果,看真相 Framework7: 前端框架,是开发人员可以基于 web 技术构建 IOS7 程
企鹅号小编
2018/02/05
5.8K0
前端插件以及部分细分网址梳理
提高你的编码效率
市面的编辑工具五花八门,简单的有sublime, notepad++, vim, Atom等,复杂的有webstorm, pycharm,eclipse, visual studio, Android studio, xcode等。 每个编辑器各有千秋。
赵云龙龙
2019/09/05
1.8K0
提高你的编码效率
几款文本编辑器的试用体验
一直以来文本编辑器用了不少,一旦习惯了就不愿意轻易改动了。从emeditor,ultraeditor,notepad++这些工具用到如今,似乎已经习惯了ultraeditor的感觉,如果一定要在这些编辑器找到一个亮点,对我来说就是列编辑模式。 当然上面的工具大家很清楚,emditor,ultraeditor是要付费的,notepad++是免费的。实际上我们很多人用都似乎忽略了这个问题,好像本来就是免费的。 为什么会突然冒出来对于文本编辑器的想法呢,还是下午的时候调研web框架的时候,对于前端
jeanron100
2018/03/22
1.7K0
几款文本编辑器的试用体验
用什么软件写html语言,写html代码用什么软件
写html代码的软件:1、Sublime Text;2、Dreamweaver;3、WebStorm;4、HBuilder;5、Notepad;6、VSCode;7、Vim;8、Aptana Studio;9、IntelliJ IDEA。
全栈程序员站长
2022/09/02
8.5K0
用什么软件写html语言,写html代码用什么软件
工具武装的前端开发工程师
 这个仓库主要是收集非常好用的Mac应用程序、软件以及工具,主要面向开发者和设计师。有这个想法是因为可以查看微信公众号文章《工具武装的前端开发工程师》,于是建了这么一个仓库,持续更新作为补充,搜集更多好用的软件工具。请Star、Pull Request或者使劲搓它 issues 给我推荐优秀好用的Mac应用,很显然我是一个资深Mac用户,我需要它们帮助我快乐、高效的工作,同时也分享给你。
botkenni
2022/01/10
3.6K0
工具武装的前端开发工程师
html5编辑器有哪些
HBuilder是DCloud推出的一款支持HTML5的Web开发IDE。快,是HBuilder的最大优势,通过完整的语法提示和代码输入法、代码块等,大幅提升HTML、js、css的开发效率。同时,它还包括最全面的语法库和浏览器兼容性数据。
老K博客
2024/05/07
2250
html5编辑器有哪些
推荐阅读
相关推荐
【干货】前端开发者最常用的六款IDE
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档