Maison interface Web tutoriel CSS L'utilisation de transformations CSS dans le monde réel

L'utilisation de transformations CSS dans le monde réel

Feb 10, 2025 am 11:24 AM

Using CSS Transforms in the Real World

Conversion CSS: un outil puissant pour résoudre les difficultés de conception

Cet article explorera la puissance de la conversion CSS dans les applications du monde réel, montrera comment il peut résoudre efficacement divers défis de conception et créer des effets visuels convaincants. Nous apprendrons à aligner les éléments verticalement, à créer de belles flèches, à créer des animations de chargement et à implémenter des animations flip, etc.

La conversion

CSS3 est devenue standard en 2012, et avant cela, certains navigateurs ont fourni un soutien. La transformation vous permet de transformer facilement des éléments Web, tels que des éléments de rotation, d'échelle ou d'inclinaison, pour réaliser avec une seule ligne de code, ce qui était difficile à réaliser auparavant. La conversion CSS prend en charge les transformations 2D et 3D.

En termes de compatibilité du navigateur, tous les navigateurs grand public prennent en charge la conversion 2D, y compris Internet Explorer 9 et plus tard. La conversion 3D n'est que partiellement prise en charge dans IE10 et plus tard.

Cet article n'expliquera pas les bases de la conversion. Si vous n'êtes pas familier avec la conversion, il est recommandé de lire d'abord l'introduction à la conversion 2D et 3D.

Alignement vertical des éléments enfants

L'alignement vertical des éléments a toujours été un problème pour les concepteurs de sites Web. Bien que cela semble simple, il existe en fait de nombreuses techniques lourdes. Certaines méthodes recommandent d'utiliser display: inline et vertical-align: middle, d'autres recommandent d'utiliser display: table et leurs styles associés. Bien sûr, Flexbox ou Grid peuvent résoudre ce problème, mais pour les composants plus petits, la conversion peut être une option plus simple.

Lorsque les éléments sont très variables, l'alignement vertical peut être plus compliqué. La conversion CSS fournit un moyen efficace de résoudre ce problème. Voici un exemple simple avec deux divs imbriqués:

<div class="parent">
  <div class="child">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore
  </div>
</div>

<div class="parent">
  <div class="child">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam
  </div>
</div>
Copier après la connexion
Copier après la connexion

Nous définissons la largeur, la hauteur et la bordure de l'élément parent et ajoutons un espacement pour le rendre plus beau:

.parent {
  height: 300px;
  width: 600px;
  padding: 0 1em;
  margin: 1em;
  border: 1px solid red;
}
.child {
  font-size: 1.2rem;
}
Copier après la connexion
Copier après la connexion

Ensuite, utilisez transform: translateY(-50%); pour centrer le texte verticalement:

.child {
  font-size: 1.2rem;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}
Copier après la connexion

Pour éviter le flou, vous pouvez ajouter perspective(1px):

.child {
  transform: perspective(1px) translateY(-50%);
}
Copier après la connexion

De cette façon, même si la longueur du texte est différente, les éléments enfants peuvent être parfaitement centrés verticalement.

Créer une flèche

Un autre cas d'utilisation intéressant consiste à créer des flèches de dialogue évolutives. Vous pouvez créer des flèches à l'aide d'un éditeur graphique, mais c'est lourd et l'image bitmap peut ne pas bien évoluer.

Les solutions CSS pures sont plus efficaces. Supposons que nous ayons une zone de texte:

<div class="box">
  <div class="box-content">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam
  </div>
</div>
Copier après la connexion

Créez une flèche avec le ::before pseudo-élément et convertissez-la en forme de flèche en utilisant une transformation de rotation:

.box::before {
  content: '';
  width: 1rem;
  height: 1rem;
  background-color: #e0e0e0;
  position: absolute;
  right: -0.5rem;
  top: 50%;
  margin-top: -0.5rem;
  transform: rotate(45deg);
}
Copier après la connexion

de cette façon, même si la taille de la police de la page est modifiée, les flèches peuvent maintenir la proportion.

Créer "Jump Ball" Chargement Animation

Pour indiquer le processus de chargement, vous pouvez créer une animation de chargement de balle de saut en utilisant l'animation et la transformation CSS:

<div class="parent">
  <div class="child">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore
  </div>
</div>

<div class="parent">
  <div class="child">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam
  </div>
