¿Qué hace el siguiente CSS y es válido?¿Es válida una propiedad CSS que comienza con un hash (#)?
h4 {
width: 83%;
#width: 75%;
}
¿Qué hace el siguiente CSS y es válido?¿Es válida una propiedad CSS que comienza con un hash (#)?
h4 {
width: 83%;
#width: 75%;
}
No es válido. #width: 75%;
es un error de sintaxis, ya que #
no se usa en los nombres de propiedades de CSS (aunque se usa en selectores de CSS, para seleccionar elementos con id
s específicos). La mayoría de los navegadores lo ignorarán (con suerte) y solo se aplicará la primera regla.
Podría haber sido un intento de alguien para escribir un comentario de CSS. Esta es la forma válida: /*This is a comment*/
Editar
se recomienda usar un CSS reset file para dar cuenta de las diferencias navegador.
'#' se usa en los selectores de CSS, por cierto, pero estoy seguro de que lo sabes. –
@Delan: Pero el OP no se refiere a un selector. – BoltClock
@Delan: Eso fue un error tipográfico; Gracias por mencionarlo. –
Aparentemente hay un hash hack que se ve exactamente como el que tiene, pero no tengo idea de qué navegadores específicos el autor intenta segmentar o filtrar ya que no hay resultados confiables en cuanto a qué navegadores aplican la regla y qué no (esa larga lista de cadenas de agente de usuario no es lo que yo llamaría confiable; lo llamaría inconsistente).
En cualquier caso, un hash no es un carácter válido para los nombres de las propiedades. Estoy seguro de que cualquiera que no sea IE lo descartará directamente a la vista.
Y antes de que cualquiera empiece con [hacks CSS seguros] (http://mathiasbynens.be/notes/safe-css-hacks), simplemente mire esa lista de cadenas de agente de usuario en ese enlace y dime si lo considerarás seguro. Por otra parte, me gusta bastante cómo el artículo dice en la parte superior, "Por favor, ignore: esto no es un truco, porque el CSS que especifica no es válido". - La mayoría de los hacks no son válidos de todos modos, pero todavía son pirateos. – BoltClock
No creo que nadie iba a decir '#' es un truco seguro. – thirtydot
usando #
antes de que una propiedad esté aplicando un estilo CSS diferente para ie 7. Es un hack de CSS como *
. Para que sea válido, puede usar conditional comments por ejemplo.
Según lo que he leído en http://developer.expressionz.in/blogs/2007/09/08/for-your-ies-only/, el hash-hack está destinado a hacer una regla solo visible para los navegadores IE. Dado que, como ya lo mencionaron otros, no es una propiedad válida, otros navegadores lo ignorarán.
BTW si el segundo ancho no fue precedido por #, tomaría ancho = 75% y no 83%. El último valor siempre anula todos los anteriores. Como otros señalaron, podría ser un truco, que no sé pero probablemente un error de sintaxis.
Para responder básicamente sus dos preguntas.
#
antes de que los objetivos de propiedad IE7 & IE6 (y baja)me hizo la misma pregunta, no hay más información que pueda ser útil a los demás:
mensaje: "CSS - "#" sign before property"
Eso no es un truco aceptable usar. Existen otros hacks (similares) que han sido probados y son más conocidos. – thirtydot