style respeta internet iexplorer hack habilitar for color css internet-explorer internet-explorer-7

respeta - internet explorer 11 hack css



La herencia de IE7 CSS no funciona (4)

He establecido un estilo para las etiquetas h2 (color, tamaño de fuente, etc.), pero cuando introduzco la etiqueta "A", el estilo se convierte en un enlace. Mi html:

<h2> <a class="no-decor" href="http://localhost/xxx/">Link</a> </h2>

Entonces, como pueden ver, he creado una clase de "no decoración". Debe heredar el estilo de h2 para la etiqueta "a".

a.no-decor { color:inherit; font-family:inherit; font-size:inherit; font-weight:inherit; text-decoration:inherit; }

En Firefox everythig está bien, pero IE aún muestra el estilo de la etiqueta "a" (subrayar la decoración del texto y el color azul). Lo sé, puedo establecer un estilo para "h2 a", pero tal vez de alguna manera es posible forzar el trabajo CSS heredar valores en IE7?

PS en IE6 no es compatible también.

PPS Hay algunos ejemplos de la misma manera: http://www.brunildo.org/test/inherit.html


Las versiones de Internet Explorer <= 7 no admiten el valor inherit para ninguna otra propiedad que no sea la direction y la visibility .


No, IE nunca ha admitido inherit ninguna propiedad, lo siento. Esto ha sido arreglado en> = IE8.

Aunque podría usar una corrección de JavaScript para copiar las propiedades de h2 a a , probablemente sea más fácil aplicar la misma regla de diseño a ambos elementos:

h2, h2 a { font: something; color: black; text-decoration: none; }

No es necesario establecer inherit en la decoración de texto de todos modos, porque la decoración no hereda de un elemento primario a un elemento secundario: el efecto de subrayado está en el elemento primario y pasa por el elemento secundario; el niño no puede eliminarlo (errores modulo IE). ''text-decoration: none'' en el niño es lo correcto, a menos que desee potencialmente dos subrayados ...


Un error es un error y no hay mucho que puedas hacer, salvo las soluciones.

Hay una prueba para heredar el soporte http://www.brunildo.org/test/inherit.html .

También puede intentar utilizar un script como ie7-js , que "es una biblioteca JavaScript para hacer que Microsoft Internet Explorer se comporte como un navegador compatible con los estándares"


tratar

a.no-decor{ color:inherit; //color:expression(this.parentNode.currentStyle[''color'']); text-decoration:none; }

Eso eliminará tu color azul y el subrayado. Podrías usar una expresión similar para el subrayado, pero sería mejor que simplemente uses la decoración de texto: ninguna, ya que eso es todo un texto heredado; la decoración te dará de todos modos y no es necesario usar expresiones cuando no sea absolutamente necesario (tú tomaré un golpe de rendimiento cuando use expresiones).