首页 前端知识 2024 CSS 水平垂直居中方式汇总,全到没朋友(锤爆面试官系列

2024 CSS 水平垂直居中方式汇总,全到没朋友(锤爆面试官系列

2024-07-02 23:07:20 前端知识 前端哥 496 805 我要收藏

前言

居中元素宽高已知

1、absolute + margin auto

2、absolute + 负 margin

3、absolute + calc

居中元素宽高未知

1、absolute + transform

2、line-height + vertical-align

3、table 表格元素(不推荐)

4、css-table(display:table-cell)

5、flex 布局(推荐)

6、flex + margin auto

7、grid 网格布局(一)

8、grid 网格布局(二)

场景推荐


前言

无论是实际开发中,还是求职面试中,css 垂直居中往往都是一个绕不开的话题,其中有许多面试者在遭受多次打击之后,却没有一个很好的反击点,刚好结合自己的经历与痛处,来给大家一个锤爆面试官大佬们的机会。

垂直居中主要分为了两种类型:居中元素宽高已知居中元素宽高未知,那么我们就结合这两种类型来一一举例。

居中元素宽高已知


1、absolute + margin auto

注意:父元素与当前元素的宽高已知

.parent{

position: relative;

width: 500px;

height: 500px;

border: 1px solid blue;

}

.child{

background: green;

width: 200px;

height: 200px;

/* 核心代码 */

position:absolute;

top: 0;

bottom: 0;

left: 0;

right: 0;

margin: auto;

}

2、absolute + 负 margin

注意:负 margin 是基于自身的高度和宽度来进行位移的(设置为自身的 -1/2)

.parent{

position:relative;

width: 500px;

height: 500px;

border: 1px solid blue;

}

.child{

background: green;

width: 200px;

height: 200px;

/* 核心代码 */

position:absolute;

top: 50%;

left: 50%;

margin-top: -100px;

margin-left: -100px;

}

3、absolute + calc

注意:使用 CSS3 的一个计算函数来进行计算(相当于负 margin 的简化版)

.parent{

position:relative;

width: 500px;

height: 500px;

border: 1px solid blue;

}

.child{

background: green;

width: 200px;

height: 200px;

/* 核心代码 */

position:absolute;

top: calc(50% - 100px);

left: calc(50% - 100px);

}

居中元素宽高未知


1、absolute + transform

注意:transform 的 translate 属性值如果是一个百分比,那么这个百分比是基于自身的宽高进行计算

.parent{

position: relative;

width: 500px;

height: 500px;

border: 1px solid blue;

}

.child{

background: green;

/* 核心代码 */

position: absolute;

top: 50%;

left: 50%;

transform: translate(-50%, -50%);

}

2、line-height + vertical-align

把当前元素设置为行内元素,然后通过设置父元素的 text-align: center来实现水平居中;同时通过设置当前元素的 vertical-align: middle来实现垂直居中;最后设置当前元素的 line-height: initial来继承父元素的line-height

.parent{

width: 500px;

border: 1px solid blue;

/* 核心代码 */

line-height: 500px;

text-align: center;

}

.child{

background: green;

/* 核心代码 */

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
img

ajax

1)ajax请求的原理/ 手写一个ajax请求?
2)readyState?
3)ajax异步与同步的区别?
4)ajax传递中文用什么方法?

ajax.PNG

前12.PNG

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

-1712673082592)]

ajax

1)ajax请求的原理/ 手写一个ajax请求?
2)readyState?
3)ajax异步与同步的区别?
4)ajax传递中文用什么方法?

[外链图片转存中…(img-0NvkAk77-1712673082592)]

[外链图片转存中…(img-uSUFaXJK-1712673082593)]

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-MUdKOw9r-1712673082593)]

转载请注明出处或者链接地址:https://www.qianduange.cn//article/13795.html
标签
评论
发布的文章

sublime text的json快捷键

2024-07-30 22:07:35

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!