面试官:用 CSS 实现一个元素的水平垂直居中,写出你能想到的所有答案

简介: 面试官:用 CSS 实现一个元素的水平垂直居中,写出你能想到的所有答案

前言

前端面试中,“如何实现一个元素水平垂直居中”一直是各大面试官青睐的题目,这篇文章将讲解 5 种实现水平垂直居中的方法,帮你轻松过这关。

5 种实现元素水平垂直居中的方法

1.使用 flexbox 布局

该方案的思路是将父元素设置为display: flex;,并使用align-items: center; justify-content: center;将子元素在水平和垂直方向上居中。

代码如下

.parent {
  display: flex;
  align-items: center;
  justify-content: center;
}
.child {
  width: 200px;
  height: 200px;
}
复制代码

2.使用 grid 布局

该方案的思路是将父元素设置为display: grid;,并使用place-items: center;将子元素在水平和垂直方向上居中。

代码如下

.parent {
  display: grid;
  place-items: center;
}
.child {
  width: 200px;
  height: 200px;
}
复制代码

3.使用绝对定位和负边距

该方案的思路是将元素向上和向左移动一半的宽度和高度,使其在父元素的中心。由于绝对定位是相对于最近的已定位祖先元素,因此必须确保父元素或祖先元素具有position: relative;position: absolute;属性。元素必须具有已知的宽度和高度。

代码如下(CodePen 示例):

.parent {
  position: relative;
}
.child {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 200px;
  height: 200px;
  margin-top: -100px;
  margin-left: -100px;
}
复制代码

4.使用 transform 属性

该方案的思路是将元素向上和向左移动一半的宽度和高度,使其在父元素的中心。由于transform: translate(-50%, -50%);是相对于元素自身的宽度和高度进行的,因此不需要知道元素的宽度和高度。元素必须设置为绝对定位。

代码如下

.parent {
  position: relative;
}
.child {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
复制代码

5.使用table布局

该方案的思路是将父元素设置为display: table;,将子元素设置为display: table-cell; vertical-align: middle;,并使用text-align: center;将子元素在水平方向上居中。

代码如下

.parent {
  display: table;
  text-align: center;
}
.child {
  display: table-cell;
  vertical-align: middle;
}

 

大厂面试题分享 面试题库

前后端面试题库 (面试必备) 推荐:★★★★★

地址:前端面试题库  web前端面试题库 VS java后端面试题库大全

相关文章
|
1月前
|
前端开发
CSS水平居中与垂直居中的方法
CSS水平居中与垂直居中的方法
|
1月前
|
前端开发 JavaScript
css之伪类hover改变自身、子元素、其他元素的样式
css之伪类hover改变自身、子元素、其他元素的样式
28 0
|
2月前
|
前端开发 JavaScript 开发者
CSS隐藏元素的N种方法,你知道哪一种最适合你?
欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚刚开始学习前端的读者们打造的。无论你是初学者还是有一些基础的开发者,我们都会在这里为你提供一个系统而又亲切的学习平台。我们以问答形式更新,为大家呈现精选的前端知识点和最佳实践。通过深入浅出的解释概念,并提供实际案例和练习,让你逐步建立起一个扎实的基础。无论是HTML、CSS、JavaScript还是最新的前端框架和工具,我们都将为你提供丰富的内容和实用技巧,帮助你更好地理解并运用前端开发中的各种技术。
|
8天前
|
XML 前端开发 数据格式
css元素
【4月更文挑战第20天】css元素
16 4
|
11天前
|
前端开发
css中几种隐藏元素的方法
css中几种隐藏元素的方法
11 0
|
24天前
|
存储 算法
[经典面试题]169. 多数元素
[经典面试题]169. 多数元素
N..
|
1月前
|
前端开发 容器
CSS 网页布局元素
CSS 网页布局元素
N..
23 1
|
1月前
|
前端开发 UED 容器
CSS3美化网页元素
CSS3美化网页元素
10 0
|
1月前
|
移动开发 HTML5
编程笔记 html5&css&js 024 HTML表单元素
编程笔记 html5&css&js 024 HTML表单元素
|
2月前
|
Web App开发 存储 前端开发
【JavaEE初阶】 CSS相关属性,元素显示模式,盒模型,弹性布局,Chrome 调试工具||相关讲解
【JavaEE初阶】 CSS相关属性,元素显示模式,盒模型,弹性布局,Chrome 调试工具||相关讲解