日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vh,vw单位你知道多少?

發(fā)布時間:2023/12/9 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vh,vw单位你知道多少? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

From: https://mp.weixin.qq.com/s/G7ZYCiO__4g2LjRuNl32Ew

響應式布局的單位我們第一時間會想到通過rem單位來實現(xiàn)適配,但是它還需要內(nèi)嵌一段腳本去動態(tài)計算跟元素大小。?
比如:

(function (doc, win) {

?let docEl = doc.documentElement

?let resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize'

?let recalc = function () {

? ?var clientWidth = docEl.clientWidth

? ?if (!clientWidth) return

? ?docEl.style.fontSize = 14 * (clientWidth / 320) + 'px'

?}

?if (!doc.addEventListener) return

?win.addEventListener(resizeEvt, recalc, false)

?doc.addEventListener('DOMContentLoaded', recalc, false)

})(document, window)

那有沒有一個單位不需要JS和CSS耦合在一起的單位?答案是有的,就是vw/vh。

vw = view width

vh = view height

這兩個單位是CSS3引入的,以上稱為視口單位允許我們更接近瀏覽器窗口定義大小。

視口單位(Viewport units)

Q:什么是視口??
A:Peter-Paul Koch(”PPK大神”)提出視口的解釋是:在桌面端,視口指的是在桌面端,指的是瀏覽器的可視區(qū)域;而在移動端,它涉及3個視口:Layout Viewport(布局視口),Visual Viewport(視覺視口),Ideal Viewport(理想視口)。

視口單位中的“視口”,桌面端指的是瀏覽器的可視區(qū)域;移動端指的就是Viewport中的Layout Viewport。

vh/vw與%區(qū)別

?

單位解釋
vw1vw = 視口寬度的1%
vh1vh = 視口高度的1%
vmin選取vw和vh中最小的那個
vmax選取vw和vh中最大的那個

?

比如:瀏覽器視口尺寸為370px,那么 1vw = 370px * 1% = 6.5px(瀏覽器會四舍五入向下取7)

vh/vw與%區(qū)別在于,

單位依賴于
%元素的祖先元素
vh/vw視口的尺寸

兼容性問題

在移動端 iOS 8 以上以及 Android 4.4 以上獲得支持,并且在微信 x5 內(nèi)核中也得到完美的全面支持。

運用

僅使用vw作為CSS單位

使用 vw 單位作為唯一應用的一種 CSS 單位的這種做法下

1.根據(jù)設計稿的尺寸轉換為vw單位(SASS函數(shù)編譯)

//iPhone 6尺寸作為設計稿基準

$vm_base: 375;

@function vm($px) {

? ?@return ($px / 375) * 100vw;

}

2.無論是文本還是布局高寬、間距等都使用 vw

<div class="mod_nav">

?<nav class="mod_nav_list" v-for="n in 5">

? ?<a href="#" class="mod_nav_list_item">

? ? ?<span class="mod_nav_list_item_logo">

? ? ? ?<img src="http://jdc.jd.com/img/80">

? ? ?</span>

? ? ?<p class="mod_nav_list_item_name">導航入口</p>

? ?</a>

?</nav>

</div>

.mod_nav {

? ?background: #fff;

? ?&_list {

? ? ? ?display: flex;

? ? ? ?padding: vm(15) vm(10) vm(10);

? ? ? ?&_item {

? ? ? ? ? ?flex: 1;

? ? ? ? ? ?text-align: center;

? ? ? ? ? ?font-size: vm(10);

? ? ? ? ? ?&_logo {

? ? ? ? ? ? ? ?display: block;

? ? ? ? ? ? ? ?margin: 0 auto;

? ? ? ? ? ? ? ?width: vm(40);

? ? ? ? ? ? ? ?height: vm(40);

? ? ? ? ? ? ? ?img {

? ? ? ? ? ? ? ? ? ?display: block;

? ? ? ? ? ? ? ? ? ?margin: 0 auto;

? ? ? ? ? ? ? ? ? ?max-width: 100%;

? ? ? ? ? ? ? ?}

? ? ? ? ? ?}

? ? ? ? ? ?&_name {

? ? ? ? ? ? ? ?margin-top: vm(2);

? ? ? ? ? ?}

? ? ? ?}

? ?}

}

會得到這樣的效果:

最優(yōu)做法——搭配vw和rem

使用vm作為css單位代碼量確實減少很多,但是你會發(fā)現(xiàn)它是利用視口單位實現(xiàn),依賴于視口大小而自動縮放,失去了最大最小寬度的限制。

