Le groupe de travail CSS a donné un coup de pouce il y a quelques semaines. La proposition conceptuelle super-duper étant que nous pouvons animer ou passer de, disons, display: block
à display: none
.
C'est un peu un casse-tête de raisonner, car le réglage display: none
sur un élément annule les animations. Et l'ajouter redémarre les animations. Selon la spécification :
Réglage
display
propriété ànone
mettra fin à toute animation en cours appliquée à l'élément et à ses descendants. Si un élément n'a aucun affichage, la mise à jour de l'affichage à une valeur autre quenone
lancera toutes les animations appliquées à l'élément par leanimation-name
propriété, ainsi que toutes les animations appliquées aux descendants avecdisplay
autre quenone
.
Ce comportement circulaire est ce qui rend le concept apparemment mort à l'arrivée. Mais if @keyframes
pris en charge tout display
Plus-value autre que none
, alors il n'y a aucun moyen pour none
pour annuler ou redémarrer des choses. Cela donne non-none
valorise la priorité, permettant none
ne faire son travail qu'une fois l'animation ou la transition terminée.
de Myriam siffler (c'est ainsi que nous les appelons vraiment, n'est-ce pas ?) explique comment cela pourrait fonctionner :
Nous n'interpolons pas exactement entre, disons, block
et de none
, mais permettant block
pour rester intact jusqu'à ce que les choses cessent de bouger et qu'il soit sûr d'appliquer none
. Ce sont des mots clés, il n'y a donc pas de valeurs explicites entre les deux. En tant que tel, cela reste une animation discrète. Nous basculons entre deux valeurs une fois que l'animation est terminée.
Il s'agit de la Robert Flakl'exemple tiré directement de la discussion:
@keyframes slideaway { from { display: block; } to { transform: translateY(40px); opacity: 0;}
} .hide { animation: slideaway 200ms; display: none;
}
Ceci est un exemple utile car il montre comment le premier cadre définit l'élément sur display: block
, qui a priorité sur le sous-jacent display: none
en tant que non-none
évaluer. Cela permet à l'animation de s'exécuter et de se terminer sans none
l'annuler ou le réinitialiser dans le processus car il ne résout que après l'animation.
Voici l'exemple référencé par Miriam sur Mastodon :
.hide { transition: opacity 200ms, display 200ms; display: none; opacity: 0;
}
Nous avons affaire à une transition cette fois. Le sous-jacent display
la valeur est définie sur none
avant que quoi que ce soit ne se produise, il est donc complètement hors du flux de documents. Maintenant, si nous devions faire la transition en survol, peut-être comme ceci :
.hide:hover { display: block; opacity: 1;
}
…alors l'élément devrait théoriquement s'estomper à 200ms
. Encore une fois, nous basculons entre display
valeurs, mais block
est prioritaire afin que la transition ne soit pas annulée à l'avance et qu'elle soit réellement appliquée après opacity
termine sa transition.
Du moins c'est comme ça que mon esprit y lit. Je suis content qu'il y ait des gens super intelligents qui réfléchissent à ces choses parce que j'imagine qu'il y a une tonne à régler. Par exemple, que se passe-t-il si plusieurs animations sont attribuées à un élément ? none
réinitialiser ou annuler l'un de ceux-ci ? Je suis sûr que tout, des animations infinies aux directions inversées et toutes sortes d'autres choses, sera traité à temps.
Mais quel premier pas super cool !
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- Platoblockchain. Intelligence métaverse Web3. Connaissance Amplifiée. Accéder ici.
- La source: https://css-tricks.com/so-youd-like-to-animate-the-display-property/
- 1
- a
- A Propos
- actually
- Après
- Tous
- Permettre
- permet
- et de
- animation
- animations
- appliqué
- Appliquer
- arrivée
- attribué
- car
- before
- va
- jusqu'à XNUMX fois
- Bit
- Block
- appel
- complet
- Complété
- complètement
- concept
- conceptuel
- Freddi
- Couples
- CSS
- parfaite
- traitement
- Commande
- document
- peut
- exactement
- exemple
- Explique
- fondu
- Prénom
- flux
- CADRE
- De
- avant
- donné
- donne
- Réservation de groupe
- arrive
- utile
- Cacher
- flotter
- Comment
- HTTPS
- in
- IT
- FAIT DU
- Mastodonte
- pourrait
- l'esprit
- en mouvement
- plusieurs
- Autre
- Personnes
- Platon
- Intelligence des données Platon
- PlatonDonnées
- priorité
- processus
- propriété
- proposition
- en cours
- raison
- reste
- Courir
- pour le running
- des
- set
- Sets
- mise
- devrait
- Spectacles
- depuis
- smart
- So
- Commencer
- rester
- Arrêter
- droit
- tel
- Super
- Appareils
- La
- chose
- des choses
- En pensant
- Avec
- fiable
- à
- Ton
- Transformer
- transition
- sous-jacent
- Plus-value
- Valeurs
- W3
- Semaines
- Quoi
- qui
- sera
- sans
- activités principales
- de travail
- Groupe de travail
- zéphyrnet