Ho un codice che, fino a poco tempo fa, funzionava su tutti i browser che supportano le trasformazioni CSS. Si è rotto nel nuovissimo Chrome (37). Ho trovato il problema. La trasformazione dallo stile calcolato di un elemento non è accettata da altri elementi.Rotate (90deg) non applicato con .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;
Ecco un violino: 0.123.
Il problema è che il secondo elemento (blu) non ruota come il primo (rosso) elemento anche se l'ho detto in javascript.
Questo mi sembra un insetto. È?
MODIFICA: Il mio codice effettivo funzionava in tutti i browser, ma il più recente Chrome, ma appare il mio codice di esempio in tutti i browser. Mi piacerebbe ancora capire perché il problema sopra si verifica.
EDIT 2: Ottenuto per rompere solo in Chrome 37 nuovamente. La mia ipotesi è che non gli piaccia la notazione scientifica; ma allora perché lo stile calcolato lo ha?
Interessante - l'uso di un valore di 45 ° sembra funzionare. Un valore di 90 gradi non riesce: [esempio fiddle] (http://jsfiddle.net/0v8v2xd7/4/) – dc5
BTW: il nuovo codice sopra non riesce su Safari versione 7.0.6 (9537.78.2) - è necessario utilizzare la proprietà 'webkitTransform' piuttosto che' transform' – dc5
non cromato usa anche il webkit? –