Đây là một giải pháp khá hay, nhưng ít nhất là một cái gì đó (?). Ý tưởng là sử dụng một biến đổi CSS để xoay nội dung trang của bạn sang chế độ gần như chân dung. Đây là mã JavaScript (được thể hiện bằng jQuery) để giúp bạn bắt đầu:
$(document).ready(function () {
function reorient(e) {
var portrait = (window.orientation % 180 == 0);
$("body > div").css("-webkit-transform", !portrait ? "rotate(-90deg)" : "");
}
window.onorientationchange = reorient;
window.setTimeout(reorient, 0);
});
Mã này hy vọng toàn bộ nội dung trang của bạn sẽ sống trong một div ngay bên trong phần tử cơ thể. Nó xoay div 90 độ trong chế độ nằm ngang - trở lại chân dung.
Còn lại như một bài tập cho người đọc: div xoay quanh điểm trung tâm của nó, vì vậy vị trí của nó có thể sẽ cần phải được điều chỉnh trừ khi nó hoàn toàn vuông.
Ngoài ra, có một vấn đề hình ảnh hấp dẫn. Khi bạn thay đổi hướng, Safari sẽ quay chậm, sau đó div cấp cao nhất chuyển sang 90 độ khác nhau. Để vui hơn nữa, hãy thêm
body > div { -webkit-transition: all 1s ease-in-out; }
CSS của bạn. Khi thiết bị quay, thì Safari sẽ thực hiện, sau đó nội dung trang của bạn sẽ thực hiện. Bắt đầu!