【问题标题】:CSS transition with nested classes带有嵌套类的 CSS 过渡
【发布时间】:2016-12-04 20:49:25
【问题描述】:

我正在尝试使用纯 CSS 创建动画。 这是我的html结构

 <div class="portfolio-item col-xs-12 col-sm-4 col-md-3" data-groups='["all", "identety", "interface"]'>
              <div class="portfolio-bg">
                <div class="portfolio">
                  <div class="tt-overlay"></div>
                  <div class="links">
                    <a class="image-link" href="images/works/portfolio-1.jpg"><i class="fa fa-search-plus"></i></a>
                    <a href="#"><i class="fa fa-link"></i></a>                          
                  </div><!-- /.links -->
                  <img class="portfolio-image" src="images/works/portfolio-1.jpg" alt="image"> 
                  <div class="portfolio-info">
                    <h3>Portfolio Title</h3>
                  </div><!-- /.portfolio-info -->
                </div><!-- /.portfolio -->
              </div><!-- /.portfolio-bg -->
            </div><!-- /.portfolio-item -->

还有我的 CSS 样式

@imageHoverRotationAngle : 10deg;
@imageHoverScaleValue : 1.5;
@imageHoverAnimationTime : 0.5s;

.portfolio:hover .tt-overlay, 
.portfolio:hover .links {
    opacity: 1;
    -webkit-transform: translate(0,0);
    -moz-transform: translate(0,0);
    -ms-transform: translate(0,0);
    -o-transform: translate(0,0);
    transform: translate(0,0);
}
.portfolio:hover .portfolio-image {
      -webkit-transform:rotate(@imageHoverRotationAngle) scale(@imageHoverScaleValue);
      -moz-transform:rotate(@imageHoverRotationAngle) scale(@imageHoverScaleValue);
      -ms-transform:rotate(@imageHoverRotationAngle) scale(@imageHoverScaleValue);
      -o-transform:rotate(@imageHoverRotationAngle) scale(@imageHoverScaleValue);
      transform:rotate(@imageHoverRotationAngle) scale(@imageHoverScaleValue);
}
.portfolio .portfolio-image {
       -webkit-transition:all @imageHoverAnimationTime ease-out;
      -moz-transition:all @imageHoverAnimationTime ease-out;
      -ms-transition:all @imageHoverAnimationTime ease-out;
      -o-transition:all @imageHoverAnimationTime ease-out;
      transition:all @imageHoverAnimationTime ease-out;
}

我无法让它工作。

在这种情况下,只有 portfolio-image 被动画化,如果 portfolio-image 的 css 动画样式比 tt-overlaylinks 有效。

是否可以同时实现tt-overlay,linksportfolio-image这两个动画?

【问题讨论】:

  • 您尚未将任何transition 属性分配给其他两个。你试过应用它吗?
  • 是的,它不起作用
  • 或许minimal 演示在这里可能会有所帮助?

标签: html css animation css-transitions


【解决方案1】:

您尚未为元素设置初始不透明度,并且每个动画元素都应具有过渡属性。 + 你的例子有点空,没有值。

这是一个笨蛋。我添加了一些值,因此您可以看到更改。它在 Sass 中,但差别不大。

.portfolio .tt-overlay, .portfolio .links { opacity: 0; }

https://plnkr.co/edit/ll29vpEkifg68W0yvaal?p=preview

【讨论】:

  • 对不起,我有这样一个不透明度为零的课程。正如我所说,它可以在没有图像动画的情况下工作
  • 但是我的 plunker 正在工作,它类似于你的情况。你用什么浏览器?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-22
  • 2018-07-02
  • 2017-07-10
  • 2017-08-20
相关资源
最近更新 更多