使用するborder-width: 0.5px
Safari 8 (iOS と OS X の両方) は、border-width: 0.5px
. 現在のバージョンの Android と古いバージョンの iOS および OS X が通常の境界線を表示することを受け入れる準備ができている場合は、それを使用できます (私の意見ではかなりの妥協点です)。
ただし、これを直接使用することはできません。境界線を認識しないブラウザーは0.5px
境界線を として解釈するため0px
です。境界はない。<html>
したがって、サポートされている場合は、要素にクラスを追加する必要があります。
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);
}
// This assumes this script runs in <body>, if it runs in <head> wrap it in $(document).ready(function() { })
次に、網膜のヘアラインを使用すると、非常に簡単になります。
div {
border: 1px solid #bbb;
}
.hairlines div {
border-width: 0.5px;
}
何よりも、border-radius を使用できます。また、4つのボーダー(上/右/下/左)で簡単に使用できます。
ソース: http://dieulot.net/css-retina-hairline