使用CSS实现盒子水平垂直居中的方法(8种)

Claire ·
更新时间:2024-09-20
· 584 次阅读

原始代码:

center.html

<!DOCTYPE html> <html lang="Zh"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Center</title> <link rel="stylesheet" href="center.css"> </head> <body> <div class="father"> <div class="son"></div> </div> </body> </html>

center.css

body { background-color: #6ed0ff; } .father { background-color: #be33ec; border-radius: 20px; box-shadow: 0 0 15px rgb(0, 0, 0); margin: 100px auto; width: 300px; height: 300px; } .son { background-color: #fcff00; border-radius: 20px; box-shadow: 0 0 10px rgb(0, 0, 0); width: 100px; height: 100px; }

原始效果:

在这里插入图片描述

实现子盒子相对于父盒子垂直居中效果:

在这里插入图片描述

1. grid

.father { display: grid; } .son { align-self: center; justify-self: center; }

2. absolute + 负margin

.father { position: relative; } .son { position: absolute; left: 50%; top: 50%; margin-left: -50px; margin-top: -50px; }

3. absolute + transform

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

4. absolute + margin: auto

.father { position: relative; } .son { position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; }

5. flex

.father { display: flex; justify-content: center; align-items: center; }

6. margin+transfrom

.father { overflow: hidden; } .son { margin: 50% auto; transform: translateY(-50%); }

7. table-cell

.father { display: table-cell; text-align: center; vertical-align: middle; } .son { display: inline-block; }

8. inline-block + vertical-align

.father { text-align: center; line-height: 300px; } .son { display: inline-block; vertical-align: middle; }

到此这篇关于使用CSS实现盒子水平垂直居中的方法(8种)的文章就介绍到这了,更多相关CSS 盒子水平垂直居中内容请搜索软件开发网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持软件开发网!



居中 垂直居中 CSS 方法

需要 登录 后方可回复, 如果你还没有账号请 注册新账号