【前端面试题3】如何实现一个元素的水平垂直居中

以下是题目的布局代码:

html 复制代码
<div class="container">
  <div class="item" style="width: 100px; height: 100px; background: #999;">
    块状元素
  </div>
</div>
 
<div class="container">
  <div class="item">不定高宽的块状元素</div>
</div>
 
<div class="container">
  <span class="item">行内元素</span>
</div>
css 复制代码
.container {
  // 把代码写在这里
}
 
.container {
  height: 20rem;
  background: #ccc;
  margin: 1rem;
}

1.flex方法:

css 复制代码
.container {
  display: flex;
  justify-content: center;
  align-items: center;
}

2.grid方法:

css 复制代码
.container {
  display: grid;
  place-items: center;
}

css 复制代码
.container {
  display: flex;
  justify-content: center;
  align-items: center;
}

3.绝对定位方法:

css 复制代码
.container {
  position: relative;
}

.item {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.item {
  padding: 1rem;
  border: 1px solid #999;
}

.container {
  height: 12rem;
  background: #ccc;
  margin: 1rem;
}
相关推荐
nuIl2 分钟前
我把 5 个编码 Agent 塞进了一个 npm 包
前端·agent·claude
L-影6 分钟前
FastAPI 静态文件:Web 页面的“固定展柜”与“加速引擎”
前端·fastapi
陪我去看海9 分钟前
受够了 AI 写完代码留下一堆端口?我做了一个端口管理App!
前端·macos·vibecoding
Xuepoo9 分钟前
我抛弃了 DOM,但保留了无障碍访问
前端
李明卫杭州11 分钟前
Vue2 vs Vue3 的 h 函数:渲染函数完整迁移指南
前端
SamDeepThinking16 分钟前
组合还是继承?我在项目里主要看这两个判断
java·后端·面试
星栈16 分钟前
LiveView 的认证系统:从登录到权限,我一开始以为有 `current_user` 就算完事了
前端·前端框架·elixir
在因斯坦17 分钟前
摸摸鱼之前端自己研究 Jenkins 自动化部署
前端
wear工程师19 分钟前
setState 到底是不是异步的?这题从 React 16 问到 18,标准答案早就变了
react.js·面试
snpgroupcn1 小时前
SAP实施风险管控注意事项:四大风险域与防范策略
前端·数据库·人工智能