第八天 2018-08-13
html:viewport常見(jiàn)設(shè)置都有哪些?
js:簡(jiǎn)要描述下什么是回調(diào)函數(shù)并寫(xiě)一個(gè)例子出來(lái)
第一題:
viewport在移動(dòng)端是適配當(dāng)中扮演了比較重要的角色。
在一般的情況下手機(jī)端會(huì)把viewport設(shè)置為980px或者1048px或者其他 念逞,這個(gè)叫l(wèi)ayout viewport困食。
然后手機(jī)的寬度卻沒(méi)有這么寬所以,內(nèi)容可能部分可見(jiàn)翎承,或者整個(gè)樣式亂掉硕盹。
手機(jī)的實(shí)際屏幕可見(jiàn)寬度可以用document.body.clientWidth來(lái)獲得,一般就是上面提到的980px审洞,
然而莱睁,layout viewport 的寬度是大于瀏覽器可視區(qū)域的寬度的,所以我們還需要一個(gè)viewport來(lái)代表 瀏覽器可視區(qū)域的大小芒澜,ppk把這個(gè)viewport叫做 visual viewport(度量viewport/視口viewport)仰剿。
viewport 幾個(gè)重要的概念
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
width 設(shè)置layout viewport 的寬度,為一個(gè)正整數(shù)痴晦,或字符串”width-device” 他設(shè)置的layout viewport
initial-scale 設(shè)置頁(yè)面的初始縮放值南吮,為一個(gè)數(shù)字,可以帶小數(shù) 而它設(shè)置 visual viewport
minimum-scale 允許用戶(hù)的最小縮放值誊酌,為一個(gè)數(shù)字部凑,可以帶小數(shù)
maximum-scale 允許用戶(hù)的最大縮放值露乏,為一個(gè)數(shù)字,可以帶小數(shù)
height 設(shè)置layout viewport 的高度涂邀,這個(gè)屬性對(duì)我們并不重要瘟仿,很少使用。
user-scalable 是否允許用戶(hù)進(jìn)行縮放比勉,值為”no”或”yes”, no 代表不允許劳较,yes代表允許
initial-scale縮放的實(shí)際上是visual viewport的值,而width設(shè)置的layout viewport的值浩聋,兩者如果同時(shí)設(shè)置观蜗,layout viewport會(huì)取visual viewport和width的最大值,而單獨(dú)設(shè)置一個(gè)衣洁,就取那個(gè)值墓捻,layout viewport的值和visual viewport有一定的關(guān)系,所以通過(guò)單獨(dú)設(shè)置initial-scale是可以將layout viewport的值設(shè)置成ideal viewport
第二題
物理像素:設(shè)備屏幕實(shí)際擁有的像素點(diǎn)坊夫。比如iPhone 6的屏幕在寬度方向有750個(gè)像素點(diǎn)砖第,高度方向有1334個(gè)像素點(diǎn),所以iPhone 6 總共有750*1334個(gè)物理像素践樱。
邏輯像素:也叫“設(shè)備獨(dú)立像素”(Device Independent Pixel, DIP)厂画,可以理解為反映在CSS/JS代碼里的像素點(diǎn)數(shù)(px)。
設(shè)備像素比(Device Pixel Ratio, DPR):一個(gè)設(shè)備的物理像素與邏輯像素之比拷邢。
em是相對(duì)父節(jié)點(diǎn)字體大小的單位,默認(rèn)父節(jié)點(diǎn)字體大小10px
rem是相對(duì)根節(jié)點(diǎn)大小的單位,默認(rèn)根節(jié)點(diǎn)字體大小16px
第三題
定義時(shí)候不執(zhí)行屎慢,等待條件后執(zhí)行瞭稼。
setTimeout(()=>{console.log('我是回調(diào)')},1000)