【问题标题】:FAB button animation not working properlyFAB 按钮动画无法正常工作
【发布时间】:2016-01-21 00:10:06
【问题描述】:

我正在尝试在单击 FAB 按钮时对其进行动画处理。我希望它打开并填满屏幕 - 它适用于在移动设备中运行的响应式 webApp。

问题是:当我点击打开按钮时,它会立即获得全宽然后动画。而要关闭按钮,它会立即缩短,然后向下动画。

问题是我用的是固定位置,所以不知道怎么处理。

这是一个代码示例:

html:

<div class="fab" ng-class="{'open': fabOpen}" ng-click="toggleFab()">
    <span ng-show="!fabOpen">FAB</span>
    <h4 ng-show="fabOpen">Just a test</h4>
</div>

scss:

$time: 400ms;
.fab {
    -webkit-transition-duration:    $time;
    -moz-transition-duration:       $time;
    -o-transition-duration:         $time;
    transition-duration:            $time;

    border-radius:50%;
    background:#358FE8;
    display:inline-block;
    height:80px;
    line-height:80px;
    width:80px;
    position:fixed;
    bottom:16px;
    right:16px;
    text-align:center;
    cursor:pointer;
    color:white;
    &.open {
        background:#fff;
        color:black;
        border:1px solid #eee;
        border-radius:2px;
        left: 16px;
        width:auto;
        height:90%;
    }
}

这是问题的现场演示:http://jsfiddle.net/tfrxf0p5/

【问题讨论】:

  • 愿望是什么?等间隔扩大高度和宽度?
  • @leigero 不需要完全完美。但是正如您在演示中看到的那样,打开时,宽度为全角,没有动画,关闭时也是如此。我希望它是平滑的,而不是突然的!

标签: css button css-animations floating-action-button


【解决方案1】:

解决我遇到的问题的解决方法是使用width:calc;,而不使用left 属性。

这样我可以根据边框的距离计算元素的最大宽度。因此,由于我已经拥有16px 的右侧位置,因此我需要每边的宽度为 100% 减去 16px。

最终的代码是这样的:

&.open {
    width:calc(100% - 32px);
    /*left:16px;*/ //Doesn't need it
}

【讨论】:

  • 请张贴小提琴。
  • 虽然它不适用于所有浏览器,但我仍然要给你一个支持,因为这段代码简单而有效。不过可能不想忘记供应商前缀。
  • 哦,当然.. 这只是示例。谢谢=D
【解决方案2】:

由于某种原因,我无法修复手机上的小提琴。你有transition-duration,但你从来没有设置过transition

【讨论】:

  • 没听懂你说的。你的意思是定义transition-property?因为有些属性会发生变化,比如宽度、高度、颜色、背景等。
  • 你从来没有设置过transition property 更不用说auto 是不可动画的
  • 那我该如何解决呢?
  • 设置 transition: (what) (how long) 并将“宽度”设置为 auto 以外的其他值
  • 这就是问题所在,我不是根据宽度来设置的,我是根据左右位置来设置的,因为它是一个固定的元素。如果我使用一个值作为宽度值,例如 100% 或其他,它不会有适当的视觉效果,元素会越过侧边框。
猜你喜欢
  • 1970-01-01
  • 2016-10-29
  • 2021-10-01
  • 2020-11-03
  • 2017-10-06
  • 1970-01-01
  • 1970-01-01
  • 2017-12-15
相关资源
最近更新 更多