Tôi có một số mã mà, cho đến gần đây, đã làm việc trên tất cả các trình duyệt hỗ trợ chuyển đổi CSS. Nó đã phá vỡ trong Chrome mới nhất (37). Tôi đã tìm thấy vấn đề. Biến đổi từ kiểu được tính toán của một phần tử không được chấp nhận bởi các phần tử khác.Xoay (90deg) không được áp dụng bằng cách sử dụng .transform trong 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;
Đây là một Fiddle: 0.123.
Vấn đề là phần tử thứ hai (màu xanh) không xoay giống như phần tử đầu tiên (màu đỏ) mặc dù tôi đã nói với nó trong javascript.
Điều này trông giống như một lỗi đối với tôi. Là nó?
EDIT: Mã thực tế của tôi đã hoạt động trên mọi trình duyệt nhưng Chrome mới nhất, nhưng dường như mã mẫu của tôi bị hỏng trong tất cả các trình duyệt. Tôi vẫn muốn hiểu tại sao vấn đề trên xảy ra.
CHỈNH SỬA 2: Chỉ nhận lại Chrome 37. Tôi đoán là nó không thích ký hiệu khoa học; nhưng tại sao kiểu tính toán lại có nó?
Thú vị - sử dụng giá trị 45deg dường như hoạt động. Giá trị 90deg không thành công: [example fiddle] (http://jsfiddle.net/0v8v2xd7/4/) – dc5
BTW: mã mới ở trên không thành công trên Safari Phiên bản 7.0.6 (9537.78.2) - bạn cần sử dụng thuộc tính 'webkitTransform' thay vì' transform' – dc5
không phải chrome cũng sử dụng webkit? –