Renderização de sub-pixel em navegadores
A renderização de sub-pixel é complicada. Você não pode esperar que um monitor processe uma linha fina menor que um pixel. Mas é possível fornecer dimensões sub-pixel. Dependendo do navegador, eles são processados de maneira diferente. Confira a postagem do blog de John Resig sobre isso.
Basicamente, se o seu monitor for um LCD e você estiver desenhando linhas verticais, poderá desenhar facilmente uma linha de 1/3 pixel. Se o fundo for branco, dê a cor da linha de #f0f
. Para os olhos, essa linha terá 1/3 de pixel de largura. Embora seja de alguma cor, se você ampliar o monitor, verá que apenas um segmento de todo o pixel (que consiste em RGB) ficará escuro. Essa é uma técnica bastante usada para sugestões de tipos finos, como o ClearType .
Mas as linhas horizontais podem ter apenas um pixel cheio de altura. Essa é a limitação da tecnologia dos monitores LCD. Os CRTs eram ainda mais complicados com seus fósforos triangulares (a menos que fossem do tipo grade de abertura, como Sony Trinitron), mas essa é uma história diferente.
Basicamente, fornecer uma dimensão de sub-pixel e esperar que ela seja renderizada dessa maneira é o mesmo que esperar que uma variável inteira armazene um número de 1.2034759349. Se você entende que isso é impossível, você deve entender que os monitores não podem render dimensões sub-pixel.
Estilo seguro para vários navegadores
Mas a maneira como as regras horizontais se misturam geralmente são feitas usando cores. Portanto, se o seu plano de fundo for, por exemplo, branco ( #fff
), você sempre poderá iluminar HR
muito . Like #eee
.
O estilo seguro entre navegadores para uma regra horizontal muito leve seria:
hr
{
background-color: #eee;
border: 0 none;
color: #eee;
height: 1px;
}
E use um arquivo CSS em vez de estilos em linha. Eles fornecem uma definição central para todo o site e não apenas um elemento específico. Torna a manutenção muito melhor.