como otros han dicho, este es un truco para IE7 y por debajo
PERO éste, el ejemplo que ha dado es un corte específico para que a diferencia de un comentario que has recibido, que no recomendaría la eliminación todavía ... puedes moverlo o quitarlo después de leer esto y no lo necesitas;)
btw Estoy de acuerdo en que -moz-inline-box ya no es necesario, era para versiones anteriores de Firefox
selector {
display: -moz-inline-box;
display: inline-block;
zoom: 1;
*display: inline;
}
Es una h específica Ack para obtener IE6/7 para mostrar un elemento de nivel de bloque como un bloque en línea. Aunque IE ha apoyado desde inline-block
v5.5 que no lo hizo de forma nativa en los elementos de bloque
Así que en este caso lo que hay que hacer es dar el "diseño" elemento (zoom: 1;
) y lo alimentan display: inline
después de eso .
Ahora display:inline-block
también da un diseño elemento por lo que si quitar la regla display-inline
a un conjunto de reglas separado (ya sea en una condicional o una regla hackeado) que ya no tienen que utilizar zoom: 1;
Mi truco preferido para esta (por a modo ilustrativo) & porque Inline-bloques se desvanecieron tan útil, & porque es más corto es
selector {
display: inline-block;
}
selector {
display: inline !ie7;
}
que !ie7
está haciendo lo mismo que el *
antes de que la propiedad de presentación, i Está alimentando esa regla para IE7 y las siguientes: también puedes usar la versión *
en la segunda regla, sin embargo, el! ie7 lo deja claro, para mí es un truco y para quién es.
Si usted tiene una hoja de estilo específica, condicional para Internet Explorer 7 y por debajo sólo tiene que poner la segunda regla en ella - sin ningún *
o ie7
;)
selector {
display: inline;
}
porque el IE todavía leerá el primer conjunto de reglas y llegar es hasLayout activa para true
por el inline-block
ahí, no es necesario zoom
el hack citado mencionas es muy popular, ya que mantiene todas las partes en el conjunto de reglas, pero se necesita zoom:1
en ese caso como inline-block
no funcionará para establecer hasLayout si está en el mismo conjunto de reglas que la otra propiedad display
Dudo -moz-inline-box es necesario, Gecko ahora admite bloque en línea. zoom: 1 también es probablemente innecesario, como display: inline-block; realiza la misma tarea. Para IE6 solo tiene una pantalla ordinaria * -less: en línea; el último tendrá prioridad, y para otros IE's probablemente puedas tenerlo en otra regla después sin el * y funcionará igual. (Básicamente, esta publicación de blog siempre tuvo un código tonto, y es más tonto en este momento de lo que era). – reisio