1 回答

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超2個(gè)贊
我已找到了原因。flexible默認(rèn)會(huì)查找name=“viewport”或者name=“flexible”的meta標(biāo)簽,當(dāng)默認(rèn)自己設(shè)定了viewport,initial-scale=“1”,等等之后,相當(dāng)于默認(rèn)設(shè)置了dpr=1,或者name="flexible” 下設(shè)置默認(rèn)的 initial-dpr=1等默認(rèn)值,這樣flexible.js作用的html的data-dpr不會(huì)變,如果不寫
<meta name="viewport" content="">
或者<meta name="flexible" content="">,則會(huì)自動(dòng)根據(jù)不同設(shè)備改變data-dpr的值,這樣就可以根據(jù)不同的data-dpr設(shè)置字體大小不變,僅放大相應(yīng)倍數(shù),
如下less 的mixin:
.font-dpr(@font-size) {
font-size: @font-size;
[data-dpr="2"] & {
font-size: @font-size * 2;
}
[data-dpr="3"] & {
font-size: @font-size * 3;
}
}
這里前提,傳入的font-size是data-dpr=1的時(shí)候的值,iphone6,iphone5默認(rèn)dpr為2,6plus為3.
下面是flexible源碼部分截圖
這里注意只要meta有name=“viewport” 的都會(huì)被認(rèn)為設(shè)置了默認(rèn)值。
添加回答
舉報(bào)