【问题标题】:CSS transform perspective rotateX with transition rapidly hover in out glitchCSS变换透视旋转X与过渡快速悬停在故障中
【发布时间】:2020-06-01 18:57:53
【问题描述】:

这是我的代码。

.ground {
        height: 250px;
        width: 250px;
        background-color: tomato;
        margin: 50vh auto;
        transform: translateY(-50%);
    }

    .floor-1 {
        height: 100%;
        width: 100%;
        background-color: turquoise;
        transition: transform 3s;
    }

    .floor-1:hover {
        transform-origin: left center;
        transform: perspective(50em) rotateX(180deg);
    }
<div class="ground">
    <div class="floor-1">Hello</div>
</div>

现在当我尝试进出 5-10 次是 2-3 秒时,它给了我奇怪的行为。 Div floor-1 几乎要从屏幕中出来了。为什么会发生这种情况以及如何解决?

【问题讨论】:

    标签: html css css-transforms


    【解决方案1】:

    您最初需要在元素上使用persepctive,否则这个元素也会有过渡,从而造成您得到的不良效果。 transform-origin 也一样。

    .ground {
      height: 250px;
      width: 250px;
      background-color: tomato;
      margin: 50vh auto;
      transform: translateY(-50%);
    }
    
    .floor-1 {
      height: 100%;
      width: 100%;
      background-color: turquoise;
      transition: transform 3s;
      transform-origin: left center;
      transform: perspective(50em) rotateX(0deg);
    }
    
    .floor-1:hover {
      transform: perspective(50em) rotateX(180deg);
    }
    <div class="ground">
      <div class="floor-1">Hello</div>
    </div>

    你也可以在父元素上添加透视图:

    .ground {
      height: 250px;
      width: 250px;
      background-color: tomato;
      margin: 50vh auto;
      transform: translateY(-50%);
      perspective:50em;
      perspective-origin:left center;
    }
    
    .floor-1 {
      height: 100%;
      width: 100%;
      background-color: turquoise;
      transition: transform 3s;
      transform:  rotateX(0deg);
    }
    
    .floor-1:hover {
      transform: rotateX(180deg);
    }
    <div class="ground">
      <div class="floor-1">Hello</div>
    </div>

    【讨论】:

      猜你喜欢
      • 2018-12-22
      • 2015-07-20
      • 2021-05-17
      • 2014-02-06
      • 2020-11-18
      • 2017-08-21
      • 1970-01-01
      • 2013-09-26
      • 2021-03-04
      相关资源
      最近更新 更多