【问题标题】:CSS: shift div upward by half of its height?CSS:将div向上移动其高度的一半?
【发布时间】:2021-02-22 13:31:40
【问题描述】:

在 CSS 中,我想将一个 div 向上移动一半的高度,而它的高度没有明确指定;它基于其内容的大小。这可以是topmargin-top。有谁知道如何做到这一点?如果我只是做margin-top: 50% 我知道 50% 将是父级宽度的 50%,而不是 div 高度的 50%。

【问题讨论】:

    标签: html css margin


    【解决方案1】:

    你可以试试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>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多