CSS: Bild drehen und oben links ausrichten

7

Ich versuche, ein Bild mit einer CSS Transformation so zu drehen, dass es innerhalb der umgebenden div korrekt ausgerichtet bleibt, dh die obere linke Ecke des Bildes sollte mit der oberen linken Ecke von div ausgerichtet sein. .

Wie Sie hier sehen können (- & gt; klicken Sie auf [rotate] ), funktioniert das nicht. Gibt es eine Möglichkeit, das zu beheben?

(Ich würde dies in einem Online-Bildbetrachter verwenden, so dass ich keinen Offset für das gedrehte Bild fest codieren kann. Es gibt viele ähnliche Fragen, aber ich habe diese genaue Frage nicht gefunden.)

    
fuenfundachtzig 30.08.2013, 11:22
quelle

4 Antworten

22

Wenn Sie möchten, dass es in CSS gemacht wird, ist dies der Weg:

%Vor%

aktualisierte Demo

Der Trick besteht darin, das Bild um die linke untere Ecke zu drehen. Sobald es fertig ist, ist es um 100% der Höhe herunter; übersetze es und jetzt ist es in Ordnung.

Um den gleichen Effekt für die umgekehrte Rotation zu erhalten: (hover to transform)

%Vor% %Vor%
    
vals 30.08.2013 17:48
quelle
4

Wenn Sie jQuery verwenden, können Sie die offset des übergeordneten Elements abrufen, diese von der neuen rotierten offset subtrahieren und den Rand verwenden, um sie in den Container zurückzusetzen. Es funktioniert mit allen Rotationen. Hier ist die Geige .

JS:

%Vor%     
Lost Left Stack 30.08.2013 13:09
quelle
3

Aus den bisher gegebenen Antworten gehe ich hervor, dass es keinen einfacheren Ansatz gibt, als JavaScript zu verwenden, um das Bild "neu auszurichten". Lassen Sie mich deshalb den Ansatz, den ich verwendet habe, teilen:

%Vor%

myrotate ist die id der <a> die ich als switch missbrauche, myimage ist (rate) die id der img zu rotieren.

Probieren Sie es hier aus.

    
fuenfundachtzig 30.08.2013 15:09
quelle
1

Ich weiß nicht, ob es einen einfacheren Weg gibt, aber Sie können den Rand des Bildes nach einer solchen Drehung einstellen.

%Vor%

Sie können js verwenden, um Bildbreite und -höhe zu erhalten, damit die Werte entsprechend der Bildgröße festgelegt werden. Ich habe einen manuellen Weg benutzt.

Ссылка

BEARBEITEN:

Sie können sich immer mit

anlegen %Vor%

wie hier gefunden: CSS "transform: rotieren () "Beeinflussung des Gesamtdesigns mit" Position: absolut "(nicht richtig ausgerichtet)

    
nahive 30.08.2013 11:46
quelle