【问题标题】:CSS translate3dCSS translate3d
【发布时间】:2016-06-25 23:08:16
【问题描述】:

我已经在互联网上搜索了几个小时,但我找不到我想做的解决方案。

关于我的孩子:

  top: auto;
  bottom: 0;
  padding: 1em;
  height: 100%;
  background: red;
  color: #3c4a50;
  -webkit-transition: -webkit-transform 0.35s;
  transition: transform 0.35s;
  -webkit-transform: translate3d(0,93px,0);
  transform: translate3d(0,93px,0);

悬停时我有:

  -webkit-transform: translate3d(0,0,0);
  transform: translate3d(0,0,0);

这样做是从顶部开始 Y 轴并将其向下推 93 像素。

我需要将其反转并使其在底部显示 93px。所以我需要它从底部开始向上拉而不是从顶部开始向下推。

我没有详细介绍 html,因为我认为这无关紧要。如果需要,请告诉我。

我发现了一些说使用的东西:

transform-origin: center bottom;

但是我一直无法上班。

一如既往地感谢任何帮助。

干杯

更新

在这里测试看看它是否正常工作

.parent {
  position: relative;
  height: 150px;
  background-color: gray;
  width: 50%;
  float:left;
  overflow:hidden;
}

.child {
  position: absolute;
  bottom: -100%;
  padding: 1em;
  height: 100%;
  width:100%;
  background: red;
  color: #3c4a50;
  -webkit-transition: -webkit-transform 0.35s;
  transition: transform 0.35s;
  -webkit-transform: translate3d(0,-93px,0);
  transform: translate3d(0,-93px,0);
}


.child:hover{
  -webkit-transform: translate3d(0,0px,0);
  transform: translate3d(0,0px,0);
  bottom:0px;
}
<div class="parent">
  <div class="child"></div>
</div>

【问题讨论】:

    标签: css transform css-transforms


    【解决方案1】:

    这里有两种方式,位置bottomflex

    .parent {
      position: relative;
      height: 150px;
      background-color: gray;
      width: 50%;
      float:left;
      overflow:hidden;
    }
    
    .child {
      position: absolute;
      height: 100%;
      background-color: blue;
      bottom: -100%;
      width: 100%;
      transform: translate3d(0, -93px, 0);
      transition:.3s;
    }
    
    
    .child:hover{
      transform: translate3d(0, 0px, 0);
      bottom:0;
    }
    <div class="parent">
      <div class="child"></div>
    </div>

    【讨论】:

    • 不起作用的原因是高度设置为 100%。或者至少据我所知。我已经对帖子进行了编辑,以便为您播下确切的 CSS。不幸的是,我尝试实现您发布的内容,并且与我之前尝试的内容相同。 -93 仍然从顶部拉动。我需要让 Y 轴的 0 从底部开始,只暴露孩子的 93px。
    • 基本上不是 0 用于悬停 id 上的 Y,所以我必须使用 100%。目前,如果我在孩子的非悬停上使用 100%,它会一直向下推。所以我需要扭转 Y 或至少看起来。我试图实现这一目标的原因是出于全球 CSS 的原因。对于每个具有不同大小的 div,我可以用 px 计算出来。想象一下页面上的 1 个 div 高 500px,而另一个只有 200px 高。如果我能弄清楚如何从底部显示它而不是从顶部向下推,我可以让它保持全局。这有意义吗?
    • 现在你就在我所在的位置。所以我们需要完全颠倒你在新编辑中的内容。我很抱歉没有放我应该有的 html,老实说,我不认为它会被需要。因此,目前您的新编辑将 93px 隐藏在顶部。当我们悬停时,它会向下滑动 93px。我们需要在底部隐藏除 93px 之外的所有内容。所以正好相反。它会向上滑动并显示其余部分。
    • 这是我认为使用transform-origin: center bottom; 应该做的。我认为这意味着它将锚点从顶部切换到底部。给我你新编辑的正反面。
    • 你的转换应该是transition: 0.35s;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-25
    • 2016-05-25
    • 2011-07-25
    • 2014-07-22
    • 2015-01-17
    • 1970-01-01
    相关资源
    最近更新 更多