一、ios
首先說(shuō)下pt拒课,pt在印刷中是絕對(duì)單位1pt=1/72(inch)徐勃;
在ios中1pt=1個(gè)邏輯像素。iphone規(guī)定在@1x時(shí)捕发,即iphone3s下1pt=1px
iPhone有3種ppi(像素密度)分別是:
@1x疏旨,163ppi(iphone3gs)
@2x,326ppi(iphone4扎酷、4s檐涝、5、5s法挨、6)
@3x,401ppi(iphone6+)
ppi = PPI = √(長(zhǎng)度像素?cái)?shù)2 + 寬度像素?cái)?shù)2) / 屏幕對(duì)角線英寸數(shù)谁榜, 單位px/inch
iphone3s的ppi為163px/inch = 1,并規(guī)定此時(shí)1pt=1px凡纳;
@1x時(shí)窃植,iphone3s的邏輯像素是320pxx*480px;此時(shí)1pt=1px=1/163inch荐糜;
@2x時(shí)巷怜,1px=1/326inch,則此時(shí)1pt=2px
@2x時(shí)暴氏,1px=1/404inch延塑,則此時(shí)1pt~=2px
二、android
android中dp與ios中pt作用等同
android中在160ppi的情況下1dp=1px答渔;
android中在320ppi的情況下1dp=2px关带;
android中在480ppi的情況下1dp=3px;
android中字體用sp表示沼撕,android中字體可以在系統(tǒng)中設(shè)置宋雏,默認(rèn)情況下1sp=1px,
三务豺、web
css中的px是邏輯像素磨总,所以設(shè)計(jì)時(shí)考慮移動(dòng)設(shè)備寬度就行
1、pc web
在pc中笼沥,px指的都是邏輯像素蚪燕,1個(gè)邏輯像素就是1px招狸,
2、移動(dòng)端
將傳統(tǒng)網(wǎng)頁(yè)轉(zhuǎn)換成能適配移動(dòng)端的網(wǎng)頁(yè)邻薯,只需添加viewport。
移動(dòng)設(shè)備默認(rèn)的viewport是layout viewport乘凸,即默認(rèn)不設(shè)置viewport厕诡,viewport=layout port。
例如iPhone4S如果不設(shè)置viewport营勤,他就會(huì)默認(rèn)是980px灵嫌,就像把屏幕分成980份(不是屏幕分辨率的640px哦!)葛作。如果設(shè)置一個(gè)元素為100px*100px寿羞,看起來(lái)就是屏幕的100/980。
由于css中的像素就是移動(dòng)設(shè)備的邏輯像素赂蠢,即1pt=1px
所以設(shè)置viewport實(shí)質(zhì)就是重新設(shè)置了移動(dòng)設(shè)備的寬度(邏輯像素)绪穆,即移動(dòng)設(shè)備寬度為980pt,但此時(shí)pt單位已經(jīng)改變虱岂,不再是2/163px玖院。
對(duì)于用戶將頁(yè)面放大一倍時(shí),layoutport不變第岖,相當(dāng)于viewport寬度就縮小一倍难菌,變?yōu)?90px,此時(shí)該元素寬度就變?yōu)?00/490蔑滓。
這也好理解郊酒,放大了一倍嘛,就是原來(lái)1px的東西變成2px了键袱,但是1px變?yōu)?px并不是把原來(lái)的980px變?yōu)?960px了燎窘,而是在實(shí)際寬度不變的情況下,1px變得跟原來(lái)的2px的長(zhǎng)度一樣了