</div>
Copier après la connexion
Copier après la connexion
.parent {
  height: 300px;
  width: 600px;
  padding: 0 1em;
  margin: 1em;
  border: 1px solid red;
}
.child {
  font-size: 1.2rem;
}
Copier après la connexion
Copier après la connexion

Créez l'animation de chargement "Rotator" à l'aide de SVG (cette pièce est similaire au texte d'origine. Pour éviter la duplication, le code détaillé est omis ici, et seul l'aperçu est conservé)

SVG peut être utilisé pour créer des animations de chargement plus complexes, telles que les filateurs. En combinant les éléments SVG, les animations CSS et les transformations, vous pouvez créer des effets de chargement visuellement attrayants.

Créer une animation de flip

Enfin, regardons un exemple d'image avec une animation de flip. Lorsque vous survolez votre souris sur l'image, il se retourne et affiche sa description. Ceci est très utile pour les sites de type Instagram. (Cette partie du contenu est similaire au texte d'origine. Pour éviter la duplication, le code détaillé est omis ici et seul l'aperçu est conservé)

Les effets d'animation en douceur en douceur peuvent être obtenus en utilisant la conversion 3D et transform-style: preserve-3d;, ainsi que les propriétés transition.

Précautions

Bien que la conversion et l'animation CSS soient puissantes, elles doivent être utilisées avec prudence pour éviter une surutilisation qui provoque une mauvaise expérience utilisateur.

Résumé

Cet article montre comment la conversion CSS peut être combinée avec d'autres technologies pour résoudre diverses tâches de conception. Nous avons appris à aligner les éléments verticalement, à créer des flèches évolutives, à sauter et à faire pivoter des animations de chargement et à implémenter des animations FLIP. N'oubliez pas que CSS doit être utilisé pour améliorer l'expérience utilisateur, pas seulement le montrer.

(Le contenu des "questions fréquemment posées sur CSS se transforme" dans le texte d'origine est très cohérente avec le contenu de cet article, il est donc omis ici)

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Cartes empilées avec un positionnement collant et une pincée de sass Cartes empilées avec un positionnement collant et une pincée de sass Apr 03, 2025 am 10:30 AM

L'autre jour, j'ai repéré ce morceau particulièrement charmant sur le site Web de Corey Ginnivan où une collection de cartes se cassent les uns sur les autres pendant que vous faites défiler.

Fontes variables de polices Google Fontes variables de polices Google Apr 09, 2025 am 10:42 AM

Je vois que Google Fonts a déployé un nouveau design (tweet). Comparé à la dernière grande refonte, cela semble beaucoup plus itératif. Je peux à peine faire la différence

Comment créer un compte à rebours animé avec HTML, CSS et JavaScript Comment créer un compte à rebours animé avec HTML, CSS et JavaScript Apr 11, 2025 am 11:29 AM

Avez-vous déjà eu besoin d'un compte à rebours sur un projet? Pour quelque chose comme ça, il pourrait être naturel d'atteindre un plugin, mais c'est en fait beaucoup plus

Pourquoi les zones réduites pourpre dans la disposition Flex sont-elles considérées à tort «espace de débordement»? Pourquoi les zones réduites pourpre dans la disposition Flex sont-elles considérées à tort «espace de débordement»? Apr 05, 2025 pm 05:51 PM

Questions sur les zones de slash violet dans les dispositions flexibles Lorsque vous utilisez des dispositions flexibles, vous pouvez rencontrer des phénomènes déroutants, comme dans les outils du développeur (D ...

Comment sélectionner un élément enfant avec l'élément de nom de première classe via CSS? Comment sélectionner un élément enfant avec l'élément de nom de première classe via CSS? Apr 05, 2025 pm 11:24 PM

Lorsque le nombre d'éléments n'est pas fixé, comment sélectionner le premier élément enfant du nom de classe spécifié via CSS. Lors du traitement de la structure HTML, vous rencontrez souvent différents éléments ...

Guide des attributs de données HTML Guide des attributs de données HTML Apr 11, 2025 am 11:50 AM

Tout ce que vous avez toujours voulu savoir sur les attributs de données dans HTML, CSS et JavaScript.

Une preuve de concept pour rendre Sass plus rapidement Une preuve de concept pour rendre Sass plus rapidement Apr 16, 2025 am 10:38 AM

Au début d'un nouveau projet, la compilation SASS se produit en un clin d'œil. Cela se sent bien, surtout quand il est associé à BrowSersync, qui recharge

See all articles