2012-05-26 25 views

Respuesta

16

Es una HTML Component, un medio de encapsular la lógica en una página web. Los comportamientos se describieron en un 1999 w3 CSS working draft pero (hasta donde yo sé) solo Microsoft proporcionó una implementación en IE 5 y hoy hay mejores formas de llevar a cabo las mismas tareas.

Consulte también: http://msdn.microsoft.com/en-us/library/ms531018.aspx

HTC sólo deben utilizarse como un mecanismo de reserva (que su ejemplo demuestra). La mayor parte de lo que es posible con ellos es posible utilizando CSS estándar y entre navegadores y JavaScript en IE 9 y superior.

En cuanto a por qué funciona, mi conjetura es que el comportamiento manipula funcionalidad IE-específico, como filtros o DHTML VML que se pueden utilizar para lograr resultados visuales que estaban delante de su tiempo (aunque ahora obsoleto).

-1

Todos los navegadores proporcionan una forma de ver las reglas de una hoja de estilo usando JavaScript e insertar dinámicamente nuevas reglas. Normalmente, IE devuelve "desconocido" para cualquier cosa que no admita, por ejemplo; un div p:first-child cambiaría a div p:unknown, y un p a[href] se devolvería por completo como "DESCONOCIDO". Afortunadamente, IE reconoce: pase el mouse sobre algo con lo que está familiarizado y lo deja en paz.

IE también es compatible con el llamado behaviors; ambas funcionalidades predefinidas, como carga de contenido dinámico o almacenamiento persistente de datos, así como comportamientos personalizados que puede compilar en un archivo .htc o .hta. Estos comportamientos están vinculados a nodos html a través de css, y "mejoran" los nodos que son seleccionados por el selector de una regla con el comportamiento dado.

Combinando lo anterior, debería ser posible crear un comportamiento que busque en los estilos las reglas que no admite IE y engañar a los elementos afectados para que apliquen los estilos asociados de otra forma. Los pasos involucrados en esto son algo así como:

Buscar todas las hojas de estilo para: vuelo estacionario gobierna IE no soporta, insertar una nueva regla de IE hace de soporte, como una con los nombres de clase, y, finalmente, estableció la escritura eventos para cambiar los nombres de clase. De esta manera,: hover,: active y: focus puede ser compatible, y como desarrollador no tiene que hacer nada excepto incluir el comportamiento. Todo lo demás se ejecuta en automático completo.

A diferencia de las versiones 1 y 2, la versión 3 también es compatible con html (ajax) agregado dinámicamente. La diferencia es que 1 y 2 buscaron activamente elementos afectados en la carga de la página (por lo que solo una vez), mientras que 3 usa expresiones para permitir que los nodos realicen una devolución de llamada ellos mismos.

Puede leer mas sobre esto here

Cuestiones relacionadas