Jak mogę obrócić HTML <div> o 90 stopni?


Odpowiedzi:


465

Aby to osiągnąć, potrzebujesz CSS, np .:

#container_2 {
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
}

Próbny:

(W pokazie jest obrót o 45 stopni, dzięki czemu można zobaczyć efekt)

Uwaga:-o- i -moz-przedrostki są już istotne i zapewne nie jest wymagane . Wymagania IE9 -ms-oraz Safari i przeglądarka Android-webkit-


Aktualizacja 2018: Prefiksy dostawców nie są już potrzebne. Tylko transformjest wystarczająca. (dzięki @rinogo)


to się nie zmienia, używam tego w pliku css
user1808433

9
@ user1808433, ponieważ przy obrocie o 90 stopni kwadrat wyglądałby tak samo :-), oto demo: jsbin.com/opamiq/1
Dziad Borowy

7
również upewnij się, że jest to blok
chovy


28

Użyj następujących w swoim CSS

div {
    -webkit-transform: rotate(90deg); /* Safari and Chrome */
    -moz-transform: rotate(90deg);   /* Firefox */
    -ms-transform: rotate(90deg);   /* IE 9 */
    -o-transform: rotate(90deg);   /* Opera */
    transform: rotate(90deg);
} 

37
Sugestia dla wszystkich przyszłych czytelników: zawsze umieszczaj prefiksy reguł przed definicją standardów. W takim przypadku wszystkie reguły z prefiksem przeglądarki powinny znajdować się przed transform: rotate(90deg);regułą. Powodem byłoby zazwyczaj to, że standardy mają pierwszeństwo, aw CSS ostatnia definicja zawsze wygrywa.
Jesse

14

Użyj transform: rotate(90deg):

#container_2 {
    border: 1px solid;
    padding: .5em;
    width: 5em;
    height: 5em;
    transition: .3s all;  /* rotate gradually instead of instantly */
}

#container_2:hover {
    -webkit-transform: rotate(90deg);  /* to support Safari and Android browser */
    -ms-transform: rotate(90deg);      /* to support IE 9 */
    transform: rotate(90deg);
}
<div id="container_2">This box should be rotated 90&deg; on hover.</div>

Kliknij „Uruchom fragment kodu”, a następnie najedź kursorem na pole, aby zobaczyć efekt transformacji.

Realistycznie żadne inne prefiksy nie są potrzebne. Zobacz Czy mogę używać transformacji CSS3?


1
Byłoby lepiej jako komentarz pod istniejącą odpowiedzią ... lub dokonać edycji istniejącej odpowiedzi, stwierdzając, że inne prefiksy prawdopodobnie nie są potrzebne. Posiadanie 3 dokładnie takich samych odpowiedzi jest nieprzydatne.
misterManSam

@Zaz jak utrzymać obrócone pole nawet po odsłonięciu?
heyayush,

@ayushsharma: Użyj JS lub zobacz, czy stan „Ukryj CSS” pozostaje po „odsłonięciu” : sugeruje jeden hack #element{transition: 9999999s}(co powoduje, że przejście z powrotem do normalnego trwa na zawsze) i #element:hover{transition: .3s}(lub jak długo chcesz, aby rotacja trwała).
Zaz


0

Możemy dodać następujące elementy do określonego znacznika w CSS:

-webkit-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-o-transform: rotate(90deg);
-ms-transform: rotate(90deg);
transform: rotate(90deg);

W przypadku połowy obrotu zmień 90na 45.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.