Рендеринг субпикселей в браузерах
Рендеринг субпикселя сложно. Вы не можете ожидать, что монитор будет отображать тонкую линию менее чем в пикселе. Но возможно предоставить субпиксельные размеры. В зависимости от браузера они отображают их по-разному. Проверьте сообщение в блоге Джона Ресига об этом.
В основном, если ваш монитор является ЖК-дисплеем, а вы рисуете вертикальные линии, вы можете легко нарисовать линию 1/3 пикселя. Если ваш фон белый, задайте цвет линии #f0f
. На глаз эта линия будет 1/3 ширины пикселя. Хотя он будет какого-то цвета, если вы увеличите монитор, вы увидите, что только один сегмент целого пикселя (состоящий из RGB) будет темным. Это в значительной степени техника, используемая для хинтинга мелких шрифтов, т.е. ClearType .
Но горизонтальные линии могут иметь высоту всего пикселя. Это технологическое ограничение ЖК-мониторов. ЭЛТ были еще более сложными с их треугольными люминофорами (если они не были апертурной решеткой типа, т.е. Sony Trinitron), но это другая история.
По сути, предоставление субпиксельного измерения и ожидание его визуализации таким же образом, как ожидание целочисленной переменной для хранения числа 1.2034759349. Если вы понимаете, что это невозможно, вы должны понимать, что мониторы не могут отображать субпиксельные размеры.
Кросс-браузер, безопасный стиль
Но то, как горизонтальные правила, в которых смешивается с , обычно выполняется с использованием цветов. Так, если ваш фон, например, белый (#fff
), вы всегда можете сделать свой HR
очень свет. Как #eee
.
Кросс-браузерный безопасный стиль для очень легкого горизонтального правила:
hr
{
background-color: #eee;
border: 0 none;
color: #eee;
height: 1px;
}
И используйте CSS-файл вместо встроенных стилей. Они обеспечивают центральное определение для всего сайта, а не только конкретного элемента. Это делает ремонтопригодность намного лучше.