Próbuję przekształcić moje pozycje menu, obracając je o 10 stopni. Mój CSS działa w Firefoksie, ale nie udało mi się odtworzyć efektu w Chrome i Safari. Wiem, że IE nie obsługuje tej właściwości CSS3, więc nie stanowi to problemu.
Użyłem następującego CSS:
li a {
-webkit-transform:rotate(10deg);
-moz-transform:rotate(10deg);
-o-transform:rotate(10deg);
}
Czy ktoś mógłby zasugerować, gdzie idę źle?
Dzięki.
-ms-transform:rotate(10deg);
transform: rotate(10deg);
) Pod dowolną wersją z prefiksem, którą wybierzesz do obsługi.Odpowiedzi:
To jest tylko zgadywanie bez oglądania reszty HTML / CSS:
Czy złożyłeś podanie
display: block
lubdisplay: inline-block
doli a
? Jeśli nie, spróbuj.W przeciwnym razie spróbuj
li
zamiast tego zastosować reguły transformacji CSS3 .źródło
display: inline-block
Pomogło.W przeglądarkach opartych na webkitach (Safari i Chrome)
-webkit-transform
jest ignorowany w elementach wbudowanych. . Ustaw,display: inline-block;
żeby to działało . W celach demonstracyjnych / testowych możesz również użyć kąta ujemnego lubtransformation-origin
aby tekst nie był obracany poza widocznym obszarem.źródło
<span>©</span>
), chociaż większość przeglądarek renderuje w obie strony.:hover
Lub:active
), musisz zastosowaćinline-block
do elementu w jego stanie domyślnym, npa { display: inline-block; } a:active { transform: translateY(0.125em); }
.. Samo zastosowanieinline-block
do stanu interakcji nie działa. Przynajmniej w Chrome - działa dobrze w Firefoksie.-webkit-transform
to nie działa w przypadku elementów wbudowanych. Utknąłem na tym wcześniej.Ponieważ nikt nie odniósł się do odpowiedniej dokumentacji:
W twoim przypadku
<a>
elementy sąinline
domyślne.Zmiana wartości
display
właściwości w celuinline-block
renderowania elementów jako atomowych elementów liniowych , w związku z czym elementy z definicji stają się „transformowalne” .Jak wspomniano powyżej, wydaje się to mieć zastosowanie tylko w
-webkit
przeglądarkach opartych na systemie, ponieważ wydaje się, że działa w IE / FF niezależnie.źródło
Czy konkretnie próbujesz obrócić tylko linki? Ponieważ robienie tego na tagach LI wydaje się działać dobrze.
Według Snooka, transformacje wymagają blokowania elementów, na które ma to wpływ. Ma tam również kod, dzięki któremu działa to dla IE przy użyciu filtrów, jeśli chcesz go dodać (chociaż wydaje się, że istnieją pewne ograniczenia dotyczące wartości).
źródło
-webkit-transform
nie jest już potrzebnems już obsługuje rotację (
-ms-transform: rotate(-10deg);
)Spróbuj tego:
źródło
-webkit-transform
rzeczywiście nie jest już potrzebny w Chrome. Jednak nadal było potrzebne w Safari 8.