国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁(yè) > 網(wǎng)站 > 網(wǎng)頁(yè)設(shè)計(jì) > 正文

關(guān)于移動(dòng)端頁(yè)面強(qiáng)制豎屏的方法

2024-08-30 08:36:08
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

最近工作中寫了一個(gè)移動(dòng)端的頁(yè)面,本來(lái)是沒什么的,但是有一個(gè)要求感覺很奇怪,從前也沒有遇到過,就是我寫的這個(gè)頁(yè)面需要放在一個(gè)APP中,但是這個(gè)APP是橫屏的,打開這個(gè)頁(yè)面的webview也是橫屏的(最新版的APP打開的時(shí)候是豎屏的webview),本來(lái)我們是用的rem布局,橫屏的狀態(tài)下也是沒有什么問題的,但是甲方希望在橫屏打開的時(shí)候強(qiáng)制這個(gè)頁(yè)面豎屏顯示。所以就有了下面一系列的操作了。

首先是判斷橫屏的狀態(tài),使用的一下的代碼:

function orient() {            if(window.orientation == 90 || window.orientation == -90) {//橫屏                //ipad、iphone豎屏;Andriod橫屏                //$("body").attr("class", "landscape");                //orientation = 'landscape';                //alert("ipad、iphone豎屏;Andriod橫屏");                $("p").text("橫屏");                return false;            } else if(window.orientation == 0 || window.orientation == 180) {//豎屏                //ipad、iphone橫屏;Andriod豎屏//                $("body").attr("class", "portrait");//                orientation = 'portrait';                //alert("ipad、iphone橫屏;Andriod豎屏");                $("p").text("豎屏");                return false;            }        }        //頁(yè)面加載時(shí)調(diào)用        $(function() {            orient();        });        //用戶變化屏幕方向時(shí)調(diào)用        $(window).on('orientationchange', function(e) {                        orient();                    });

這個(gè)就是在監(jiān)測(cè)手機(jī)的方向。但是,因?yàn)榇蜷_的這個(gè)APP的時(shí)候就是橫屏打開的,多以這個(gè)是沒辦法監(jiān)測(cè)到的,而且這個(gè)還有一個(gè)前提就是手機(jī)必須打開了自動(dòng)旋轉(zhuǎn)才是可以的。所以上面的方法被拋棄了。

既然智能的辦法被拋棄了,那就用最賤的辦法,就是監(jiān)測(cè)屏幕的寬度和高度。當(dāng)高大于寬的時(shí)候,我們默認(rèn)手機(jī)是豎屏的狀態(tài),當(dāng)寬大于高的時(shí)候,我們認(rèn)為是橫屏的狀態(tài)。(當(dāng)然了這個(gè)也是有局限的,但是考慮到新的APP中已經(jīng)把橫豎屏的問題解決了,這里就姑且這么做了)。當(dāng)豎屏的狀態(tài)我們是不需要做什么的。但是在橫屏的狀態(tài)下,我們就要把頁(yè)面轉(zhuǎn)動(dòng)90度了。廢話不多說,直接看代碼:

// 利用 CSS3 旋轉(zhuǎn) 對(duì)根容器逆時(shí)針旋轉(zhuǎn) 90 度 強(qiáng)制用戶進(jìn)行豎屏顯示var detectOrient = function() {    var width = document.documentElement.clientWidth,        height = document.documentElement.clientHeight,        //$wrapper = document.getElementsByTagName("body")[0],        $wrapper = document.getElementById("vue"),        style = "";    if(width <= height) { // 橫屏//        style += "width:" + width + "px;"; // 注意旋轉(zhuǎn)后的寬高切換//        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);";        // 注意旋轉(zhuǎn)中點(diǎn)的處理        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;";        add_tab();        $wrapper.style.cssText = style;    }        }window.onresize = detectOrient;detectOrient();function add_tab(){    var clone_tab = $("footer").clone();    $("footer").remove();    clone_tab.css({"transform":"rotate(-90deg)","transform-origin":"top right"})    $("body").append(clone_tab);    clone_tab.css({"position":"fixed","right":"1.77rem","bottom":"4rem","left":"auto","top":"0","width":"11.25rem","height":"1.77rem"})}

相信這段代碼對(duì)于前端人員來(lái)說不是很難,但是有一點(diǎn)需要注意的有三點(diǎn)。

第一點(diǎn):

最開始的時(shí)候我是為了方便直接旋轉(zhuǎn)的整個(gè)的html,這個(gè)是時(shí)候會(huì)有一個(gè)問題,就是頁(yè)面中的fixed定位的元素,定位就不管用了(代碼中的<footer>就是作為tab切換放在底部的);這個(gè)就需要我們更改了,既然旋轉(zhuǎn)父元素,子元素就不管用了,那我們就不要旋轉(zhuǎn)父元素了,直接旋轉(zhuǎn)他的兄弟元素就可以了。我這里是旋轉(zhuǎn)的一個(gè)叫做#vue的元素,因?yàn)槲业捻?yè)面中的其他的內(nèi)容全部是在這個(gè)div當(dāng)中的。所以我就旋轉(zhuǎn)了這個(gè)元素。然后這個(gè)時(shí)候定位是可以用的,但是樣式不對(duì),所以在我的add_tab這個(gè)函數(shù)中就是在調(diào)整這個(gè)元素的大小和樣式,讓他能正常的顯示在屏幕的右側(cè),也就是豎屏的狀態(tài)下,屏幕的底端。

第二點(diǎn):

第二點(diǎn)需要注意的是,應(yīng)為我用的是rem布局,多以我會(huì)更改html的font-size,但是這個(gè)時(shí)候就要小心了,當(dāng)我們旋轉(zhuǎn)過來(lái)之后,寬變成了高,高變成了寬,所以我們需要用height來(lái)計(jì)算根目錄的字體大小。

第三點(diǎn):

第三點(diǎn)就是在程序中注明的,需要我們注意旋轉(zhuǎn)的中心,默認(rèn)的旋轉(zhuǎn)中心是在所選元素的中心點(diǎn)。多以我們要改變旋轉(zhuǎn)的中心點(diǎn)。旋轉(zhuǎn)之后還要把html的overflow-y:hidden。否則就會(huì)出現(xiàn)多余的滾動(dòng)。

這樣的話,基本上就把整個(gè)頁(yè)面旋轉(zhuǎn)過來(lái)了,并且把底部的fixed定位的元素再次定位成功了。比較幸運(yùn)的是我們用的彈窗是用的layui的彈窗,再把這個(gè)彈窗旋轉(zhuǎn)90度就可以了。

ps:最后發(fā)現(xiàn)一點(diǎn)問題是沒辦法解決的,就是當(dāng)頁(yè)面夠長(zhǎng)的時(shí)候,也就是有滾動(dòng)條的時(shí)候,彈窗出來(lái)以后,滑動(dòng)后面的遮罩層的話,后面的頁(yè)面會(huì)向上滑動(dòng)。這個(gè)本來(lái)是可以解決的,我上面的這個(gè)文章就是利用fixed定位解決的,但是因?yàn)樾D(zhuǎn)了,這個(gè)失效了,所以就沒有好的辦法了。在豎屏狀態(tài)下是沒問題的。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
在线观看电影av| 亚洲а∨精品天堂在线| 久久99国产视频| eeuss影院www在线播放| 天天操中文字幕视频| 免费精品国产自产拍观看| 一本久中文高清| av天天在线| 免费三级毛片| 国产三区在线观看| 在线一区观看| 日韩在线天堂| 国产精品黄页网站在线播放免费| 国产国语**毛片高清视频| 在线观看的网站你懂的| 国产在线观看91| 精品伦理一区二区| 黄色av网站在线| 国产娇喘精品一区二区三区图片| 精品无人乱码| 狠狠干天天干| 国产福利视频在线| 日本aⅴ写真网站免费| 国产呻吟对白刺激无套视频在线| 开心婷婷激情五月| 在线观看精品视频一区二区三区| 国产裸舞福利在线视频合集| 在线免费观看你懂的| 在线91av| 尤物免费看在线视频| 碰草在线视频| 在线国产小视频| 精品一区二区三区免费站| 国产精品一区在线看| 青草在线视频在线观看| 在线观看免费黄色| 国产成人久久精品77777| 欧美亚洲系列| 四虎成人免费| www.91在线播放| 夜夜爽夜夜操| 99免费视频| 亚洲精品视频在线免费| 在线视频色在线| 精品国产99久久久久久| 精品福利视频导航大全| 97在线超碰| a中文在线播放| 青青草免费在线视频| 免费看ww视频网站入口| 黄色av网站在线免费观看| 超碰国产在线观看| 日本视频一二三区中文字幕| 欧美日韩亚洲国内综合网| 亚洲videos| 福利视频网址导航| 99热在线观看免费| 国产二级片在线| 在线免费观看高清视频色| gogo高清在线播放免费| 久热中文字幕在线观看| 中文字幕网站视频在线| 国产粉嫩一区二区三区在线观看| 在线一区观看| 黄色av网站在线免费观看| 国产videos| 青青草视频免费在线观看| 欧美日韩亚洲国内综合网| 福利视频在线看| 国产三区四区在线观看| 午夜在线视频| 国产精品9区| 久蕉依人在线视频| 国产成人精品综合网站| 日本天堂影院在线视频| 国产精品久久久久久福利| 在线久久视频| 国产一区二区影视| www.毛片| 伊人网在线观看| 国产无遮挡又黄又爽免费网站| av福利在线播放| 快射av在线播放一区| 精品麻豆一区二区三区| 午夜视频在线观看网站午夜视频在线| 国产福利在线看| 黄色电影网站在线观看| 亚洲天堂久久久| 国产黄色一级电影| 国产在线二区| 国产在线激情视频| 青青草视频在线观看| 在线视频二区| 国产91足控脚交在线观看| 国产剧情在线一区| 久久精品国产亚洲a∨麻豆| 精品卡一卡卡2卡3网站| 国产亚av手机在线观看| 丁香视频五月| 狠狠综合久久久综合| 免费视频中文字幕| 日本不卡影院| 欧美日韩在线视频免费观看| av日韩在线免费| 亚洲综合在线免费| 99re6在线视频精品免费| 精品视频麻豆入口| 在线视频中文字幕久| 天天艹天天操| 欧美日韩久久中文字幕| 狠狠插狠狠操| 国产精品久久人| 91视频黄色| 欧美性猛交xxxx免费看蜜桃| 国内自拍视频在线观看| 中文字幕一区免费| 国产99re66在线视频| av丝袜在线| 九色自拍视频| 国产三级在线| 四虎久久影院| 最新中文字幕在线| 18av在线视频| 久草在线视频网| 国产青青草在线| 四虎国产精品永久在线| 国产一区电影| 国产寡妇树林野战在线播放| 四虎精品视频| 国产日产一区二区| 四虎影院成人| 国产激情视频网址| www.av在线视频| 国产私拍精品| 九九视频精品在线| 精品a在线观看| 国产一二区在线| 九九热在线观看| 99re6在线视频精品免费| 久草在线视频网| 四虎免费视频| 99热免费观看| 五月婷婷丁香激情| 一级二级在线观看| 国产黄色免费在线观看| 黄网在线免费| 开心丁香婷婷深爱五月| av丝袜在线| 精品国产一区二区三区久久久狼牙| 超碰在线97国产| www免费在线观看| 97人人在线| 7777在线| 国产xxx在线| 国产网友自拍视频导航网站在线观看| 麻豆精品永久免费视频| 午夜亚洲成人| 中文天堂av| 精品黄色免费中文电影在线播放| 中文字幕成人乱码在线电影| 二区三区中文字幕| 国产精品一区二区资源| 免费观看一二区视频网站| 亚洲夜夜综合| 在线观看视频污| 天天操夜夜做| 欧美亚洲天堂| 国产在线麻豆精品| 粉嫩av一区| 国产精品免费视频一区一| 国产丝袜护土调教在线视频| 国产精品乱码一区二区三区视频 | 国产高清在线观看| 精品欧美日韩一区二区| 一本久中文高清| 超碰国产在线| 国产探花视频在线观看| 精品福利影院| 免费99热在线观看| 最新av中文字幕| 影音av资源站| 麻豆国产在线视频| 国产网红在线| 在线视频中文字幕| 好看的中文字幕在线播放 | 国产一区二区三区不卡免费观看 | 国产图片综合| 亚洲精品成人a| 1区2区3区在线| www.eeuss影院| 国产精品视频一区二区久久| 天天激情综合| 国产天堂在线播放视频| av免费在线观看网站| 最新黄网在线观看| 毛片在线视频| 在线免费观看黄色av| 国产卡二和卡三的视频| 亚洲一本大道| 国产成人天天5g影院|