Maison > interface Web > tutoriel CSS > Comment puis-je désactiver temporairement les effets de transition CSS pour un redimensionnement fluide des éléments ?

Comment puis-je désactiver temporairement les effets de transition CSS pour un redimensionnement fluide des éléments ?

DDD
Libérer: 2024-11-30 20:12:18
original
123 Les gens l'ont consulté

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

Désactivation temporaire des effets de transition CSS

Dans le développement Web, il est souvent nécessaire de désactiver les effets de transition CSS lors de la modification d'un élément pour garantir un redimensionnement ou des ajustements d'apparence fluides. Voici la solution la plus élégante :

Solution

Créer une classe CSS :

.notransition {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -o-transition: none !important;
  transition: none !important;
}
Copier après la connexion

Utiliser JavaScript (sans 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
Copier après la connexion

Utiliser JavaScript avec jQuery :

$someElement.addClass('notransition'); // Disable transitions
doWhateverCssChangesYouWant($someElement);
$someElement[0].offsetHeight; // Trigger a reflow, flushing the CSS changes
$someElement.removeClass('notransition'); // Re-enable transitions
Copier après la connexion

Explication :

Cette solution utilise une classe CSS pour remplacer tous les paramètres de transition existants avec !important. Il ajoute ensuite la classe à l'élément, apporte les modifications CSS souhaitées, force une redistribution à l'aide de offsetHeight et supprime enfin la classe pour réactiver les transitions.

Considérations

  • Assurez-vous que .notransition remplace les règles existantes (pensez à utiliser !important dans le CSS).
  • Forcer une redistribution après avoir désactivé les transitions en lisant offsetHeight ou en utilisant une autre méthode appropriée.
  • Cette solution fonctionne sur plusieurs navigateurs et constitue la méthode la plus élégante pour désactiver temporairement les effets de transition CSS.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal