欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue實現(xiàn)手機(jī)橫屏效果的代碼示例

 更新時間:2023年08月13日 09:45:06   作者:BennuCTech  
有時候一些頁面希望在手機(jī)上可以實現(xiàn)橫屏的效果,比如播放頁面,所以本文我們講給大家介紹Vue如何實現(xiàn)手機(jī)橫屏效果,文章通過代碼示例介紹的非常詳細(xì),感興趣的同學(xué)跟著小編一起來看看吧

css橫豎屏

有時候一些頁面希望在手機(jī)上可以實現(xiàn)橫屏的效果,比如播放頁面,這樣我們創(chuàng)建如下的css

.mobile-landscape-container {
  @media screen and (orientation: portrait) {
    position: absolute;
    width: 100vh;
    height: 100vw;
    top: 0;
    left: 100vw;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    transform-origin: 0% 0%;
  }
  @media screen and (orientation: landscape) {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
  }
}

然后為該頁面使用該css即可,這樣在手機(jī)上瀏覽會發(fā)現(xiàn)頁面處于橫屏效果,而且即使開啟了自動轉(zhuǎn)屏,轉(zhuǎn)屏后依然保持著橫屏效果。

注意使用這個樣式后,內(nèi)部的組件就不能使用vw和vh了,因為這兩個屬性被顛倒了,如果繼續(xù)使用會導(dǎo)致頁面結(jié)構(gòu)錯誤

但是有一個問題,就是如果將pc端瀏覽器縮小到高比寬大的情況下,頁面同樣會切換,效果不太好。所以可以判斷是否是手機(jī),只在移動端設(shè)置該樣式。

有兩種方式可以實現(xiàn):

  • 通過vue的:class來判斷是否是手機(jī),然后再添加該樣式即可。
  • 通過css的max-device-widthmax-device-height來判斷。

css判斷移動端

max-device-widthmax-device-heightmax-widthmax-height,它們不受窗口大小的影響,就是設(shè)備屏幕的寬高,是固定值。而pc端分辨率起點是800x600,目前移動端的瀏覽器分辨率都不會超過這個值。

注意移動端的屏幕分辨率和瀏覽器分辨率是不一樣的,瀏覽器分辨率要小很多,因為目前手機(jī)的像素密度都大于1

所以我們可以通過max-device-widthmax-device-height來判斷是否是手機(jī)端,比如:

/*定義豎屏 css*/
@media screen and (orientation:portrait) and (max-device-width:600px) and (max-device-height:800px) {
}
/*定義橫屏 css*/
@media screen and (orientation:landscape) and (max-device-width:800px) and (max-device-height:600px) {

這樣我們?yōu)樯厦娴臉邮郊由?code>max-device-width和max-device-height就可以使它只在移動端生效,不影響pc端。

html5橫屏

通過上面的方法實現(xiàn)強(qiáng)制橫屏效果,但是注意手機(jī)其實還是豎屏的狀態(tài),這時候如果有輸入交互,那么鍵盤還是豎屏的。。。所以這僅僅適用于沒有鍵盤交互的頁面,比如視頻播放頁面。

那么有沒有什么辦法可以讓瀏覽器自己進(jìn)入橫屏狀態(tài)(就像APP中那樣),html5提供了一個API:

window.screen.orientation.lock("landscape-primary");

但是注意這個api必須在全屏狀態(tài)下才有效,也就是說需要在document.documentElement.requestFullscreen();screenfull.toggle()后執(zhí)行lock函數(shù)。

同時因為全屏需要有用戶交互,所以最佳的方式就是一個全屏按鈕,點擊的時候全屏再切換橫屏即可。這樣鍵盤也是橫屏狀態(tài)下的鍵盤了。

但是注意:

  • requestFullscreen在iOS上無效(screenfull也一樣),所以screen.orientation.lock在iOS上也沒有效果
  • 雖然requestFullscreen在微信內(nèi)置瀏覽器中有效,但是screen.orientation.lock無效,也就是說能全屏但是無法橫屏。

