Heim > Web-Frontend > CSS-Tutorial > Wie kann ich ein Bild beim Klicken nur mit CSS um 45 Grad drehen?

Wie kann ich ein Bild beim Klicken nur mit CSS um 45 Grad drehen?

DDD
Freigeben: 2024-10-29 13:19:29
Original
1066 Leute haben es durchsucht

How can I rotate an image 45 degrees on click using only CSS?

CSS3 Bild beim Klicken mit reinem CSS animieren

In diesem Artikel erfahren Sie, wie Sie ein Bild beim Klicken mit um 45 Grad drehen reines CSS, ohne auf JavaScript angewiesen zu sein.

Anfänglicher Code

Sie haben das folgende CSS bereitgestellt:

<code class="css">img {
    display: block;
    margin: 20px;
}

.crossRotate {
    -webkit-transition-duration: 1s;
    -moz-transition-duration: 1s;
    -o-transition-duration: 1s;
     transition-duration: 1s;
    -webkit-transition-property: -webkit-transform;
    -moz-transition-property: -moz-transform;
    -o-transition-property: -o-transform;
     transition-property: transform;
}

.crossRotate:hover {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
     transform: rotate(45deg);
}</code>
Nach dem Login kopieren

Dieser Code animiert derzeit die Rotation beim Schweben, aber es reagiert nicht auf Klicks.

Nur ​​CSS-Lösung

Um die Rotation beim Klicken mit reinem CSS zu erreichen, können Sie den :active-Selektor verwenden . So sollte Ihr korrigiertes CSS aussehen:

<code class="css">.crossRotate {
    -webkit-transition-duration: 1s;
    -moz-transition-duration: 1s;
    -o-transition-duration: 1s;
     transition-duration: 1s;
    -webkit-transition-property: -webkit-transform;
    -moz-transition-property: -moz-transform;
    -o-transition-property: -o-transform;
     transition-property: transform;
}

.crossRotate:active {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
     transform: rotate(45deg);
}</code>
Nach dem Login kopieren

Wenn Sie nun auf das Bild klicken, wird es um 45 Grad gedreht. Es bleibt jedoch nach dem Loslassen des Klicks gedreht. Wenn Sie möchten, dass das Bild nach jedem Klick in seinen ursprünglichen Zustand zurückkehrt, müssen Sie JavaScript verwenden.

JavaScript-Lösung

Mit JavaScript können Sie das umschalten Drehung beim Klicken wie folgt:

<code class="javascript">$( ".crossRotate" ).click(function() {
    if (  $( this ).css( "transform" ) == 'none' ){
        $(this).css("transform","rotate(45deg)");
    } else {
        $(this).css("transform","" );
    }
});</code>
Nach dem Login kopieren

Dieser Code überprüft die aktuelle Transformation des Bildes. Wenn es „none“ ist, bedeutet dies, dass das Bild nicht gedreht ist, also um 45 Grad gedreht wird. Wenn es nicht „none“ ist, wird die Transformation zurückgesetzt und das Bild in seinen ursprünglichen Zustand zurückversetzt.

Das obige ist der detaillierte Inhalt vonWie kann ich ein Bild beim Klicken nur mit CSS um 45 Grad drehen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage