¿Puede un píxel CSS ser una fracción?

81

¿Puede un CSS pxser una fracción? ¿Está permitido por los estándares? Y si es así, ¿lo admiten los principales navegadores?

Respaldemos las respuestas con documentación, amigos.

Kees C. Bakker
fuente
@MetalFrog esta pregunta se origina en una discusión en el trabajo :-)
Kees C. Bakker
3
Irónicamente, recientemente tuve que usar un píxel fraccional para obtener una cuadrícula ordenable de jQuery UI para diseñar correctamente. Cuando el margen del marcador de posición era igual o un píxel más pequeño que el margen de los elementos circundantes, la cuadrícula se desplazaba por todo el lugar al arrastrar. La única solución (¡y una para todos los navegadores!) Fue disminuir el margen del marcador de posición en 0.5px. Entonces, todo funcionó bien. Ya sea que se trate de especificaciones o no, es mayormente pedante, tienes que hacer lo que tienes que hacer al final del día.
Chris Pratt
¿Existen reglas sobre cómo el navegador debe representar una línea de menos de 1 px? Tengo muchas páginas (documentos de Word convertidos a HTML) donde los bordes de las tablas tienen un ancho que corresponde a una fracción de píxel. Estos se muestran como 1px en IE y Firefox, pero el borde no es visible en absoluto dentro de Chrome
Andy
1
¿Su pregunta original se refería a fracciones o decimales? Una fracción sería 1/3, mientras que un decimal sería .33 (repetido). Matemáticamente, hay una diferencia, y si algo se preocupa por los tecnicismos de las matemáticas, son las computadoras.
Mike
1
No duplicado, pero relacionado: una discusión sobre los píxeles fraccionarios que se respetan al renderizar: stackoverflow.com/questions/4308989/…
Sandy Gifford

Respuestas:

69

Sí, puede especificar píxeles fraccionarios. Como esto ha sido parte de CSS desde la primera versión, debería ser compatible con cualquier navegador que admita CSS.

Referencia: CSS 2.1: 4.3.2 Longitudes

"El formato de un valor de longitud (indicado por <length> en esta especificación) es un <number> (con o sin un punto decimal) seguido inmediatamente por un identificador de unidad (por ejemplo, px, em, etc.)".

Cuando los elementos se muestran en la pantalla, la mayoría de los navegadores redondearán naturalmente la posición al píxel más cercano cuando se utilice un nivel de zoom del 100%. En niveles de zoom más altos, notará que se reconocen valores de píxeles fraccionarios.

Guffa
fuente
1
@ KeesC.Bakker: Acabo de agregar eso. :)
Guffa
6
El problema es que los diferentes navegadores
giran de manera
4
Encontré un blog interesante sobre el tema: ejohn.org/blog/sub-pixel-problems-in-css
cboler
12
Para aclarar, una fracción sería 1/3, mientras que un decimal sería .33 (repetido). Reconozco que es en parte semántica (no para una especialización en matemáticas, no lo es), pero la respuesta correcta es que CSS no admite fracciones o píxeles fraccionarios. Sin embargo, admite valores de píxeles decimales.
Mike
4
@Mike: El término fracción se puede usar de diferentes maneras, al igual que el término decimal que puede especificar un número que tiene una parte fraccionaria o un número expresado en base diez.
Guffa