Использование 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;
}
Best ofвсе, вы можете использовать border-radius с ним.И вы можете использовать его с 4 границами (сверху / справа / снизу / слева) так же легко.
Источник: http://dieulot.net/css-retina-hairline