【问题标题】:remove the height after using transform使用变换后删除高度
【发布时间】:2020-06-10 12:17:28
【问题描述】:

让我在这里使用变换:

.parent {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
}


.first {
  height: 100px;
}
    
.second {
  height: 100px;
  transform: translateY(-50%);
}
<div class="parent">
    <div class="first"></div>
    <div class="second"></div>
</div>

所以,使用变换后: translateY(-50%);父元素的高度应该减少,因为它没有使用完整的空间。但是父div的高度还是200px。

我们如何删除多余的空间而我只想使用转换?

https://jsfiddle.net/r4c3g02o/12/

【问题讨论】:

  • 使用负边距来获得这种效果
  • 负边距仍然适用
  • @TemaniAfif 但我只想使用转换。
  • 你不能......

标签: html css transform


【解决方案1】:

translate视觉上 移动元素。它不会影响文档中其他元素的流动。

也许实现您想要的结果的最简单方法是负边距。

.parent {
  border: 1px solid purple;
}

.first {
  height: 100px;
  background: yellow;
}

.second {
  height: 100px;
  margin-top: -50px;
  background: salmon;
}
<div class="parent">
  <div class="first">
    First
  </div>
  <div class="second">
    second
  </div>
</div>

【讨论】:

【解决方案2】:

我认为你可以使用 SVG 和 &lt;animateTransform&gt; 所以)

【讨论】:

  • 用于哪个 div?
  • .second ,如果你想删除这个高度
  • 试试这个。也许如果你制作动画 SVG 会做得更好
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-08-18
  • 2017-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多