J'essaie de transformer mes éléments de menu en les faisant pivoter de 10 degrés. Mon CSS fonctionne dans Firefox mais je n'ai pas réussi à reproduire l'effet dans Chrome et Safari. Je sais que IE ne prend pas en charge cette propriété CSS3, donc ce n'est pas un problème.
J'ai utilisé le CSS suivant:
li a {
-webkit-transform:rotate(10deg);
-moz-transform:rotate(10deg);
-o-transform:rotate(10deg);
}
Quelqu'un pourrait-il s'il vous plaît suggérer où je vais mal?
Merci.
-ms-transform:rotate(10deg);
transform: rotate(10deg);
) sous les versions préfixées que vous choisissez de prendre en charge.Réponses:
Ceci est simplement une supposition éclairée sans voir le reste de votre HTML / CSS:
Avez-vous postulé
display: block
oudisplay: inline-block
àli a
? Sinon, essayez-le.Sinon, essayez d'appliquer les règles de transformation CSS3 à la
li
place.la source
display: inline-block
aidé.Dans les navigateurs Webkit (Safari et Chrome),
-webkit-transform
est ignoré sur les éléments en ligne. . Préparez-vousdisplay: inline-block;
à le faire fonctionner . À des fins de démonstration / test, vous pouvez également utiliser un angle négatif ou pourtransformation-origin
éviter que le texte ne soit tourné hors de la zone visible.la source
<span>©</span>
), bien que la plupart des navigateurs affichent dans les deux sens.:hover
ou:active
) , vous devez appliquer leinline-block
à l'élément dans son état par défaut, par exemplea { display: inline-block; } a:active { transform: translateY(0.125em); }
. L'applicationinline-block
à l'état d'interaction seule ne semble pas fonctionner. Dans Chrome au moins - cela fonctionne très bien dans Firefox.-webkit-transform
cela ne fonctionne pas sur les éléments en ligne. Avait été bloqué sur cela auparavant.Puisque personne n'a fait référence à la documentation pertinente:
Dans votre cas, les
<a>
éléments sontinline
par défaut.Changer la
display
valeur de la propriété eninline-block
rend les éléments en tant qu'éléments atomiques de niveau en ligne , et par conséquent les éléments deviennent «transformables» par définition.Comme mentionné ci-dessus, cela ne semble applicable que dans les
-webkit
navigateurs basés car il semble fonctionner dans IE / FF de toute façon.la source
Essayez-vous spécifiquement de faire pivoter les liens uniquement? Parce que le faire sur les balises LI semble fonctionner correctement.
Selon Snook, les transformations nécessitent que les éléments affectés soient bloqués. Il a également du code pour que cela fonctionne pour IE en utilisant des filtres, si vous souhaitez l'ajouter (bien qu'il semble y avoir des limitations sur les valeurs).
la source
-webkit-transform
n'est plus nécessairems supporte déjà la rotation (
-ms-transform: rotate(-10deg);
)essaye ça:
la source
-webkit-transform
n'était en effet plus nécessaire dans Chrome. Cependant, il était toujours nécessaire dans Safari 8.