css3中vm和vh詳解,巧用vmin和vmax解決自適應寬高布局

2020-12-14 陸柏熺

在製作響應式網頁的時候一般會對百分比有很大的依賴,但是vm和vh,vmin和vmax這4個元素卻可以解決我們很多的煩惱。

01vw和vh詳解

vw:Viewport width,即容器(可以是div)的寬度,默認1vw=整個視窗寬度的1%,全屏為100vw。比如視窗寬度為1200px,1vw=120px=1200px*1%,如果是滿屏就則為100vw=1200px。

vh:Viewport height,即容器(如div)的高度,默認1vh=整個可視窗口高度的1%,全屏是100vh。

支持加減乘除運算和常用計算單位。

使用「+」、「-」、「*」 和 「/」四則運算;可以使用百分比、px、em、rem等單位;可以混合使用各種單位進行計算;表達式中有「+」和「-」時,其前後必須要有空格,如"widht: calc(10%+5em)"這種沒有空格的寫法是錯誤的;表達式中有「*」和「/」時,其前後可以沒有空格,但建議留有空格。

div{height: calc(100vh-100px);}這是將div的高度設置為視窗高度減去100px,支持max-width和min-width這樣的計算,calc運算為設計提供很大的方便,再也不用百分比了,做出來的效果更絢麗。

02vmin和vmax詳解

vmin:表示選擇視窗最小的那一個;vmax:選擇視窗最大的那一個;和vw與vh一樣支持calc的各種單位和運算符

vmin

如上圖所示,div {height:100vmin;width:100vmin;},寬和高均選擇最小的那一個視窗,可以看到這是一個以手機屏幕的寬(最小)來設定div的寬高。

同樣的道理,如果需要選擇最大的那一個視窗作為寬或高,那麼就使用vmax即可,如下圖所示。

vmax

代碼為div {height:100vmax;width:100vmax;},選擇設備視窗最大的那一個作為我們的寬或高,也支持calc運算。

使用vmin或vmax的好處是可以對各種不同屏幕設置相對寬高,這對於視覺效果很好,而且不會導致排版混亂,減少很多@media判斷屏幕寬度的代碼。例如下面的代碼

lytit{max-width: calc(100vw / 3) !important;max-height: calc(100vw / 3) !important;}

這個是我的一張圖片響應式代碼,最大寬度和高度都設置為視窗寬度的三分之一,對於從手機屏幕320到768px的屏幕上顯示很良好。

03需要注意的問題

vw(vh)或vmin(vmax)中默認的滿屏是100,即100vw、100vh、100vmin、100vmax。但是100並不是屏幕的實際寬度,而是所在的容器的寬度。

比如電腦屏幕寬度是1920px,網頁中的div寬度是1200px,此時100vw就是1200px而不是1920px;而高度100vh則指的是瀏覽器右側出現滾動條的可見高度部分,不包含瀏覽器地址欄、工具欄和底部的狀態欄哦。

自從學會了使用這幾個標籤,感覺依賴上了,很多響應式功能用它來實現,香噴噴。