到此這篇關(guān)于Vue實現(xiàn)手機(jī)橫屏效果的代碼示例的文章就介紹到這了,更多相關(guān)Vue手機(jī)橫屏效果內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Electron實現(xiàn)靜默打印小票的流程詳解

    Electron實現(xiàn)靜默打印小票的流程詳解

    很多情況下程序中使用的打印都是用戶無感知的,并且想要靈活的控制打印內(nèi)容,往往需要借助打印機(jī)給我們提供的api再進(jìn)行開發(fā),這種開發(fā)方式非常繁瑣,并且開發(fā)難度較大,本文給大家介紹了Electron實現(xiàn)靜默打印小票的流程,感興趣的朋友可以參考下
    2024-06-06
  • vue修改滾動條樣式的方法

    vue修改滾動條樣式的方法

    這篇文章主要介紹了vue修改滾動條樣式,首先要知道,修改滾動條樣式,利用偽元素-webkit-scrollbar。下面來看看文章內(nèi)容的具體實現(xiàn)吧
    2021-11-11
  • vue-resource請求實現(xiàn)http登錄攔截或者路由攔截的方法

    vue-resource請求實現(xiàn)http登錄攔截或者路由攔截的方法

    這篇文章主要介紹了vue-resource請求實現(xiàn)http登錄攔截或者路由攔截的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • vue3父組件異步props傳值子組件接收不到值問題解決辦法

    vue3父組件異步props傳值子組件接收不到值問題解決辦法

    這篇文章主要給大家介紹了關(guān)于vue3父組件異步props傳值子組件接收不到值問題的解決辦法,需要的朋友可以參考下
    2024-01-01
  • Vue實現(xiàn)頁面刷新跳轉(zhuǎn)到當(dāng)前頁面功能

    Vue實現(xiàn)頁面刷新跳轉(zhuǎn)到當(dāng)前頁面功能

    在Vue.js應(yīng)用開發(fā)中,有時候我們需要實現(xiàn)頁面的刷新或跳轉(zhuǎn)到當(dāng)前頁面的功能,這種需求在某些特定場景下非常有用,本文將詳細(xì)介紹如何在Vue中實現(xiàn)頁面刷新和跳轉(zhuǎn)到當(dāng)前頁面的功能,并提供多個示例和使用技巧,需要的朋友可以參考下
    2024-10-10
  • Vue如何使用ElementUI對表單元素進(jìn)行自定義校驗及踩坑

    Vue如何使用ElementUI對表單元素進(jìn)行自定義校驗及踩坑

    有一些驗證不是通過input select這樣的受控組件來觸發(fā)驗證條件的 ,可以通過自定義驗證的方法來觸發(fā),下面這篇文章主要給大家介紹了關(guān)于Vue如何使用ElementUI對表單元素進(jìn)行自定義校驗及踩坑的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • 詳解Vue如何實現(xiàn)字母驗證碼

    詳解Vue如何實現(xiàn)字母驗證碼

    這篇文章主要為大家介紹了Vue如何實現(xiàn)字母驗證碼詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • vue實現(xiàn)百度搜索功能

    vue實現(xiàn)百度搜索功能

    這篇文章主要為大家詳細(xì)介紹了vue實現(xiàn)百度搜索功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • Vue+Element使用富文本編輯器的示例代碼

    Vue+Element使用富文本編輯器的示例代碼

    本篇文章主要介紹了Vue+Element使用富文本編輯器的示例代碼,具有一定的參考價值,有興趣的可以了解一下
    2017-08-08
  • 詳解Vue3.0 前的 TypeScript 最佳入門實踐

    詳解Vue3.0 前的 TypeScript 最佳入門實踐

    這篇文章主要介紹了詳解Vue3.0 前的 TypeScript 最佳入門實踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06

最新評論