Rendu sub-pixel dans les navigateurs
Le rendu sub-pixel est délicat. Vous ne pouvez pas attendre d'un moniteur qu'il rende une ligne moins épaisse qu'un pixel. Mais il est possible de fournir des dimensions sub-pixel. En fonction du navigateur, ils les rendent différemment. Consultez cet article de blog de John Resig à ce sujet.
En gros, si votre moniteur est un LCD et que vous dessinez des lignes verticales, vous pouvez facilement dessiner une ligne de 1/3 de pixel. Si votre fond est blanc, donnez à votre ligne la couleur #f0f
. À l'œil, cette ligne aura une largeur de 1/3 de pixel. Bien qu'elle soit de couleur, si vous zoomiez votre moniteur, vous verriez qu'un seul segment du pixel entier (composé de RGB) serait sombre. C'est à peu près la technique utilisée pour le peaufinage du type de caractères, c'est-à-dire ClearType.
Mais les lignes horizontales ne peuvent être que d'un seul pixel de hauteur. C'est une limitation technologique des moniteurs LCD. Les CRT étaient encore plus compliqués avec leurs phosphores triangulaires (sauf s'ils étaient du type grille d'ouverture comme les Sony Trinitron) mais c'est une autre histoire.
En gros, fournir une dimension sub-pixel et s'attendre à ce qu'elle soit rendue de cette manière est la même chose que d'attendre qu'une variable entière stocke un nombre de 1,2034759349. Si vous comprenez que cela est impossible, vous devriez comprendre que les moniteurs ne peuvent pas rendre des dimensions sub-pixel.
Style sûr pour les navigateurs
Mais les règles horizontales qui s'intègrent sont habituellement réalisées en utilisant des couleurs. Donc si votre fond est par exemple blanc (#fff
), vous pouvez toujours rendre votre HR
très clair. Comme #eee
.
Le style sûr pour une règle horizontale très claire dans tous les navigateurs serait le suivant :
hr
{
background-color: #eee;
border: 0 none;
color: #eee;
height: 1px;
}
Et utilisez un fichier CSS au lieu de styles en ligne. Ils fournissent une définition centrale pour l'ensemble du site, pas seulement un élément particulier. Cela rend la maintenance beaucoup plus facile.
0 votes
Je veux vraiment mince, l'utilisateur ne devrait pas le remarquer sauf s'il le cherche spécifiquement. De toute façon, j'essaie...
7 votes
Tu peux aussi essayer de le rendre plus de la couleur de l'arrière-plan pour qu'il se fonde...
4 votes
Depuis 1px est le minimum, vous devez rendre la ligne gris clair si vous voulez qu'elle soit moins visible.
0 votes
Est-ce que
1px
est le minimum? Minimum pour quoi? Je veux dire, est-ce que cette balise est spécifique ou est-ce que pour toutes les balises HTML, 1px est le minimum.2 votes
@MovieYoda : Les dimensions peuvent aller en sous-pixel, mais le rendu sera arrondi au pixel le plus proche. C'est comme s'attendre à ce qu'une valeur entière soit de 1,23784... Impossible. Vous pouvez le définir sur ce type de valeur mais elle sera arrondie au nombre entier le plus proche. Théoriquement, vous pourriez rendre des largeurs arrondies à 1/3 de pixel sur des écrans LCD en raison de spécificités technologiques, mais je doute que les navigateurs le fassent effectivement. Les dimensions en sous-pixel restantes ne peuvent pas avoir de couleur car elles sont liées à l'un des phosphores RGB.
0 votes
@Srikar Corrigez-moi si je me trompe, et j'utilise certainement des termes simples ici, mais je pense que le problème (concernant le minimum de 1px) est le fait que, dire à l'écran d'afficher quelque chose avec une dimension de 1px, finit par dire à l'écran (peu importe le périphérique) d'afficher 1px (large ou haut). Comme un pixel est soit allumé, soit éteint, essayer d'afficher quelque chose d'à moitié large ou haut ne serait comme dire à une lampe de n'allumer que la moitié de l'ampoule. La technologie ne fonctionne tout simplement pas de cette manière (ou du moins c'est ainsi que je l'ai toujours pensé).
0 votes
@VoidKing Je pense que tu as raison. Mes connaissances se sont également améliorées au cours des deux dernières années :) merci pour ta réponse...
0 votes
@Srikar De rien. Oui, je pense que j'ai négligé la date de cela d'une manière ou d'une autre lorsque j'ai commenté. Imaginez, vous pourriez poser une autre question et obtenir une réponse de VoidKing dans seulement deux courtes années ! LOL
15 votes
Pas un demi-pixel, mais un demi px. La question n'est pas complètement stupide. reddit.com/r/shittyprogramming/comments/20zyea/…