html - CSS:将div向上移动其高度的一半?
问题描述
在 CSS 中,我想将 div 向上移动其高度的一半,其中未明确指定其高度;它基于其内容的大小。这可以是top
或margin-top
。有谁知道如何做到这一点?如果我只是这样做,margin-top: 50%
我知道 50% 将是父级宽度的 50%,而不是 div 高度的 50%。
解决方案
你可以试试transform: translateY(-50%)
在为平移分配百分比单位时,距离是由相应的轴计算的,因此translateY(-50%)
是根据它的高度计算的。
body {
width: 100vw;
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}
div {
width: 100px;
height: 100px;
background-color: salmon;
}
div:hover {
transform: translateY(-50%);
}
<div>Hover me</div>
推荐阅读
- javascript - 将字符串解析为时间格式 JavaScript
- angular - 使用 IP 访问 Angular 应用程序
- c# - 什么是最抽象的 JSON 可序列化 C# 数据结构?
- apache-kafka - 如何通过 Debezium Connect 反序列化来自 Kafka 消息流的几何字段?
- blazor - 何时在 Blazor 中拥有多个根组件?
- python - 如何在破折号复选框的标签中放置超链接
- java - 什么可能导致 Yarn NodeManager 中看似随机的 NoSuchMethodError
- xaml - 如何拉伸水平 ListVIew UWP XAML 的项目?
- tensorflow2.0 - 有没有办法在 Tensorflow 中跟踪两个向量与矩阵的混洗?
- r - R如何使用列表的位置确定两列中每个元素的位置