Keith Clark, un desarrollador web independiente del Reino Unido, ha desarrollado una solución en javascript para IE y la relacion con los selectores CSS3. Selectores CSS3 se convirtió en el primer modulo del W3C en alcanzar la categoria de propuesta de recomendación en diciembre del 2009.
Es decir, el
css3.js proyecto (actualmente en versión beta) permite a IE del 5 al 8, identificar pseudo selectores de clases y hacer que las normas de estilo definidas con ellos, Todo esto se logra simplemente incluyendo la secuencia de comandos, junto con Robert Nyman
DomAssitant.
Pseudo clases soportadas
:nth-child
:nth-last-child
:nth-of-type
:nth-last-of-type
:first-child
:last-child
:only-child
:first-of-type
:only-of-type
:empty
Limitaciones del proyecto
las hojas de estilo se deben agregar a la pagina mediante un TAG. Las hojas de estilo a nivel página o estilos en línea no funcionará. Se peude seguir utilizando @import en las hojas de estilo.
Las hojas de estilo debe estar alojadas en el dominio de la página.
cuando se use el protocolo file:// no funcionara debido a las restricciones de seguridad del navegador.
La pseudo clase :not() no es compatible.
la emulación no es dinámica. Una vez que los estilos se aplican son fijos los cambios en el DOM no se verán reflejados
¿Como funciona?
css3.js se descarga de cada hoja de estilo en la pagina y lo analiza para las clases de los pseudo selectores de CSS3. Si se encuentra un selector es sustituido por una clase CSS de un nombre similar. por ejemplo: div:nth-child(2) se convertirá en: div._iecss-nth-child-2. Después, Robert Nyman DomAssitant se utilizara para encontrar DOM nodes coincidentes en el selector original de CSS3 y de la clase CSS que se aplica en el mismo.
Por ultimo, la hoja de estilo original se reemplaza con la nueva versión y cualquier otro elemento objetivo de los selectores de CSS sera diseñada.
Omitiendo el analizador de CSS de IE
Conforme con las especificaciones de W3X, un navegador web debe descartar las reglas de estilos que no entiende. Esto presenta un problema, es necesario el acceso a los selectores de CSS3 en la hoja de estilos, pero IR los tira a la basura.
Para evitar este problema, cada hoja de estilos se descarga utilizando un XMLHttpRequest.
Esto permite que la secuencia de comando para eludir a los analizadores internos de los navegadores y tener acceso al archivo CSS crudo.
Obtenga más informacion y descargar
css3.js es liberado bajo la licencia MIT y se puede descargar desde
la pagina del proyecto en el sitio de Keith Clark.
También tendrá que descargar Robert Nyman DOMassistant.