CSS1PX問題是指在移動(dòng)端設(shè)備上,像素點(diǎn)密度高的屏幕下,CSS中寫1像素在設(shè)備上顯示實(shí)際要占用多余一個(gè)像素的情況。這個(gè)問題在移動(dòng)開發(fā)中非常常見,也是移動(dòng)開發(fā)者頭疼的一個(gè)問題。
/* 在一些高密度屏幕中,這個(gè)樣式實(shí)際上會(huì)顯示成2px或者3px */ border: 1px solid #000;
目前解決這個(gè)問題主要有三種技術(shù)方案:
- 使用JavaScript動(dòng)態(tài)計(jì)算縮放比例,來實(shí)現(xiàn)1像素的效果。
- 使用CSS Hack,針對(duì)不同設(shè)備寫不同的樣式。比如使用@media query。
- 使用viewport+rem方案。viewport是設(shè)置頁面的大小,rem是相對(duì)于html的字體大小來設(shè)置的單位。
最后還要注意,在不同的移動(dòng)端設(shè)備上,這個(gè)問題的表現(xiàn)是不同的,需要我們針對(duì)不同的設(shè)備進(jìn)行兼容性處理。只有全面考慮這個(gè)問題,才能夠保證移動(dòng)端網(wǎng)頁的效果與操作體驗(yàn)。