Propósito del asterisco antes de una propiedad CSS


101

Lo siguiente se tomó del restablecimiento de CSS de Yahoo. ¿Alguien puede explicar el propósito de los asteriscos?

body {
  font:13px/1.231 arial,helvetica,clean,sans-serif;
  *font-size:small;
  *font:x-small;
}

Respuestas:


117

Es un truco CSS específico del navegador para las versiones 7 o inferiores de Internet Explorer.

*El valor de la propiedad

Aunque Internet Explorer 7 corrigió su comportamiento cuando el nombre de una propiedad tiene como prefijo un guión bajo o un guión, otros prefijos de caracteres no alfanuméricos se tratan como en IE6. Por lo tanto, si agrega un carácter no alfanumérico como un asterisco (*) inmediatamente antes del nombre de una propiedad, la propiedad se aplicará en IE y no en otros navegadores. A diferencia del método de guión y subrayado, la especificación CSS no hace reservas para el asterisco como prefijo, por lo que el uso de este truco podría resultar en un comportamiento inesperado a medida que evolucionan las especificaciones CSS.

* propiedad: valor aplica el valor de la propiedad en IE 7 e inferior. Puede que funcione o no en versiones futuras. Advertencia: esto usa CSS no válido.

De: http://www.javascriptkit.com/dhtmltutors/csshacks3.shtml



1

Todos los navegadores, excepto IE, ignoran las reglas. Es conocido como el truco estrella. Creo que IE7 ignorará las reglas en modo estándar.

En este caso, la regla de fuente se establece y luego se reemplaza para IE 6 y, a veces, 7.


Este no es el truco de star-html. Ese va en el selector y es CSS válido.
Bobince

@bobince Star Hack y Star HTML Hack son dos cosas diferentes: en.wikipedia.org/wiki/CSS_filter#Star_hack vs en.wikipedia.org/wiki/CSS_filter#Star_HTML_hack
Mike Covington


0

Es un truco de CSS, esa regla solo se aplicará a IE7 y versiones anteriores.

Sin embargo, no recomendaría usarlo, hay mejores formas de solucionar las incompatibilidades de IE.


0

Colocar caracteres como ese es un truco / solución para hacer que IE 6 use la propiedad de un estilo, mientras se oculta de los navegadores más "cuerdos".

Desde aqui :

Para abreviar una larga historia, el analizador de CSS de Internet Explorer es demasiado agresivo al tratar de descubrir los nombres de las propiedades y de hecho ignorará los caracteres no alfanuméricos iniciales. Según mis pruebas, este parece ser el caso desde al menos IE5 en adelante.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.