2012-08-02 26 views
5

Tôi đang sử dụng CSS3 để thực hiện việc chuyển đổi sau đây trên một div:CSS 3D Chuyển đổi góc Issue

'-webkit-transform' : 'rotateX(45deg) rotateZ(-45deg)'

Kết quả là như sau:

enter image description here

Hoặc như trong fiddle này : http://jsfiddle.net/kteSW/

Như chúng ta có thể thấy ở đây, góc là 36deg, thay vì 30deg (sin45 * sin45). Có ai biết lý do cho vấn đề này không? Đây có phải là dự định hay là một lỗi CSS3?


UPDATE:

tôi đã thiết lập các thông số là:

-webkit-transform-style: preserve-3d; -webkit-perspective: none;

Vì vậy, tất cả mọi thứ nên được vẽ trong một cách trực giao. Tuy nhiên, góc vẫn không phải là 30deg.

+3

Tính toán của bạn giả định một mô hình hiển thị đẳng động. CSS 3D sử dụng [phối cảnh 3D] (http://www.w3.org/TR/css3-3d-transforms/#transform-rendering). –

+0

Cảm ơn Raymond. Có cách nào để kích hoạt hiển thị isometric của CSS 3D? Chúng tôi đang sử dụng WebKit trên iOS. –

+2

Biến đổi không phải là quá trình chuyển đổi - vui lòng không kết hợp cả hai. Tôi đã chỉnh sửa các thẻ cho bạn. – BoltClock

Trả lời

6

Điều chúng tôi đang cố gắng đạt được là tính toán góc giữa mắt và trục Z khi chúng ta nhìn vào (0, 0, 0) từ (1, 1, 1).

Vì vậy, nó thực sự là (90 deg) - arctan(1/sqrt(2)) = 54.7356103 deg, không phải 45deg.