html - TranslateY 50% 不居中 div
问题描述
html 和 body 是 100vh。
在我的身体里,我有一个 100px 的正方形。
当我将前 50% 应用于 div 时,div 会向下移动 50%。但是当我在 div 上应用 translateY(50%) 时,div 不会向下移动 50%?
为什么是这样?
注意:您必须在整个页面中打开 html 才能看到 div 不会向下移动 50%。
* {
padding: 0;
margin: 0;
}
html, body {
height: 100vh;
width: 100vw;
}
body {
position: relative;
background-color: black;
}
div {
height: 100px;
width: 100px;
background-color: orange;
position: absolute;
/* top: 50%; */
transform: translateY(50%);
}
<div></div>
解决方案
top: 50%
将元素的顶部放置在容器高度的50% 处,因此相关元素的顶部放置在父元素的垂直中心。
transform: translateY(50%)
将元素偏移其自身高度的 50% 。如果元素是 100px 高,它将向下移动 50px。
推荐阅读
- python - 更新矩形补丁的位置
- android - 使用 OpenCV 时如何使用 Android Camera api 设置相机参数?
- python - 格式化 Python 字符串 - 消息框:tkinter
- python - Django 将用户映射到模型
- google-app-engine - 在 Google Cloud Endpoints + App Engine 上强制使用 HTTPS
- swift - 如何以编程方式在 SpriteKit 中创建动态变色渐变
- android - Visual Studio 中的 Cordova 应用程序
- python - 一次向数据框中的所有行中的列添加值:Python
- python - 如何使用默认 PRNG 和索引在 python 中恢复混洗数组?
- postgresql - 启动数据库的 Docker 容器失败并出现连接被拒绝错误