column css

css - column - Hack en línea de IE IE



table wrap (7)

Sí, como todos los de arriba, si puedes evitar hacerlo en línea hazlo !! Pero si realmente necesita alinearse, entonces los filtros de analizador son probablemente su mejor opción, estos son ciertos caracteres que puede usar en propiedades como el hack de guión bajo en ie6

print("code sample"); style="position:relative;padding:5px; _position:absolute; _padding:10px;"

¡ie6 aún obtendrá los estilos subrayados, todos los demás simplemente los ignorarán!

También está usando! Important en lugar de subrayado.

jueguen y vean qué pasa, pero de nuevo como en el caso anterior, intenten evitar como la peste :)

¿Es posible crear, por ejemplo, un truco de modelo de caja al usar CSS en línea?

Por ejemplo:

<div id="blah" style="padding: 5px; margin: 5px; width: 30px; /*IE5-6 Equivalent here*/">

¡Gracias!


La respuesta más adecuada es no . (Editar: para ser claro, quiero decir, no lo hagas en línea, no me refiero a no usar hacks CSS).

Editar: Esto no funciona, IE ignora el comentario condicional. Dejando la respuesta aquí para no ser un bastardo.

La siguiente respuesta más apropiada son los comentarios condicionales:

<div id="blah" style="padding: 5px; margin: 5px; width: 30px; <!--[if lte IE 6]> ... <![endif]-->">


Sin discutir a favor o en contra de los hack de CSS, personalmente si tuviera que hacer algo así, preferiría usar un comentario condicional:

<!--[if lt IE 7]> <style> #blah { padding: 5px; margin: 5px; width: 30px; } </style> <![endif]-->


También puedes usar el hack "prefijo" en estilos en línea:

<div style="*background:red"></div>

Solo asegúrate de poner los IE pirateos al final del atributo de estilo. Sin embargo, estoy de acuerdo con la opinión de que los estilos en línea deberían evitarse cuando sea posible. Los comentarios condicionales y un archivo CSS separado para Internet Explorer parecen ser la mejor manera de manejar estos problemas.


Tenga en cuenta que IE 6 necesita el hack de modelo de caja en el modo peculiar, pero no en el modo estándar . IE 5 e IE 5.5 necesitan BMH todo el tiempo.

Entonces, si estás en el modo estándar, deberás usar algo como el hack original voice-family (que se dirige a IE 5.X y no a IE 6). Si estás en modo peculiar, cualquier antiguo IE <= 6 hack hará.

(El contenido de su pregunta me sugiere que su página se renderiza en modo peculiar).


Salgo afuera: pongo una clase en ese elemento, o uso la identificación que tienes, y manejo el estilo externamente.

También estoy de acuerdo con las respuestas de comentarios condicionales que preceden al mío.

Dicho esto: como último recurso absoluto , puede utilizar los siguientes ataques de estilo para apuntar a <= IE6, e incluso a IE7. El problema viene cuando / si corrigen IE8 para vencer a su hack.

.foo { padding: 5px; ^padding: 4px; /* this targets all IE, including 7. It must go first, or it overrides the following hack */ _padding: 3px; /* this targets >= IE6 */ width: 30px; }

Buena suerte.


La mejor solución es trabajar en el modo estándar en lugar del modo peculiar ... eso eliminará la necesidad de la mayoría de los hacks de su modelo de caja de inmediato.

Más allá de eso, los comentarios condicionales con una hoja de estilo específica de IE son mucho más limpios y más fáciles de mantener. Ese método ha sido lo suficientemente bueno para la mayoría de los diseñadores de primer nivel en los últimos años ... a menos que haya algo específico sobre su sitio que requiera que todo esté en línea, sugiero dar un paso atrás y analizar los problemas de raíz en lugar de cómo puedes parchar estos pequeños síntomas a medida que aparecen. texto alternativo http://sonicloft.net/im/52