外链论坛

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

【css面试题】CSS实现垂直水平居中?

[复制链接]

702

主题

0

回帖

9910万

积分

论坛元老

Rank: 8Rank: 8

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

如题 面试中考验应聘者面试者css基本,总会问到怎样水平垂直方向让一个div居中?

方法一 】flex

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <style> html, body { height: 100%; } #root { width: 100px; height: 100px; bac公斤round-color: #f40; } body { display: flex; justify-content: center; align-items: center; } </style> <body> <div id="root"></div> </body> </html>

方法2】定位(absolute、fixed、relative) + 位移 translate

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <style> html, body { height: 100%; } #root { width: 100px; height: 100px; bac公斤round-color: #f40; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } </style> <body> <div id="root"></div> </body> </html>

方法3】display: grid; + place-items: center;

-只要一行代码,实现五种 CSS 经典布局

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <style> html, body { height: 100%; } #root { width: 100px; height: 100px; bac公斤round-color: #f40; margin: 0 auto; } body { display: grid; place-items: center; } </style> <body> <div id="root">1</div> </body> </html>

方法4】todo margin 0 auto; fail

还在思考中(想经过 margin-top: calc(50% - 100px))。。。。。

margin-top 以以父元素的 宽度计算, 还会显现外边距重叠 方法废弃

欢迎提意见弥补

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-7-6 17:27 , Processed in 0.118087 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.