html - qué - ¿Los valores de propiedad en CSS son sensibles a mayúsculas y minúsculas?
pasar a mayusculas con css (2)
He observado que algunas propiedades de CSS, como font-family
declaradas con comillas, son sensibles a las mayúsculas y minúsculas, pero las demás no son ... ¿ Pero cómo DEBEN interpretarse los navegadores web y los "procesadores HTML"? ¿Es lo mismo en cualquier contexto CSS (XML, SVG, etc.) y todas las demás aplicaciones? ¿Qué dicen los estándares?
Ejemplo: Adobe InDesign exportó ambos, font-family:''Optima Bold''
y font-family:''optima bold''
. ¿Puedo "normalizar a minúsculas" (por ejemplo, fusionar clases similares)?
NOTAS
Las referencias son incompletas y en conflicto:
sitepoint.com/font-family decir "Tenga en cuenta que los nombres de las familias de fuentes pueden ser sensibles a mayúsculas y minúsculas en algunos sistemas operativos" ... ¿Es válido para XHTML, se actualiza con HTML5?
font-family
es realmente el único valor sensible a mayúsculas y minúsculas?¿Es necesario usar minúsculas para cada Elemento y atributo, propiedades en css y xhtml? di indirectamente "... usa minúsculas para cada propiedad ...", y las respuestas no lo niegan.
Comparando con esta pregunta / respuestas , el punto aquí , tal vez, puede traducirse en algunas consideraciones objetivas (personales):
Existe una fuente (objetiva!) Normativa (especificación W3C de CSS2, CSS3, XHTML1 o HTML5) para esta respuesta.
Los "nombres únicos estándar
font-family
" no pueden distinguir entre mayúsculas y minúsculas (de lo contrario dejan de ser estándar) ... Por lo tanto, las únicas propiedades justificables (mediante argumentos razonables) que distinguen entre mayúsculas y minúsculas son:2.1. Valores de
X
enurl(X)
, ver propiedades debackground
, etc.2.2. valores de
content
, ejemplo ;2.3. ... más ?? ...
La especificación para CSS 2 dice:
La sintaxis CSS es insensible a mayúsculas y minúsculas dentro del rango ASCII (es decir, [az] y [AZ] son equivalentes), excepto para las partes que no están bajo el control de CSS . Por ejemplo, la sensibilidad a mayúsculas y minúsculas de los valores de los atributos HTML "id" y "clase", de nombres de fuentes y de URI queda fuera del alcance de esta especificación. Tenga en cuenta en particular que los nombres de los elementos no distinguen entre mayúsculas y minúsculas en HTML, pero distingue entre mayúsculas y minúsculas en XML.
... lo cual tiene bastante sentido: CSS acepta tanto background-image
como BACKGROUND-IMAGE
pero no tiene forma de saber si su servidor web considera que LOGO.PNG
y logo.png
son recursos idénticos o diferentes.
(No he podido encontrar el documento equivalente para CSS3)
(Actualizando @ ÁlvaroG.Vicario responde y comenta, y complementa esta respuesta ... Esta es una Wiki, por favor edítala para mejorar )
Ejemplo: para CSS3 (y HTML5) existen nuevas reglas explícitas, ya que "la propiedad font-face
debe ser insensible a las mayúsculas y minúsculas". [2]
Contexto
Estándares de interoperación W3C, principalmente XML, HTML, CSV y CSS.
Reglas generales de CSS
CSS2 (un estándar W3C de 2008) fijó convenciones básicas sobre "Caracteres y mayúsculas y minúsculas" y CSS3 (un estándar W3C para 2015) agregó algo más.
Por defecto, "toda sintaxis CSS es insensible a las mayúsculas y minúsculas (...)" [1]
Hay excepciones , "(...) a excepción de las partes que no están bajo el control de CSS" [1]
2.1. los nombres de los elementos distinguen entre mayúsculas y minúsculas en HTML5 (?) y XML, pero no distinguen entre mayúsculas y minúsculas en HTML4.
2.2. los identificadores (incluidos nombres de elementos, clases e ID en selectores) distinguen entre mayúsculas y minúsculas. La
id
yclass
atributos HTML, de los nombres de las fuentes y de los URI queda fuera del alcance de la especificación CSS.....
los
Matriz de casos
Excepciones y reglas específicas (explicitadas en una referencia). "SÍ" indica que el valor distingue entre mayúsculas y minúsculas.
Valores de propiedad:
CSS property | Case-sens. | Reference and notes ------------------|------------|-------------------- %colorVals | NO | [3] font-family | NO | [2] %url | YES | ... content | YES | ... ---------------------------------------------------- %colorVals = color, background, etc. %url = background-image, etc. that use `url()`
Valores de selector:
CSS selector | Case-sens. | Reference and notes ------------------|------------|-------------------- id | YES |... element | YES/NO | ... YES for XML... class name | YES | [5] (`~ i` operator) | NO | [6] ---------------------------------------------------- YES/NO = depends on the document language (see ref. and notes).
REFERENCIAS:
[1] W3C / CSS2 / syndata, sec. 4.1.3 Personajes y caso
[2] fuentes W3C / CSS3 , seg. 5.1. Sensibilidad a mayúsculas y minús
[3] W3C / CSS3-color , seg. 4.1. Palabras clave de color básico
[4] W3C / CSS3-valores , seg. 3.1. Palabras clave predefinidas
[5] W3C / Selectores , sec. 3. Sensibilidad de la caja
[6] W3C / selectores4 , sec. 6.3. Sensibilidad a mayúsculas
Citas y notas
Los agentes de usuario deben coincidir con estos nombres de forma insensible. [2]
.
...