【问题标题】:Is there a way to disable transitions during zooming?有没有办法在缩放期间禁用过渡?
【发布时间】:2013-12-20 02:50:23
【问题描述】:

当我放大使用 CSS3 的 transition 属性的页面时,例如宽度、高度、填充、边距等,当你放大和缩小时元素会发生变化。有没有办法禁用它?

JSFiddle:http://jsfiddle.net/forestka/fPBjB/

更新的 JSFiddle:http://jsfiddle.net/forestka/8jBjk/2/

【问题讨论】:

    标签: html css css-transitions


    【解决方案1】:

    在 stackoverflow 上查看这个答案:

    https://stackoverflow.com/a/20549817/1985601

    “它的工作原理是在您单击按钮时添加过渡 css,当您缩放浏览器窗口时,它会删除该 css。

    这适用于 Firefox 和 Chrome,但不适用于 IE。在 Firefox 上,当您缩放时,过渡照常继续,并且缩放不会影响它。在 Chrome 上,转换快进到其最终状态。”

    【讨论】:

      【解决方案2】:

      在您的转换属性中指定all

      你可以做类似的事情

       transition: opacity 1s ease;
      

      注意这里 (MDN) transition-property 在您使用 速记 版本时使用,因此您指定:

      transition-property: all;
      

      更具体地说,当您更改缩放时,左侧属性会更改,这就是触发转换的原因。请注意,当您使用 font-size 之类的东西时,没有动画,因为它不会在缩放时改变。 您可以将转换绑定到 ready 之类的事件并使用 javascript 触发它。

      【讨论】:

      • 我一般不用all;如果您转换 left 属性(我需要这样做),也会发生同样的事情。
      • @ForestKa 改进了我的答案。也许它会比上次更好
      • 在缩放过程中“左”没有必要不移动,我想知道是否有任何简单的方法可以改变这一点。我没有真正的理由添加几十行 JS 来防止缩放时“左”过渡的轻微影响,所以我只是保持原样。不过,感谢您的回答。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-21
      • 2017-06-08
      • 2014-11-12
      • 2021-07-19
      • 2021-12-16
      • 1970-01-01
      • 2019-12-24
      相关资源
      最近更新 更多