相關焦點

  • 前端工程師必備的css3動畫技巧
    本文轉載自【微信公眾號:趣談前端,ID:beautifulFront】經微信公眾號授權轉載,如需轉載與原文作者聯繫本文是筆者之前文章用css3實現驚豔面試官的背景即背景動畫(高級附源碼)的續篇也是介紹css3技巧的文章,因為css這塊知識難點不是很多,更多的在於去熟悉css3的新特性和基礎理論知識。
  • 前端—— CSS3動畫
    雖說IE9以及更早版本的IE瀏覽器都不支持css3動畫,但是IE6-8瀏覽器已是江河日下,使用谷歌瀏覽器、火狐瀏覽器、IE10+瀏覽器以及移動端瀏覽器等這些支持css3動畫的瀏覽器的人數越來越多,所以如果很簡單的就能讓一部分人獲得更好的用戶體驗,那何樂而不為呢。
  • 怎麼使用vue中的實例屬性vm.$data
    vm.新建vue文件DataAtrr.vue2、使用命令npm i element-ui -S安裝Element,然後打開main.js文件,引入Element的樣式和模塊引入Element的樣式和模塊3、在新建的vue文件中,插入一個輸入框和一個按鈕,按鈕上綁定點擊事件
  • 原來「惡靈騎士」的愛車真的有,這款山葉vmax實拍有多帥?
    要說女生應該沒有很大的感染力,但是男生的話應該都忍受不了它的魅力,那就是摩託車了,其實摩託車裡面有很多造型比較洋氣的車型,比如說山葉vmax,它就是被稱為摩託車裡面的「肌肉男」。是山葉裡面具有標誌性和影響力的摩託車之一了,同時它也是「惡靈騎士」夢寐以求的車型,那麼它究竟厲害在哪裡呢?才會讓人一直念念不忘,在1985年的時候,第1款山葉YAMahavmax,它就有非常強勁的發動機。
  • 使用Pandas,Seaborn和Plotly繪製漂亮的圖表
    我用Gapminder和Wikipedia的信息豐富了《世界幸福報告》數據,以便探索新的關係和可視化。《世界幸福報告》試圖回答哪些因素影響著全世界的幸福。報告中的幸福定義為對" Cantril階梯問題"的回答,要求被調查者以0到10的等級來評價他們今天的生活,最糟糕的為0,最好的為10。在整篇文章中,我將使用Life Ladder作為目標變量。
  • 《公主連結》妹弓vh本怎麼打 妹弓VH本打法攻略
    導 讀 公主連結中妹弓這個角色還是很受歡迎的,那麼VH本怎麼打好呢?
  • 因為CSS3,動畫將一切皆有可能
    熱火朝天的css3無疑吸引了很多前端開發者的眼球,然而在css3中的動畫屬性則是新功能中的主打招牌,說到css3的動畫屬性不得不讓人想起這三個屬性:Transform﹑Transition﹑Animation。
  • 【乾貨】Css精髓:這些布局你都學廢了嗎?
    (通欄)一欄布局(通欄)頭部和底部寬度一致,佔滿整個頁面,中間內容區域寬度較小不佔滿屏幕。3 列布局在日常開發中使用頻率也是很高的,其按照左中右的順序進行排列,通常中間列最寬,左右兩列次之。代碼實現三列布局的實現方法也很多,這裡主要介紹兩種(雙飛翼布局、聖杯布局、flex布局)在介紹雙飛翼布局和聖杯布局之前要先說一下margin
  • 以應用帶產品,「自適應」工業級機器人Flexiv試水3C電子和汽車製造
    王世全對鈦媒體表示,儘管現在「工業4.0」還未全面實現,但Flexiv希望成為「工業4.0」時代中的一員,解決掉現有「傳統工業機器人局限性」和「柔性生產」的問題,實現與傳統技術的互補,幫助傳統企業升級改造,深度布局「智能製造」,一步步成為「工業4.0」時代下的核心服務商。
  • 公主連接VH塔是什麼 VH塔推薦陣容
    公主連結ReVH塔是什麼,本次我們一起來看看關於VH塔的相關介紹,不知道有沒有玩家沒有打過VH塔的,用以下陣容打塔將會變得比較容易。 公主連結VH塔打法攻略 強度條件 51級是能過vh塔的最低級別。說50級能過的,拿圖打我臉,否則我是不信的。 整場VH塔boss站分為兩個階段: 1,第一輪見boss,調時間線及能量; 2、之後的boss,按固定時間線放技能。兩階段中間穿插2名工具人上門送死吃bossUB。
  • 【沙奈朵第一資訊】VMAX三重戰鬥
    (無視備戰區寶可夢的弱點和抵抗)瑪娜菲-水系-HP70特性:一回合使用一次,如果這個寶可夢在戰鬥場上,查看卡組最上方6張卡,選擇一個寶可夢卡,公布後加入手牌,之後,其餘卡返回卡組。[水][無]打30。老大的指令(新卡圖),選擇對手備戰區的一個寶可夢跟他的戰鬥區寶可夢進行交換。皮:別以為你坐下了,就會是真實的老大!
  • 《公主連結》PCR萬聖節vh無狼一刀怎麼打 PCR萬聖節vh無狼一刀打法...
    導 讀 在公主連結手遊中PCR萬聖節vh無狼一刀究竟該怎麼打呢?陣容配置方式內容又是什麼呢?
  • 公主連結露娜塔vh一刀攻略
    18183首頁 公主連結 公主連結露娜塔vh一刀攻略 公主連結露娜塔vh一刀攻略 來源:網絡
  • 《公主連結》vh18-1怎麼打 VH18-1速通陣容推薦
    導 讀 公主連結中vh18-1還是比較難打的,那麼到底要怎麼搭配陣容好呢?
  • 公主連結月卡值得買嗎 月卡性價比詳解[多圖]
    大小:1512.4MB 評分:5.0 平臺: 標籤:動漫卡通二次元打怪升級多人副本 立即下載 公主連結中的月卡和其他手遊有一些區別,在價格上會貴一些,獎勵還算不錯,許多小夥伴都不清楚要不要買,接下來18183小編就帶各位看看月卡性價比詳解。
  • 《江南百景圖》城市建築怎麼布局 城市建築布局思路詳解
    導 讀 江南百景圖中玩家需要把城市的建築合理的進行布局,只有這樣才能更好的將遊戲玩下去,不然天天看著圖,
  • 餐廳風水之裝修巧布局帶來好運勢
    餐廳風水之裝修巧布局帶來好運勢主要從餐廳環境增加食慾、利於健康、餐廳擺設以及餐桌形狀和餐廳布局來介紹。讓我們通過營造餐廳環境帶來各方面的好運勢。1、黃色餐廳布局滋潤愛情如果想通過餐廳風水布局來達到提升桃花運,小編建議你採用暖色系的顏色作為餐廳的主色調布置。暖色中的橘紅色或黃色可以給人以溫暖和熱情好客的感覺,這樣的顏色用於餐廳中自然也提升你的桃花運。
  • 用css3實現背景即背景動畫(高級附源碼)
    本文轉載自【微信公眾號:趣談前端,ID:beautifulFront】經微信公眾號授權轉載,如需轉載與原文作者聯繫我們傳統的前端更多的是用javascript實現各種複雜動畫,自從有了Css3 transition和animation以來,前端開發在動畫這一塊有了更高的自由度和格局,對動畫的開發也越來越容易。
  • 公主連接EX地下城BOSS奇美拉打法詳解 貓劍和黃騎有奇效
    公主連接近期國服正式開啟了EX地下城這個新的副本,因為是新副本,所以就算是練度還算不錯,快速跟上了版本等級上限還有裝備的玩家,估計現在也很難說能輕鬆通關這次的EX地下城副本,尤其是面對這次的BOSS奇美拉,這裡帶來具體的打法思路和陣容詳解。
  • 《石質碎片》疼痛和酒精有什麼用 疼痛和酒精詳解
    「遊走的銀刃」分享的疼痛和酒精詳解,幫助大家健康起來。疼痛和酒精詳解 受到傷害、部位受... 疼痛是玩家在《石質碎片》中可以獲得的一種負面狀態,疼痛值達到一定程度會帶來一些負面影響,下邊就給大家帶來「遊走的銀刃」分享的疼痛和酒精詳解,幫助大家健康起來。