所以,我們需要結合rem單位來實現(xiàn)布局,而rem正好可以動態(tài)改變根元素大小,做法是:

  • 給根元素大小設置vw–動態(tài)改變大小。

  • 限制根元素font-size的最大最小值,配合bosy加上最大最小寬度。

  • // rem 單位換算:定為 75px 只是方便運算,750px-75px、640-64px、1080px-108px,如此類推

    $vm_fontsize: 75; // iPhone 6尺寸的根元素大小基準值

    @function rem($px) {

    ? ? @return ($px / $vm_fontsize ) * 1rem;

    }

    // 根元素大小使用 vw 單位

    $vm_design: 750;

    html {

    ? ?font-size: ($vm_fontsize / ($vm_design / 2)) * 100vw;

    ? ?// 同時,通過Media Queries 限制根元素最大最小值

    ? ?@media screen and (max-width: 320px) {

    ? ? ? ?font-size: 64px;

    ? ?}

    ? ?@media screen and (min-width: 540px) {

    ? ? ? ?font-size: 108px;

    ? ?}

    }

    // body 也增加最大最小寬度限制,避免默認100%寬度的 block 元素跟隨 body 而過大過小

    body {

    ? ?max-width: 540px;

    ? ?min-width: 320px;

    }

    總結

    以上是生活随笔為你收集整理的vh,vw单位你知道多少?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 奇米网在线观看 | 夜夜春很很躁夜夜躁 | 国产一区视频免费观看 | 欧美深性狂猛ⅹxxx深喉 | 亚洲巨乳av | 在线观看av大片 | 狠狠躁夜夜躁人人爽视频 | 欧美1234区 | 99久久精品免费看国产四区 | 欧美日韩久久久久久 | 国产日韩精品一区二区三区在线 | 日本欧美色 | 国产高清在线不卡 | 亚洲自拍第二页 | 视频在线观看网站免费 | 精品无码久久久久久国产 | 国产日批视频在线观看 | 91网站在线免费看 | 日韩精品123| 久久黄色网 | 日本老肥婆bbbwbbbwzr | 亚洲高清免费观看 | 国产人成| 欧美变态口味重另类 | www.奇米.com | 国产精品久久久久久久久久 | 在线观看国产成人 | 看毛片看毛片 | 另类天堂网 | 香蕉久久国产av一区二区 | 全程偷拍露脸中年夫妇 | 五月婷婷国产 | 欧美一级大片在线观看 | 亚洲成年网站 | 青青草原在线免费 | 欧美视频在线不卡 | 亚洲在线一区二区 | 欧美无极品 | 四虎国产精品永久在线国在线 | 91激情| 夜夜av| 午夜影院免费体验区 | 国产精品有限公司 | 奇米影视在线播放 | 快色在线| 91蜜桃视频在线观看 | 黄色一级片在线看 | 国产sm调教一区二区 | 污污的视频软件 | 精品黑人一区二区三区在线观看 | 日本特黄色片 | 免费看污黄网站在线观看 | 亚洲精品成人久久 | 美女扒开内看个够网站 | 日本不卡一区二区三区在线观看 | 国产精品视频福利 | 欧洲成人一区二区三区 | 男人添女人下部高潮全视频 | 性做久久久久久久久 | 在线麻豆av | 国产精品久久毛片av大全日韩 | 国产精品偷拍 | 欧美一区二区三区成人片在线 | 国产精品一二区 | 免费激情视频网站 | 人操人视频 | 一本色道久久88亚洲精品综合 | 国产精品一级视频 | 美女扒开腿让男生捅 | av免费入口 | 又黄又刺激的视频 | 三级色网 | 亚洲 激情| 大j8黑人w巨大888a片 | 九九精品在线视频 | 亚州精品国产精品乱码不99按摩 | 色妞网站| 激情片网站 | 成人美女免费网站视频 | 啪啪网页 | 久草福利在线观看 | 超碰三级 | 一级黄色大片免费观看 | 精品午夜久久 | 国产99精品 | 特级毛片av | 欧美一级二级片 | 国产女教师bbwbbwbbw | 欧美激情一区二区三区在线 | 美国三级a三级18 | 青娱乐av| 国产精品高清在线观看 | 国产又粗又黄的视频 | 色啦啦视频 | 色小说香蕉 | 人人草人人草 | 成年人免费网站 | 日韩在线导航 | 欧美第一页在线 |