2014-05-08 11 views
5

ich eine SVG haben, in der einige Elemente auf einem mediaquery gedreht abhängig, wie folgt aus:Warum CSS Rotation in Medien Abfrage drehen sich nicht zurück

@media (max-width: 480px) { 
    rect { 
     transform: rotate(10deg); 
    } 
} 

Das Element ganz gut dreht, sondern (zumindest in Chrome) weigert sich zurückzugehen. Warum das? Andere Anweisungen, z. B. füllen, arbeiten in beiden Richtungen.

JSFiddle: http://jsfiddle.net/MM3VC/1/

+1

Works für mich auf Firefox mit dem Rest der Präfixe in Ihrer Geige zur Verfügung gestellt. – BoltClock

+0

True, funktioniert in Firefox, aber nicht in Chrome, es scheint – leo

+0

Die Transformation scheint nicht in IE überhaupt zu funktionieren - vielleicht unterstützt IE noch nicht Transformationen auf SVG-Elementen. Das Verhalten von Chrome ist nur * seltsam *, aber Chrome hat immer ein merkwürdiges Verhalten. – BoltClock

Antwort

3

Ich bin mir nicht sicher, warum es nicht zurück zu drehen, aber man könnte versuchen, diese, die zurück geht, wenn das Ansichtsfenster breite

rect { 
    -webkit-transform: rotate(0); 
    -moz-transform: rotate(0); 
    -o-transform: rotate(0); 
    -ms-transform: rotate(0); 
    transform: rotate(0); 
} 

@media (max-width: 480px) { 
    rect { 
     fill: red; 
     -webkit-transform: rotate(10deg); 
     -moz-transform: rotate(10deg); 
     -o-transform: rotate(10deg); 
     -ms-transform: rotate(10deg); 
     transform: rotate(10deg); 
    } 
} 

http://jsfiddle.net/MM3VC/3/

+0

Schöne Lösung, obwohl ich immer noch auf eine Erklärung hoffe! – leo

0

Dies könnte bekommt eher ein SVG-Problem beim Neu-Rendering/Re-Drawing.

Hier ist ein Beispiel eines div anstelle: http://jsfiddle.net/avera813/26eDr/

.bar { 
    width:10px; 
    height:50px; 
    background-color:orange; 
    display:block; 
    } 

    @media (max-width: 480px) { 
    .bar { 
     background-color: red; 
     -webkit-transform: rotate(10deg); 
     -moz-transform: rotate(10deg); 
     -o-transform: rotate(10deg); 
     -ms-transform: rotate(10deg); 
     transform: rotate(10deg); 
    } 

}

+0

Ja, ich bin mir bewusst, dass es nur in SVGs vorkommt, daher das Beispiel in der Geige! – leo