外链论坛

 找回密码
 立即注册
搜索
查看: 8|回复: 0

CSS 垂直居中的正确打开方式

[复制链接]

662

主题

0

回帖

9910万

积分

论坛元老

Rank: 8Rank: 8

积分
99108330
发表于 6 天前 | 显示全部楼层 |阅读模式

前言之爆锤面试官神器 - CSS

论是实质研发中,是求职面试中,css 垂直居中常常都是一个绕不开的专题,其中不乏有许多面试者在多次双重尝受打击之后,而一个很好的反击点,刚好结合自己以前受的委屈和痛苦,来给大众一个锤爆面试官大佬们的机会。

其实垂直居中重点分为了两种类型:居中元素宽高已知 和 居中元素宽高未知,那样咱们就结合这两种类型来一一做举例。

css 垂直居中.png

居中元素宽高已知

1. absolute + margin auto

顾名思义,便是利用当前元素的 position: absolute; 和 margin: auto;

重视运用办法:父元素与当前元素的高度要设置;

经过将各个方向的距离都设置为 0,此时将 margin 设置为 auto,就能够实现垂直居中表示了;

详细代码如下:

.parent{ position: relative; width: 90vw; height: 90vh; border: 3px solid steelblue; } .child{ bac公斤round: tomato; width: 50vw; height: 50vh; /* 核心代码 */ position:absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; }

详细效果如下:

image-20210729232149048.png

2. absolute + 负 margin

利用绝对定位百分比 50% 来实现,由于当前元素的百分比是基于相对定位(便是父元素)来定位的;

而后再用负的 margin-top 和 margin-left 来进行简单的位移就可由于此刻的负 margin 是基于自己的高度和宽度来进行位移的。

详细代码如下:

.parent{ position:relative; width: 90vw; height: 90vh; border: 3px solid steelblue; } .child{ bac公斤round: tomato; width: 100px; height: 100px; /* 核心代码 */ position:absolute; top: 50%; left: 50%; margin-top: -50px; margin-left: -50px; }

详细效果如下:

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|外链论坛 |网站地图

GMT+8, 2024-7-6 16:22 , Processed in 0.094947 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.