Maison >interface Web >tutoriel CSS >transitions CSS3 et transformations 2D – révision

transitions CSS3 et transformations 2D – révision

高洛峰
高洛峰original
2017-02-21 11:24:221328parcourir

1.transition
Syntaxe : transition : propriété durée timing-function delay ;
Transition-property Définir le nom de la propriété CSS de l'effet de transition
Syntaxe : transition-property : none | all | property
none Aucune propriété n'obtiendra l'effet de transition
Toutes les propriétés obtiendront l'effet de transition.
Property définit une liste de noms de propriétés CSS qui appliquent des effets de transition. La liste est séparée par des virgules.
nom de l'attribut de l'élément d'indentation
transition-duration Combien de secondes ou de millisecondes il faut pour terminer l'effet de transition
Syntaxe : transition-duration :
time spécifie le temps nécessaire pour terminer l'effet de transition. . La valeur par défaut est 0, ce qui signifie qu'il n'y aura aucun effet
  Transition-timing-function spécifie la courbe de vitesse de l'effet de vitesse.
Syntaxe : transition-timing-function : Linear|ease|ease-in|ease-out|ease-in-out|cubic-bezier(n,n,n,n);
Linear spécifie la même vitesse Un effet transitionnel du début à la fin.
Ease précise qu'il commence à une vitesse lente, puis devient rapide, puis se termine à une vitesse lente.
     ease-in spécifie un effet excessif qui démarre à une vitesse lente.
     ease-out spécifie un effet excessif qui se termine à une vitesse lente.
Ease-in-out spécifie un effet de transition qui commence et se termine à une vitesse lente.
Cubic-bezier(n,n,n,n) Définissez votre propre valeur en cubique-bezier. Les valeurs possibles sont des valeurs comprises entre 0 et 1.
Transition-delay Définit le moment où l'effet de transition commence
Syntaxe : transition-delay: time;
time spécifie le temps d'attente avant le début de l'effet de transition.

Exemple :

  


    Résultats : Comme le montre la figure

  🎜>css3 过渡和2d变换—回顾

Exemple : (Courbe de Bézier)

1.295,0.000,1.610);>
.box:hover{width:500px;>
Résultat : Comme indiqué sur la figure

Exemple : (Plusieurs variantes écrites ensemble)
:red; transition:1swidth,2s height,3s background;}
  .box:hover{width:300px;height:150px;background:blue;}

  

css3 过渡和2d变换—回顾 Résultat : Comme le montre la figure

La signification du changement, en CSS3, la transformation comprend principalement les types suivants, rotation, inclinaison, mise à l'échelle et translation, ainsi que matrice de transformation matricielle
Syntaxe : transform : none | : rotate | scale | translation |matrix; Separate; Il existe trois types de rotation, d'échelle et de translation, mais je dois rappeler à tout le monde que dans le passé, nos effets de superposition étaient séparés par des virgules (", "),

Mais lorsque vous utilisez plusieurs attributs dans la transformation, ils doivent être séparés par des espaces. N'oubliez pas qu'ils sont séparés par des espaces.

                                   En spécifiant un Rotation 2D (rotation 2D) sur l'élément d'origine via le paramètre d'angle spécifié, l'attribut transform-origin doit d'abord être défini.
Transform-origin définit le point de base de la rotation, où l'angle fait référence à l'angle de rotation
Si la valeur définie est un nombre positif, cela signifie une rotation dans le sens des aiguilles d'une montre, si la valeur définie est un nombre négatif, cela signifie une rotation dans le sens inverse des aiguilles d'une montre. .
Par exemple : transform:rotate(30deg):
Moving Translate
Moving Translate est divisé en trois situations : Translate(x,y) se déplace horizontalement et verticalement en même temps (c'est-à-dire l'axe X et l'axe Y se déplacent en même temps) ; translationX(x) ne se déplace que dans la direction horizontale (le mouvement de l'axe X translationY(Y) ne se déplace que dans la direction verticale (mouvement de l'axe Y)

                                                        🛛G. Il existe également trois situations : scale(x,y) fait évoluer l'élément horizontalement et verticalement en même temps (c'est-à-dire que l'axe X et l'axe Y sont mis à l'échelle en même temps) ; l'élément évolue uniquement horizontalement (mise à l'échelle de l'axe X) ;

L'élément scaleY(y) évolue uniquement dans la direction verticale (mise à l'échelle de l'axe Y), mais ils ont le même point central et la même base de mise à l'échelle,
Son point central est la position centrale de l'élément et la base de mise à l'échelle est 1. Si sa valeur est supérieure à 1 élément Si la valeur est inférieure à 1, l'élément sera agrandi

En même temps, déformez et. se déformer selon une certaine valeur d'angle) ; skewX(x) ne fait que déformer l'élément dans la direction horizontale (distorsion de l'axe X)

        skewY(y) ne fait que déformer l'élément dans la direction verticale (Y) ; Distorsion de l'axe)

Matrix(, , , , ,

number>) Spécifiant une transformation 2D sous la forme de une matrice de transformation à six valeurs (a, b, c, d, e, f) équivaut à appliquer directement une matrice de transformation [a b c d e f] basée sur la direction horizontale (axe X). Axe Y) et changer le point de base de l'élément transform-origin. Sa fonction principale est de nous permettre de changer la position du point de base de l'élément avant d'effectuer l'action de transformation,

Parce que le point de base par défaut de notre élément est. Sa position centrale, en d'autres termes, lorsque nous n'utilisons pas transform-origin pour changer la position du point de base de l'élément, les opérations telles que rotation, translation, mise à l'échelle, inclinaison, matrice, etc. effectuées par transformation sont toutes basées sur la position centrale de l'élément.


Exemple : (rotation)
> .box:hover { -webkit-transform:rotate(45deg);}
🎜>
     

         Fond d'écran int :red;margin:100px auto 0; transition:2s;}

.box:hover{-webkit-transform:translate(-100px,200px);}

/p>
Résultat : La position de l'élément change.

Exemple : (zoom)
     .box: hover{webkit-transform:scale(2);>
>      


                                                                       int 0px auto 0;
:80px;arrière-plan:rouge;marge: 100px transition automatique 0; :2s;>

          .box:hover{-webkit-transform:matrix(0.5,0.38,-0.38,2,0,0);>

    

111css3 过渡和2d变换—回顾    Résultat : Comme indiqué sur la figure

    

        démo 示例: