CSS中3像素問題指的是在使用border、padding或margin時(shí),元素的寬度或高度會產(chǎn)生3像素的偏差,影響頁面的美觀度。下面介紹幾種解決方案。
解決方案1: .box { width: 200px; height: 200px; } .box-inner { box-sizing: border-box; width: 100%; height: 100%; padding: 0 1px; }
解決方案1使用了box-sizing,使得元素的寬度和高度包含了border和padding值,而不會像默認(rèn)情況下一樣,會在元素寬高基礎(chǔ)上額外增加border和padding的值。box-inner的padding為0 1px,因?yàn)橹挥性谌齻€(gè)相鄰元素的邊框重疊時(shí)才會出現(xiàn)這種問題,增加1像素的值即可解決問題。
解決方案2: .box { width: 200px; height: 200px; position: relative; } .box:before { content: ""; position: absolute; top: -1px; left: -1px; width: 100%; height: 100%; border: 1px solid #000; box-sizing: border-box; }
解決方案2使用了偽元素:before,在元素外部插入一個(gè)1像素的邊框,使得元素的邊框變?yōu)?像素,從而避免了3像素問題。
解決方案3: .box { width: 200px; height: 200px; margin: 0 -1px; }
解決方案3使用了負(fù)的margin值,將元素的寬度減少2像素,避免了出現(xiàn)3像素的情況。
上一篇css怎么讓文字變色
下一篇css怎么讓圖片閃光