首頁 > web前端 > css教學 > 如何暫時停用 CSS 過渡效果以平滑元素大小調整?

如何暫時停用 CSS 過渡效果以平滑元素大小調整?

DDD
發布: 2024-11-30 20:12:18
原創
123 人瀏覽過

How Can I Temporarily Disable CSS Transition Effects for Smooth Element Resizing?

暫時停用 CSS 過渡效果

在 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 強制回流,最後刪除類別以重新啟用過渡。

注意事項

  • 確保.notransition 覆蓋現有規則(考慮在 CSS 中使用 !important)。
  • 之後強制回流會透過讀取 offsetHeight 或使用其他適當的方法來停用過渡。
  • 此解決方案可跨瀏覽器工作,是暫時禁用 CSS 過渡效果的最優雅的方法。

以上是如何暫時停用 CSS 過渡效果以平滑元素大小調整?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板