如何解決1px問(wèn)題

為什么移動(dòng)端css里面寫(xiě)了1px, 實(shí)際看起來(lái)比1px粗. 其實(shí)原因很好理解:這2個(gè)’px’的含義是不一樣的. 移動(dòng)端html的header總會(huì)有一句

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">

這句話定義了本頁(yè)面的viewport的寬度為設(shè)備寬度,初始縮放值和最大縮放值都為1,并禁止了用戶縮放. viewport通俗的講是瀏覽器上可用來(lái)顯示頁(yè)面的區(qū)域, 這個(gè)區(qū)域是可能比屏幕大的

關(guān)于1px問(wèn)題

1、0.5px邊框
在2014年的 WWDC称杨,“設(shè)計(jì)響應(yīng)的Web體驗(yàn)” 一講中钱磅,Ted O’Connor 講到關(guān)于“retina
hairlines”(retina 極細(xì)的線):在retina屏上僅僅顯示1物理像素的邊框耻台,開(kāi)發(fā)者應(yīng)該如何處理呢徙歼。
他們?cè)榻B到 iOS 8 和 OS X Yosemite 即將支持 0.5px 的邊框:?jiǎn)栴}是 retina 屏的瀏覽器可能不認(rèn)識(shí)0.5px的邊框,將會(huì)把它解釋成0px苍息,沒(méi)有邊框疾渴。包括 iOS 7 和之前版本,OS X Mavericks 及以前版本髓堪,還有 Android 設(shè)備送朱。

解決方法

解決方案1是通過(guò) JavaScript 檢測(cè)瀏覽器能否處理0.5px的邊框,如果可以干旁,給html標(biāo)簽元素添加個(gè)class驶沼。

if (window.devicePixelRatio && devicePixelRatio >= 2) {
 var testElem = document.createElement('div');
 testElem.style.border = '.5px solid transparent';
 document.body.appendChild(testElem); } 
if (testElem.offsetHeight == 1) { 
document.querySelector('html').classList.add('hairlines'); }
 document.body.removeChild(testElem); }


div {
  border: 1px solid #bbb;
}
.hairlines div {
  border-width: 0.5px;
}

