强制横屏 利用 CSS3 旋转 对根容器逆时针旋转 90 度

var detectOrient = function() {
        var width = document.documentElement.clientWidth,
            height =  document.documentElement.clientHeight,
            // $wrapper =  document.getElementById("J_wrapper"),
            $body =  document.getElementsByTagName("body"),
            style = "";
        if( width >= height ){ // 横屏
            style += "width:" + width + "px;";  // 注意旋转后的宽高切换
            style += "height:" + height + "px;";
            style += "-webkit-transform: rotate(0); transform: rotate(0);";
            style += "-webkit-transform-origin: 0 0;";
            style += "transform-origin: 0 0;";
        }
        else{ // 竖屏
            style += "width:" + height + "px;";
            style += "height:" + width + "px;";
            style += "-webkit-transform: rotate(90deg); transform: rotate(90deg);";
            // 注意旋转中点的处理
            style += "-webkit-transform-origin: " + width / 2 + "px " + width / 2 + "px;";
            style += "transform-origin: " + width / 2 + "px " + width / 2 + "px;";
        }
        $body[0].style.cssText = style;
    };
    window.onresize = detectOrient;
    detectOrient();





//css旋转根元素
@media screen and  (orientation:  portrait){

  body {
    -webkit-transform:rotate(90deg);
    -webkit-transform-origin:0% 0%;/*1.重置旋转中心*/
    -moz-transform: rotate(90deg);
    -moz-transform-origin:0% 0%;
    -ms-transform: rotate(90deg);
    -ms-transform-origin:0% 0%;
    transform: rotate(90deg);
    transform-origin:0% 0%;
    width: 100vh;/*2.利用 vh 重置 ‘宽度’ */
    height: 100vw;/* 3.利用 vw 重置 ‘高度’ */
    top: 0;
    left: 100vw;/* 4.旋转后页面超出屏幕,重置页面定位位置 */
  }
}

猜你喜欢

转载自blog.csdn.net/black2Girl/article/details/85100235