在 Web 开发中,通常需要在更改元素时禁用 CSS 过渡效果,以确保顺利调整大小或外观调整。这是最优雅的解决方案:
创建 CSS 类:
.notransition { -webkit-transition: none !important; -moz-transition: none !important; -o-transition: none !important; transition: none !important; }
使用 JavaScript(不使用 jQuery):
someElement.classList.add('notransition'); // Disable transitions doWhateverCssChangesYouWant(someElement); someElement.offsetHeight; // Trigger a reflow, flushing the CSS changes someElement.classList.remove('notransition'); // Re-enable transitions
使用 JavaScript jQuery:
$someElement.addClass('notransition'); // Disable transitions doWhateverCssChangesYouWant($someElement); $someElement[0].offsetHeight; // Trigger a reflow, flushing the CSS changes $someElement.removeClass('notransition'); // Re-enable transitions
说明:
此解决方案使用 CSS 类来覆盖任何现有的转换设置!重要。然后,它将类添加到元素,进行所需的 CSS 更改,使用 offsetHeight 强制回流,最后删除类以重新启用过渡。
以上是如何暂时禁用 CSS 过渡效果以平滑元素大小调整?的详细内容。更多信息请关注PHP中文网其他相关文章!