最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

css橫豎屏

有時候一些頁面希望在手機上可以實現(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即可,這樣在手機上瀏覽會發(fā)現(xiàn)頁面處于橫屏效果,而且即使開啟了自動轉(zhuǎn)屏,轉(zhuǎn)屏后依然保持著橫屏效果。

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

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

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

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

css判斷移動端

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

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

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

/*定義豎屏 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)強制橫屏效果,但是注意手機其實還是豎屏的狀態(tài),這時候如果有輸入交互,那么鍵盤還是豎屏的。。。所以這僅僅適用于沒有鍵盤交互的頁面,比如視頻播放頁面。

那么有沒有什么辦法可以讓瀏覽器自己進入橫屏狀態(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)手機橫屏效果的代碼示例的文章就介紹到這了,更多相關(guān)Vue手機橫屏效果內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決vue頁面刷新,數(shù)據(jù)丟失的問題

    解決vue頁面刷新,數(shù)據(jù)丟失的問題

    這篇文章主要介紹了解決vue頁面刷新,數(shù)據(jù)丟失的問題,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下
    2020-11-11
  • Vue表格組件Vxe-table使用技巧總結(jié)

    Vue表格組件Vxe-table使用技巧總結(jié)

    這篇文章主要給大家介紹了關(guān)于Vue表格組件Vxe-table使用技巧的相關(guān)資料,文中還介紹了VXEtable展示指定行所遇到得問題,對大家學(xué)習(xí)或者使用Vxe-table具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-09-09
  • 詳解如何實現(xiàn)一個簡單的 vuex

    詳解如何實現(xiàn)一個簡單的 vuex

    本篇文章主要介紹了如何實現(xiàn)一個簡單的 vuex,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • proxy代理不生效以及vue?config.js不生效解決方法

    proxy代理不生效以及vue?config.js不生效解決方法

    在開發(fā)Vue項目過程中,使用了Proxy代理進行數(shù)據(jù)劫持,但是在實際運行過程中發(fā)現(xiàn)代理并沒有生效,也就是說數(shù)據(jù)并沒有被劫持,這篇文章主要給大家介紹了關(guān)于proxy代理不生效以及vue?config.js不生效解決方法的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • 在Vue中使用MQTT實現(xiàn)通信過程

    在Vue中使用MQTT實現(xiàn)通信過程

    文章介紹了在Vue項目中集成MQTT的步驟:安裝mqtt.js庫,創(chuàng)建MQTT連接工具類以實現(xiàn)復(fù)用,通過Vue組件或直接在頁面使用MQTT客戶端,最后強調(diào)這是個人經(jīng)驗分享,鼓勵支持腳本之家
    2025-07-07
  • Vue3的路由傳參方法超全匯總

    Vue3的路由傳參方法超全匯總

    vue路由傳參的使用場景一般都是應(yīng)用在父路由跳轉(zhuǎn)到子路由時,攜帶參數(shù)跳轉(zhuǎn),下面這篇文章主要給大家介紹了關(guān)于Vue3路由傳參方法的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-04-04
  • vue.js國際化 vue-i18n插件的使用詳解

    vue.js國際化 vue-i18n插件的使用詳解

    本篇文章主要介紹了vue.js國際化 vue-i18n插件的使用詳解,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • vue3中的hooks總結(jié)

    vue3中的hooks總結(jié)

    這篇文章主要介紹了vue3中的hooks總結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • vue解決跨域問題的幾種方式

    vue解決跨域問題的幾種方式

    這篇文章主要給大家介紹了關(guān)于vue解決跨域問題的幾種方式,跨域跨域報錯是前端開發(fā)中非常經(jīng)典的一個錯誤,文中通過代碼示例介紹的非常詳細,需要的朋友可以參考下
    2023-07-07
  • Vue?項目中選擇?TSX?而非傳統(tǒng)?.vue?文件的原因分析

    Vue?項目中選擇?TSX?而非傳統(tǒng)?.vue?文件的原因分析

    文章探討了Vue項目中使用TSX(TypeScript?JSX)的背景、優(yōu)勢和局限性,TSX結(jié)合了TypeScript和JSX,增強了類型安全和代碼組織性,但也增加了學(xué)習(xí)曲線和可讀性問題,對于復(fù)雜應(yīng)用,TSX提供了更大的靈活性和類型支持,逐漸成為一些開發(fā)者的選擇
    2024-11-11

最新評論

乐平市| 眉山市| 普安县| 新蔡县| 江北区| 错那县| 牡丹江市| 象州县| 信丰县| 武宁县| 江达县| 揭西县| 隆化县| 修武县| 临沂市| 绿春县| 莒南县| 沧源| 丹棱县| 顺平县| 泰兴市| 青浦区| 凤城市| 华坪县| 漳浦县| 唐海县| 绥阳县| 北票市| 赤峰市| 潜山县| 安乡县| 马山县| 格尔木市| 曲阜市| 包头市| 时尚| 泾源县| 剑川县| 广昌县| 固安县| 龙川县|