元素居中是日常开发和学习中最常见的问题,同时也是面试中经常考察的知识点,本文来总结一下这方面的知识点。
(1)子父元素宽度固定,子元素设置 margin:auto,并且子元素不能设置浮动,否则居中失效。
<div class="wrap"> <div class="inner"></div> </div> <style> .wrap { width: 500px; background-color: skyblue; } .inner { width: 200px; height: 100px; background-color: sandybrown; margin: auto; } </style>
(2)子父元素宽度固定,父元素设置 text-align:center,子元素设置display:inline-block,并且子元素不能设置浮动,否则居中失效。
<div class="wrap"> <div class="inner"></div> </div> <style> .wrap { width: 500px; background-color: skyblue; text-align: center; } .inner { width: 200px; height: 100px; display: inline-block; background-color: sandybrown; } </style>
(1)子父元素宽高度固定,子元素相对于父元素绝对定位(子绝父相),子元素 top,left 设置 50%,子元素 margin-top 和 margin-left 减去各自宽高的一半或者 transform :translate(-50%,-50%)。
<div class="wrap"> <div class="inner"></div> </div> <style> .wrap { width: 500px; height: 200px; background-color: skyblue; position: relative; } .inner { width: 200px; height: 100px; background-color: sandybrown; position: absolute; top: 50%; left: 50%; /* transform: translate(-50%, -50%); */ margin-top: -50px; margin-left: -100px; } </style>
(2)子父元素宽高度固定,子元素相对于父元素绝对定位(子绝父相),使用calc达到上面效果。
<div class="wrap"> <div class="inner"></div> </div> <style> .wrap { width: 500px; height: 200px; background-color: skyblue; position: relative; } .inner { width: 200px; height: 100px; background-color: sandybrown; position: absolute; top: calc(50% - 50px); left: calc(50% - 100px); } </style>
(3)子父元素宽高度固定,子元素相对于父元素绝对定位(子绝父相),子元素上下左右全为 0,然后设置子元素margin:auto。
<div class="wrap"> <div class="inner"></div> </div> <style> .wrap { width: 500px; height: 200px; background-color: skyblue; position: relative; } .inner { width: 200px; height: 100px; background-color: sandybrown; position: absolute; top: 0; left: 0; bottom: 0; right: 0; margin: auto; } </style>
(4)子元素相对定位,子元素 top,left 值为 50%,transform:translate(-50%,-50%)。
<div class="wrap"> <div class="inner"></div> </div> <style> .wrap { width: 500px; height: 200px; background-color: skyblue; } .inner { width: 200px; height: 100px; background-color: sandybrown; position: relative; top: 50%; left: 50%; transform: translate(-50%, -50%); } </style>
(5)文本水平垂直居中 父元素设置text-algin:center使得子元素水平居中,子元素设置line-height为父元素高度,使得子元素垂直居中。
<div class="wrap"> <span class="inner">321311111111111111</span> </div> <style> .wrap { width: 500px; height: 200px; text-align: center; background-color: skyblue; } .inner { line-height: 200px; background-color: sandybrown; } </style>
(6)利用line-height,vertical-align实现元素水平垂直居中。
<div class="wrap"> <div class="inner">321</div> </div> <style> .wrap { width: 500px; height: 200px; background-color: skyblue; line-height: 200px; text-align: center; } .inner { width: 200px; height: 100px; background-color: sandybrown; display: inline-block;/* 将子元素设置为行内块级元素 */ vertical-align: middle;/* 垂直居中 */ text-align: left;/* 默认继承了父元素的水平居中,这里需要修正修正文字 */ } </style>
(7)父元素设置弹性盒子,display:flex; justfy-content:center ;align-item:center。
<div class="wrap"> <div class="inner"></div> </div> <style> .wrap { width: 500px; height: 200px; background-color: skyblue; display: flex; justify-content: center; align-items: center; } .inner { width: 200px; height: 100px; background-color: sandybrown; } </style>
(8)父元素设置 display:table-cell vertical-align:middle,子元素设置 margin:auto。
<div class="wrap"> <div class="inner"></div> </div> <style> .wrap { width: 500px; height: 200px; background-color: skyblue; display: table-cell; vertical-align: middle } .inner { width: 200px; height: 100px; background-color: sandybrown; margin: auto; } </style>
(9)网格布局实现水平垂直居中display: grid;place-items: center。
<div class="wrap"> <div class="inner"></div> </div> <style> .wrap { width: 500px; height: 200px; background-color: skyblue; display: grid; place-items: center; } .inner { width: 200px; height: 100px; background-color: sandybrown; } </style>
以上就是本文的全部内容,希望给读者带来些许的帮助和进步,方便的话点个关注,小白的成长之路会持续更新一些工作中常见的问题和技术点。
VPS就是在物理服务器中分割出多个虚拟分区,每个分区都拥有独立的操作系统、内存、磁盘和带宽,可以自主开机、关机、重启以及安装软件应用和配置环境等等,在使用体验上和一台真正的独立服务器没有区别。简而言之,VPS就是让你用更少的钱享受到和独立服务器相同的体验,以及比虚拟主机更多的硬件资源。
如果你希望享受到比虚拟主机更多的功能和硬件资源配额,但是又无法承受独立服务器的高成本,那么VPS可能是你最理想的选择。通过选择“VPS”,可以以更低的成本享受到和一台真正的独立服务器同样的体验。如果需要更多资源,还可以在商家后台可以一键升级套餐。
VPSNO一直致力于发布全球主机商的便宜VPS,包含便宜 Linux VPS、便宜 Windows VPS和独立服务器的最新促销信息。可以通过每天浏览本站或是订阅我们的RSS源,以确保您不会错过最优惠的价格。