成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

css3新單位vw、vh怎么用

這篇文章主要為大家展示了“css3新單位vw、vh怎么用”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“css3新單位vw、vh怎么用”這篇文章吧。

成都創(chuàng)新互聯(lián)是一家專(zhuān)注于網(wǎng)站建設(shè)、網(wǎng)站制作與策劃設(shè)計(jì),興慶網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:興慶等地區(qū)。興慶做網(wǎng)站價(jià)格咨詢(xún):18982081108

響應(yīng)式布局的單位我們第一時(shí)間會(huì)想到通過(guò)rem單位來(lái)實(shí)現(xiàn)適配,但是它還需要內(nèi)嵌一段腳本去動(dòng)態(tài)計(jì)算跟元素大小。

比如:

(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)

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

vw = view width
vh = view height

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

vw、vh、vmin、vmax 的含義

(1)vw、vh、vmin、vmax 是一種視窗單位,也是相對(duì)單位。它相對(duì)的不是父節(jié)點(diǎn)或者頁(yè)面的根節(jié)點(diǎn)。而是由視窗(Viewport)大小來(lái)決定的,單位 1,代表類(lèi)似于 1%。

視窗(Viewport)是你的瀏覽器實(shí)際顯示內(nèi)容的區(qū)域—,換句話(huà)說(shuō)是你的不包括工具欄和按鈕的網(wǎng)頁(yè)瀏覽器。

(2)具體描述如下:

  • vw:視窗寬度的百分比(1vw 代表視窗的寬度為 1%)

  • vh:視窗高度的百分比

  • vmin:當(dāng)前 vw 和 vh 中較小的一個(gè)值

  • vmax:當(dāng)前 vw 和 vh 中較大的一個(gè)值 

  •  

vw、vh 與 % 百分比的區(qū)別

(1)% 是相對(duì)于父元素的大小設(shè)定的比率,vw、vh 是視窗大小決定的。

(2)vw、vh 優(yōu)勢(shì)在于能夠直接獲取高度,而用 % 在沒(méi)有設(shè)置 body 高度的情況下,是無(wú)法正確獲得可視區(qū)域的高度的,所以這是挺不錯(cuò)的優(yōu)勢(shì)。

vmin、vmax 用處

做移動(dòng)頁(yè)面開(kāi)發(fā)時(shí),如果使用 vw、wh 設(shè)置字體大?。ū热?5vw),在豎屏和橫屏狀態(tài)下顯示的字體大小是不一樣的。

由于 vmin 和 vmax 是當(dāng)前較小的 vw 和 vh 和當(dāng)前較大的 vw 和 vh。這里就可以用到 vmin 和 vmax。使得文字大小在橫豎屏下保持一致。

瀏覽器兼容性

(1)桌面 PC

  • Chrome:自 26 版起就完美支持(2013年2月)

  • Firefox:自 19 版起就完美支持(2013年1月)

  • Safari:自 6.1 版起就完美支持(2013年10月)

  • Opera:自 15 版起就完美支持(2013年7月)
     

IE:自 IE10 起(包括 Edge)到現(xiàn)在還只是部分支持(不支持 vmax,同時(shí) vm 代替 vmin)

(2)移動(dòng)設(shè)備

Android:自 4.4 版起就完美支持(2013年12月)

iOS:自 iOS8 版起就完美支持(2014年9月)
 

如何利用視口單位適配頁(yè)面

僅使用vw作為CSS單位

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

//iPhone 6尺寸作為設(shè)計(jì)稿基準(zhǔn)
$vm_base: 375;
@function vm($px) {
    @return ($px / 375) * 100vw;
}

2.無(wú)論是文本還是布局高寬、間距等都使用 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">導(dǎo)航入口< /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)做法&mdash;&mdash;搭配vw和rem

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

于是,聯(lián)想到不如結(jié)合rem單位來(lái)實(shí)現(xiàn)布局?rem 彈性布局的核心在于動(dòng)態(tài)改變根元素大小,那么我們可以通過(guò):&middot;

給根元素大小設(shè)置隨著視口變化而變化的 vw 單位,這樣就可以實(shí)現(xiàn)動(dòng)態(tài)改變其大小。

限制根元素字體大小的最大最小值,配合 body 加上最大寬度和最小寬度

這樣我們就能夠?qū)崿F(xiàn)對(duì)布局寬度的最大最小限制。因此,根據(jù)以上條件,我們可以得出代碼實(shí)現(xiàn)如下:

// rem 單位換算:定為 75px 只是方便運(yùn)算,750px-75px、640-64px、1080px-108px,如此類(lèi)推
$vm_fontsize: 75; // iPhone 6尺寸的根元素大小基準(zhǔn)值
@function rem($px) {
     @return ($px / $vm_fontsize ) * 1rem;
}
// 根元素大小使用 vw 單位
$vm_design: 750;
html {
    font-size: ($vm_fontsize / ($vm_design / 2)) * 100vw;
    // 同時(shí),通過(guò)Media Queries 限制根元素最大最小值
    @media screen and (max-width: 320px) {
        font-size: 64px;
    }
    @media screen and (min-width: 540px) {
        font-size: 108px;
    }
}
// body 也增加最大最小寬度限制,避免默認(rèn)100%寬度的 block 元素跟隨 body 而過(guò)大過(guò)小
body {
    max-width: 540px;
    min-width: 320px;
}

以上是“css3新單位vw、vh怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

當(dāng)前題目:css3新單位vw、vh怎么用
地址分享:http://jinyejixie.com/article44/ppioee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、外貿(mào)建站、網(wǎng)站營(yíng)銷(xiāo)App設(shè)計(jì)、企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
六枝特区| 永安市| 自治县| 乐都县| 苏州市| 吉林省| 方山县| 南木林县| 额济纳旗| 中西区| 平阴县| 尚义县| 广水市| 灵寿县| 东乡县| 如皋市| 威远县| 界首市| 尼木县| 汪清县| 广汉市| 昭苏县| 常熟市| 永靖县| 和平区| 溧阳市| 莱芜市| 镇平县| 来凤县| 监利县| 广安市| 拜城县| 托克逊县| 驻马店市| 竹溪县| 宜丰县| 阜宁县| 洪洞县| 刚察县| 雅江县| 丽水市|