将以下两个方法,放进你的methods里,在需要竖屏的地方调用 this.detectOrient() 即可。
如果不是vue项目,可以把方法内容搬过去,也一样的,运行就完了。
methods: {
detectOrient() {
var width = document.documentElement.clientWidth,
height = document.documentElement.clientHeight,
//$wrapper = document.getElementsByTagName("body")[0],
$wrapper = document.getElementsByTagName("html")[0],
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;";
style += "font-size:" + (width * 100 / 1125) + "px";
var html_doc = document.getElementsByTagName("html")[0];
html_doc.style.cssText = "font-size:" + (width * 100 / 1125) + "px";
} else { // 竖屏
style += "width:" + height + "px;";
style += "min-height:" + width + "px;";
style += "-webkit-transform: rotate(-90deg); transform: rotate(-90deg);";
// 注意旋转中点的处理
style += "-webkit-transform-origin: " + height / 2 + "px " + (height / 2) + "px;";
style += "transform-origin: " + height / 2 + "px " + (height / 2) + "px;";
//style += "font-size:" + height * 100 / 1125 + "px;";
//$("html").css({"font-size":(height * 100 / 1125),"overflow-y":"hidden"});
var html_doc = document.getElementsByTagName("html")[0];
html_doc.style.cssText = "font-size:" + height * 100 / 1125 + "px;" + "overflow-y:" + "hidden;" + "height:" +
height + "px;";
style += "overflow-y: hidden;";
this.add_tab();
$wrapper.style.cssText = style;
}
}
}