在css3中,vh和wh是視口單位,是相對長度單位。 wh是相對於視口的寬度,「1vw」等於視口寬度的「1%」;而vh是相對於視口的高度,「1vh」等於視口高度的「1%」。
本教學操作環境:windows7系統、CSS3&&HTML5版、Dell G3電腦。
在css3中,vh和wh是視口單位,是相對長度單位。
視窗單位( Viewport units )
首先,我們要了解什麼是視口。在業界,極為推崇的一種理論是Peter-Paul Koch (江湖人稱「PPK大神」)提出的關於視口的解釋-在桌面端,視口指的是在桌面端,指的是瀏覽器的視覺區域;而在行動端較為複雜,它涉及三個視窗:分別是Layout Viewport(佈局視窗)、 Visual Viewport(視覺視窗)、Ideal Viewport。而視口單位中的“視口”,在桌面端,毫無疑問指的就是瀏覽器的可視區域;但是在行動端,它指的則是三個 Viewport 中的 Layout Viewport 。
視窗單位中的「視口」 根據CSS3規範,視口單位主要包括以下4個:
- ##vw : 相對於視窗的寬度,1vw 等於視窗寬度的1%
- vh : 相對於視窗的高度, 1vh 等於視窗高度的1%
- vmin : 選取vw 和vh 中最小的那個
- #vmax : 選取vw 和vh 中最大的那個
利用視窗單位適配頁面
#對於行動裝置開發來說,最為重要的一點是如何適應頁面,實作多終端的兼容,不同的適配方式各有千秋,也各有缺點。就主流的響應式佈局、彈性佈局來說,透過Media Queries 實現的佈局需要配置多個響應斷點,而且帶來的體驗也對用戶十分的不友好:佈局在響應斷點範圍內的分辨率下維持不變,而在響應斷點切換的瞬間,佈局帶來斷層式的切換變化,如同卡帶的唱機般“咔咔咔”地一下又一下。而透過採用rem單位的動態計算的彈性佈局,則是需要在頭部內嵌一段腳本來進行監聽分辨率的變化來動態改變根元素字體大小,使得 CSS 與 JS 耦合了在一起。有沒有辦法能夠解決這樣的問題呢?答案是肯定的,透過利用視口單位實現適配的頁面,是既能解決響應式斷層問題,又能解決腳本依賴的問題的。做法一:僅使用vw作為CSS單位
在僅使用vw 單位作為唯一應用的一種CSS 單位的這種做法下,我們遵守: 1 .對於設計稿的尺寸轉換為vw單位,我們使用Sass函數編譯//iPhone 6尺寸作为设计稿基准 $vm_base: 375; @function vw($px) { @return ($px / 375) * 100vw; }2.無論是文字或佈局高寬、間距等都使用vw 作為CSS 單位
.mod_nav { background-color: #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); } } } }3.1物理像素線(也就是普通螢幕下1px ,高清螢幕下0.5px 的情況)採用transform 屬性scale 實作。
.mod_grid { position: relative; &::after { // 实现1物理像素的下边框线 content: ''; position: absolute; z-index: 1; pointer-events: none; background-color: #ddd; height: 1px; left: 0; right: 0; top: 0; @media only screen and (-webkit-min-device-pixel-ratio: 2) { -webkit-transform: scaleY(0.5); -webkit-transform-origin: 50% 0%; } } ... }4.對於需要保持高寬比的圖,應改用padding-top 實作
.mod_banner { position: relative; padding-top: percentage(100/700); // 使用padding-top height: 0; overflow: hidden; img { width: 100%; height: auto; position: absolute; left: 0; top: 0; } }由此,我們能夠實現一個常見佈局的頁面效果如下:
做法二:搭配vw和rem,佈局更優化
這樣的頁面雖然看起來適配得很好,但是你會發現由於它是利用視口單位實現的佈局,依賴視口大小而自動縮放,無論視口過大或過小,它也隨著視口過大或過小,失去了最大最小寬度的限制。當然,你可以不在乎這樣微小的不友善使用者體驗,但我們還是嘗試下追求修復這樣的小瑕疵吧。於是,聯想到不如結合rem單位來實現佈局? rem 彈性佈局的核心在於動態改變根元素大小,那麼我們可以透過:給根元素大小設定隨著視窗變化而變化的 vw 單位,這樣就可以實現動態改變其大小。 限制根元素字體大小的最大最小值,配合 body 加上最大寬度和最小寬度這樣我們就能夠實現對佈局寬度的最大最小限制。因此,根據以上條件,我們可以得出程式碼實作如下:// 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; }
以上是css3中vh和wh是什麼單位的詳細內容。更多資訊請關注PHP中文網其他相關文章!

两种方法:1、利用display属性,只需给元素添加“display:none;”样式即可。2、利用position和top属性设置元素绝对定位来隐藏元素,只需给元素添加“position:absolute;top:-9999px;”样式。

怎么制作文字轮播与图片轮播?大家第一想到的是不是利用js,其实利用纯CSS也能实现文字轮播与图片轮播,下面来看看实现方法,希望对大家有所帮助!

实现方法:1、使用“:active”选择器选中鼠标点击图片的状态;2、使用transform属性和scale()函数实现图片放大效果,语法“img:active {transform: scale(x轴放大倍数,y轴放大倍数);}”。

自适应布局又称“响应式布局”,是指可以自动识别屏幕宽度、并做出相应调整的网页布局;这样的网页能够兼容多个不同的终端,而不是为每个终端做一个特定的版本。自适应布局是为解决移动端浏览网页而诞生的,能够为使用不同终端的用户提供很好的用户体验。

css3中的动画效果有变形;可以利用“animation:动画属性 @keyframes ..{..{transform:变形属性}}”实现变形动画效果,animation属性用于设置动画样式,transform属性用于设置变形样式。

在css3中,可以利用“animation-timing-function”属性设置动画旋转速度,该属性用于指定动画将如何完成一个周期,设置动画的速度曲线,语法为“元素{animation-timing-function:速度属性值;}”。

css3线性渐变可以实现三角形;只需创建一个45度的线性渐变,设置渐变色为两种固定颜色,一个是三角形的颜色,另一个为透明色即可,语法“linear-gradient(45deg,颜色值,颜色值 50%,透明色 50%,透明色 100%)”。

本篇文章带大家一起深入了解一下CSS3中的新特性::target-text 选择器,聊聊该选择器的作用和使用方法,希望对大家有所帮助!


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

SublimeText3漢化版
中文版,非常好用

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中