1.vux、h5打包的app如何横向屏幕?
想说点废话,欲言又止,回归正题,直接看源码吧
2.源码如下:vue的写法
methods:{
detectOrient(){
var width = document.documentElement.clientWidth,
height = document.documentElement.clientHeight,
$wrapper = this.$refs.bd, //改这个东西就得了,获取容器对象
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;";
console.log(1)
}
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;";
console.log(2)
}
$wrapper.style.cssText = style;
},
nextView(){
this.$router.push({path:'/animat',name:'animat', params:{role:this.role, name:'你好'}})
}
},
mounted(){
var that = this;
// 利用 CSS3 旋转 对根容器逆时针旋转 90 度
window.onresize = that.detectOrient();
that.detectOrient();
}
3.注意事项:
这个操作存在有一些bug,比如loading时并不会跟着旋转等,只能解决一时之需,如需详细 传送门开启
有帮助的话记得回来三连