亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

網(wǎng)頁(yè)單位和rem使用小結(jié)

王巖威 / 1799人閱讀

摘要:像素像素是一個(gè)相對(duì)單位。相對(duì)不同屏幕,其實(shí)際像素大小不同。解決方案直接使用實(shí)現(xiàn)的終端適配有興趣的小伙伴可以看下的解決方案使用實(shí)現(xiàn)手淘頁(yè)面的終端適配地址移動(dòng)端適配單位的坑你知道多少關(guān)于移動(dòng)端布局的一些總結(jié)

網(wǎng)頁(yè)尺寸單位

百分比(%

英寸(in

厘米(cm

毫米(mm

磅數(shù)(pt

12 點(diǎn)活字(pc

字母高度一半(ex

父級(jí)字體(em

像素(px

根元素字體(rem

相對(duì)于視窗的寬度(vw

相對(duì)于視窗的高度(vh

相對(duì)于視口的寬度或高度中較大的那個(gè)(vmax

相對(duì)于視口的寬度或高度中較小的那個(gè)(vmin

使用前可以在 http://caniuse.com/ 查看各個(gè)單位的瀏覽器兼容性
設(shè)備像素

ppi(pixels per inch)設(shè)備像素表示每英寸所擁有的像素(pixel)數(shù)目,數(shù)值越高,代表屏幕能以更高的密度顯示圖像。

計(jì)算公式:ppi=像素?cái)?shù)量/物理尺寸(英寸數(shù))

設(shè)備獨(dú)立像素

dips(device-independent pixels)設(shè)備獨(dú)立像素。

我們希望不同屏幕顯示圖片的大小要一致,我們要計(jì)算圖片縮放比例。

 計(jì)算公式:圖片邏輯像素大小px1 / 圖片縮放后實(shí)際像素大小px2 = 設(shè)備像素dp / 設(shè)備獨(dú)立像素dips
 px2 = px1 * (dp / dips)
 px2 = px1 * dpr
設(shè)備像素比

dpr(devicePixelRatio)是設(shè)備像素dp和設(shè)備獨(dú)立像素dips的比例。
dpr = dp / dips

css像素

css像素是一個(gè)相對(duì)單位。相對(duì)不同屏幕,其實(shí)際像素大小不同。
我們定義時(shí),是定義其邏輯像素。即該圖要用多少個(gè)像素來(lái)顯示。

rem rem是什么?

rem (root element),這個(gè)是一個(gè)相對(duì)的單位。
em的差別在于rem相對(duì)的是根節(jié)點(diǎn)htmlfont-size,em相對(duì)的是父元素font-size。

如何優(yōu)雅地使用rem

動(dòng)態(tài)修改htmlfont-size,那么使用rem的元素的對(duì)應(yīng)單位實(shí)際像素也會(huì)相應(yīng)的改變,所以我們只要寫(xiě)一份css就可以適配所有手機(jī)的屏幕了。雖然rem在某些瀏覽器下面不夠精準(zhǔn),但那也只是少數(shù),如果需要非常精準(zhǔn)的適配,那么可以使用js來(lái)計(jì)算htmlfont-size。

現(xiàn)在設(shè)計(jì)師給的移動(dòng)端視覺(jué)稿,一般都是按照750px來(lái)設(shè)計(jì)的。當(dāng)我們拿到視覺(jué)稿時(shí),首先把視覺(jué)稿的寬度轉(zhuǎn)換為rem,我們并不需要考慮設(shè)備的分辨率,只需要按照

計(jì)算公式:視覺(jué)稿寬度 = font-size * rem

這個(gè)公式來(lái)計(jì)算就好了。視覺(jué)稿的寬度是我們以750px為例,font-sizerem 是兩個(gè)變量,我們只需要它們的乘積等于750即可。我們采用 定一變一的方式,假定rem=7.5,那么初始值font-size就必須等于 100px,我們就可以根據(jù)需要適配的屏幕寬度來(lái)等比例調(diào)整font-size。那么如果我們750px的視覺(jué)稿需要顯示成640px呢,我們只需要把font-size對(duì)應(yīng)的縮小就可以了。其他的各種的屏幕,只需要等比例縮放就好了。

js+sass計(jì)算方案

JS動(dòng)態(tài)設(shè)置font-size(簡(jiǎn)單demo,如有需要最好加上DomContentLoadedorientationchange的監(jiān)聽(tīng)):

fnResize();
window.addEventListener("resize", function() {
    fnResize()
}, false);
function fnResize(){
    var docWidth = document.documentElement.clientWidth,
            body = document.getElementsByTagName("html")[0];
    body.style.fontSize = docWidth / 32 + "px";
}

sass:

@function rem($px){
    @return $px*(1/20)*1rem;
}

.ty_con{
    minwidth: rem(300); /* 15rem */
}
rem問(wèn)題及解決方案

問(wèn)題:

部分安卓機(jī)rem計(jì)算出來(lái)的font-size總是要比預(yù)期要大一些或者小一些:華為,魅族......(小數(shù)保留問(wèn)題)這樣會(huì)導(dǎo)致最后的計(jì)算是不準(zhǔn)確的。

解決方案1:

css的使用上寬度布局盡量使用百分比,flexbox-sizing來(lái)做,減少寬度計(jì)算誤差產(chǎn)生的問(wèn)題。

icon雪碧圖的圖標(biāo)之間留白,在寫(xiě)寬度的時(shí)候多寫(xiě)幾像素使圖標(biāo)居中。

解決方案2:

在每次計(jì)算完頁(yè)面的fontSize后,對(duì)某個(gè)實(shí)際元素的大小進(jìn)行判斷,如果對(duì)比原來(lái)的比例有0.2以上的出入,那就用這個(gè)比例去重新設(shè)置頁(yè)面的fontSize。如果是正常情況,就不會(huì)執(zhí)行頁(yè)面fontSize重新這一步。至此,問(wèn)題也算是解決了。

解決方案3:

直接使用Flexible實(shí)現(xiàn)H5的終端適配

有興趣的小伙伴可以看下Flexible的解決方案:

使用Flexible實(shí)現(xiàn)手淘H5頁(yè)面的終端適配:http://www.w3cplus.com/mobile...
github地址:https://github.com/amfe/lib-f...
移動(dòng)端Web適配單位rem的坑你知道多少 :http://www.jianshu.com/p/8300...
關(guān)于移動(dòng)端 rem 布局的一些總結(jié): https://segmentfault.com/a/11...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/113321.html

相關(guān)文章

  • 移動(dòng)端網(wǎng)頁(yè)布局適配rem方案小結(jié)

    摘要:當(dāng)明確規(guī)定根元素的時(shí),單位以該屬性的初始值作參照。適配具體實(shí)現(xiàn)方案設(shè)計(jì)稿尺寸寬度為,如果設(shè)計(jì)稿是,下邊會(huì)自動(dòng)計(jì)算的值比如,具體的尺寸不用調(diào)整例如,不用調(diào)整,這是一個(gè)比例大小,對(duì)應(yīng)的元素大小值會(huì)根據(jù)新的比如等于改變,從而按照比例適配。 前言 根據(jù) W3C 規(guī)范中對(duì) 1rem 的定義: 1rem 與等于根元素 font-size 的計(jì)算值。當(dāng)明確規(guī)定根元素的 font-size 時(shí),rem...

    2shou 評(píng)論0 收藏0
  • 移動(dòng)端網(wǎng)頁(yè)布局適配rem方案小結(jié)

    摘要:當(dāng)明確規(guī)定根元素的時(shí),單位以該屬性的初始值作參照。適配具體實(shí)現(xiàn)方案設(shè)計(jì)稿尺寸寬度為,如果設(shè)計(jì)稿是,下邊會(huì)自動(dòng)計(jì)算的值比如,具體的尺寸不用調(diào)整例如,不用調(diào)整,這是一個(gè)比例大小,對(duì)應(yīng)的元素大小值會(huì)根據(jù)新的比如等于改變,從而按照比例適配。 前言 根據(jù) W3C 規(guī)范中對(duì) 1rem 的定義: 1rem 與等于根元素 font-size 的計(jì)算值。當(dāng)明確規(guī)定根元素的 font-size 時(shí),rem...

    Nino 評(píng)論0 收藏0
  • 一次搞懂CSS字體單位:px、em、rem%

    摘要:網(wǎng)頁(yè)單位絕對(duì)單位,代表屏幕中每個(gè)點(diǎn)。相對(duì)單位,每個(gè)元素透過(guò)倍數(shù)乘以根元素的值。和就是固定百分比為單位,為父層的,為父層的。 對(duì)于繪圖和印刷而言,單位相當(dāng)重要,然而在網(wǎng)頁(yè)排版里,單位也是同樣具有重要性,在CSS3普及以來(lái),更支持了一些方便好用的單位(px、em、rem…等),這篇文章將整理這些常用的CSS單位,也幫助自己未來(lái)在使用上能更加得心應(yīng)手。 網(wǎng)頁(yè)和印刷的單位若要把單位做區(qū)隔,最簡(jiǎn)...

    forsigner 評(píng)論0 收藏0
  • CSS 小結(jié)筆記之em

    摘要:很多人會(huì)疑惑為什么有了之后還要使用,而且使用起來(lái)相對(duì)于來(lái)講比較麻煩。如下圖接下來(lái),按住鍵并連續(xù)按減號(hào)鍵,對(duì)頁(yè)面不斷進(jìn)行縮小。造成這種現(xiàn)象的主要原因是是相對(duì)大小,使用時(shí)對(duì)頁(yè)面進(jìn)放大或縮小不會(huì)造成太大的影響。1、為什么使用em em也是css中的一種單位,和px類(lèi)似。很多人會(huì)疑惑為什么有了px之后還要使用em,而且em使用起來(lái)相對(duì)于px來(lái)講比較麻煩。 em主要是應(yīng)用于彈性布局,下面給出一個(gè)小栗子...

    番茄西紅柿 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<