解決方法2利用css中的transform的縮放屬性解決 推薦使用

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>解決1px邊框問(wèn)題</title>
    <meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no"/>
    <style>
        .line {position:relative;}
        .line:after {width:200%;height:200%;position:absolute;top:0;left:0;z-index:0;content:"";-webkit-transform:scale(0.5);-webkit-transform-origin:0 0;transform:scale(0.5);transform-origin:0 0;box-sizing:border-box;}

        .list {width:100%;margin:auto;list-style:none;padding:0;}
        .list:after {border:1px solid #ccc;border-radius:10px;}
        .item {padding:10px;}
        .item:after {border-bottom:1px solid #ccc;}
        .item:last-child:after {display:none;}
    </style>
</head>
<body>


<ul class="list line">
    <li class="item line">item001</li>
    <li class="item line">item002</li>
    <li class="item line">item003</li>
    <li class="item line">item004</li>
    <li class="item line">item005</li>
    <li class="item line">item006</li>
    <li class="item line">item007</li>
    <li class="item line">item008</li>
    <li class="item line">item009</li>
    <li class="item line">item010</li>
</ul>


</body>
</html>

這個(gè)主要利用after偽類進(jìn)行縮放汞贸。調(diào)用公共class积仗,還是很方便的。

>解決方案3background-image 通過(guò)設(shè)置一張背景圖

.border {
  background-image:linear-gradient(180deg, red, red 50%, transparent 50%),
  linear-gradient(270deg, red, red 50%, transparent 50%),
  linear-gradient(0deg, red, red 50%, transparent 50%),
  linear-gradient(90deg, red, red 50%, transparent 50%);
  background-size: 100% 1px,1px 100% ,100% 1px, 1px 100%;
  background-repeat: no-repeat;
  background-position: top, right top,  bottom, left top;
  padding: 10px;
    }

也能實(shí)現(xiàn) 但過(guò)于麻煩 使用和維護(hù)及其不方便

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末申尼,一起剝皮案震驚了整個(gè)濱河市祭阀,隨后出現(xiàn)的幾起案子鹉戚,更是在濱河造成了極大的恐慌,老刑警劉巖专控,帶你破解...
    沈念sama閱讀 212,816評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件抹凳,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡伦腐,警方通過(guò)查閱死者的電腦和手機(jī)赢底,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)柏蘑,“玉大人幸冻,你說(shuō)我怎么就攤上這事】确伲” “怎么了洽损?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,300評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)革半。 經(jīng)常有香客問(wèn)我碑定,道長(zhǎng)流码,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,780評(píng)論 1 285
  • 正文 為了忘掉前任延刘,我火速辦了婚禮漫试,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘碘赖。我一直安慰自己驾荣,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布崖疤。 她就那樣靜靜地躺著秘车,像睡著了一般。 火紅的嫁衣襯著肌膚如雪劫哼。 梳的紋絲不亂的頭發(fā)上叮趴,一...
    開(kāi)封第一講書(shū)人閱讀 50,084評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音权烧,去河邊找鬼眯亦。 笑死,一個(gè)胖子當(dāng)著我的面吹牛般码,可吹牛的內(nèi)容都是我干的妻率。 我是一名探鬼主播,決...
    沈念sama閱讀 39,151評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼板祝,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼宫静!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起券时,我...
    開(kāi)封第一講書(shū)人閱讀 37,912評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤孤里,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后橘洞,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體捌袜,經(jīng)...
    沈念sama閱讀 44,355評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評(píng)論 2 327
  • 正文 我和宋清朗相戀三年炸枣,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了虏等。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,809評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡适肠,死狀恐怖霍衫,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情侯养,我是刑警寧澤敦跌,帶...
    沈念sama閱讀 34,504評(píng)論 4 334
  • 正文 年R本政府宣布,位于F島的核電站沸毁,受9級(jí)特大地震影響峰髓,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜息尺,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評(píng)論 3 317
  • 文/蒙蒙 一携兵、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧搂誉,春花似錦徐紧、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至侮腹,卻和暖如春嘲碧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背父阻。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,121評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工愈涩, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人加矛。 一個(gè)月前我還...
    沈念sama閱讀 46,628評(píng)論 2 362
  • 正文 我出身青樓履婉,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親斟览。 傳聞我的和親對(duì)象是個(gè)殘疾皇子毁腿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • 原文地址 在移動(dòng)設(shè)備上進(jìn)行網(wǎng)頁(yè)的重構(gòu)或開(kāi)發(fā),首先得搞明白的就是移動(dòng)設(shè)備上的viewport了苛茂,只有明白了viewp...
    matthewm閱讀 1,550評(píng)論 0 4
  • 移動(dòng)前端開(kāi)發(fā)之viewport的深入理解 一已烤、viewport的概念 通俗的講,移動(dòng)設(shè)備上的viewport就是設(shè)...
    明明三省閱讀 15,525評(píng)論 1 46
  • 你是誰(shuí):你是來(lái)自宇宙永生不滅、在宇宙不同行星間(包括地球)循環(huán)轉(zhuǎn)生侍瑟、體驗(yàn)靈魂各種意識(shí)感受的量子意識(shí)靈魂體唐片。你是一個(gè)...
    夢(mèng)龍Amber閱讀 1,018評(píng)論 0 0
  • (20160812,上海涨颜,睛) 朋友這幾天正好在上海费韭,于是相約上麗思卡爾頓的58層FLAIR,三人在這美輪美奐的天...
    南寧唐方閱讀 331評(píng)論 1 2
  • 2018年02月10日星期六 洗衣機(jī)一早就開(kāi)始忙碌庭瑰,“唰…唰…”奏響了年前大掃除的樂(lè)章星持。小寶昨天晚上就將今天的...
    揚(yáng)帆起航__愛(ài)之語(yǔ)閱讀 155評(píng)論 0 0