Ich habe Code, der bis vor kurzem an allen Browsern arbeitete, die CSS-Transformationen unterstützen. Es hat im neuesten Chrome (37) eingebrochen. Ich habe das Problem gefunden. Die Transformation aus dem berechneten Stil eines Elements wird von anderen Elementen nicht akzeptiert.Drehen (90 Grad) wird nicht angewendet mit .Transform in Chrome 37
HTML
<div class="one">One</div>
<div class="two">Two</div>
<span></span>
CSS
div {
width: 100px;
height: 100px
}
.one {
background-color: red;
transform: rotate(90deg);
}
.two {
background-color: blue
}
Javascript
var oneStyle = window.getComputedStyle(document.querySelector('.one'));
var oneTransform = oneStyle.transform;
document.querySelector('span').innerHTML = 'Tranform value is: ' + oneTransform;
var twoStyle = document.querySelector('.two').style;
twoStyle.transform = oneTransform;
ist hier ein Fiddle: 0.123.
Das Problem ist, dass das zweite (blaue) Element nicht gleich rotiert wie das erste (rote) Element, obwohl ich es im Javascript gesagt habe.
Das sieht für mich wie ein Fehler aus. Ist es?
EDIT: Mein tatsächlicher Code funktionierte in jedem Browser, aber das neueste Chrome, aber es scheint, dass mein Beispielcode in allen Browsern bricht. Ich möchte immer noch verstehen, warum das obige Problem auftritt.
EDIT 2: Habe es geschafft, nur in Chrome 37 wieder einzubrechen. Meine Vermutung ist, dass es die wissenschaftliche Notation nicht mag; Aber warum sollte der berechnete Stil das haben?
Interessant - mit einem Wert von 45deg scheint zu funktionieren. Ein Wert von 90deg schlägt fehl: [Beispiel Geige] (http://jsfiddle.net/0v8v2xd7/4/) – dc5
BTW: der neue Code oben schlägt auf Safari Version 7.0.6 (9537.78.2) fehl - Sie müssen die Eigenschaft verwenden 'webkitTransform' anstelle von' transform' – dc5
verwendet Chrome nicht auch Webkit? –