Solía incluir una función útil en una publicación de blog y se ha utilizado ampliamente en varias de mis publicaciones de blog. He estado leyendo mucho recientemente, así que escribí esta publicación de blog para ordenar las cosas nuevas que aprendí.
No hay duda de que, según el principio de separación de rendimiento y estructura, importar directamente una nueva hoja de estilo es la mejor opción, pero en algunos casos no funcionará, por ejemplo, si creamos un DIV arrastrable, desde la perspectiva de. Al configurar estilos, colóquelo absolutamente para evitar que afecte el flujo del documento original y luego cambie sus valores superior e izquierdo poco a poco para lograr el efecto de movimiento. Dado que el arrastre tiene un concepto de tiempo, 24 fotogramas por segundo, es imposible incluirlo todo en la hoja de estilo. Por lo tanto, es muy necesario generar reglas de estilo dinámicamente y modificar rápidamente las reglas de estilo. El W3C ha trabajado mucho para esto y se han ampliado muchas interfaces.
Para dar un paso atrás, la separación entre rendimiento y estructura no se limita a importar hojas de estilo. Ya sabes, hay tres tipos de estilos, estilos externos, estilos internos y estilos en línea.
Las interfaces recién agregadas se concentran principalmente en estilos externos; digo interfaces porque las implementaciones correspondientes las proporciona el navegador. Los tipos arrogantes como IE6 nunca ignoran su existencia.
En el modelo W3C, la etiqueta de enlace y la etiqueta de estilo de tipo "text/css" representan un objeto CSSStyleSheet. Podemos obtener todos los objetos CSSStyleSheet en la página actual a través de document.styleSheets, pero esta es una colección, no una simple. formación. Cada objeto CSSStyleSheet tiene las siguientes propiedades,
El objeto de regla de estilo (objeto CSSStyleRule) fue desarrollado por W3C para establecer el estilo con más detalle. Por ejemplo, lo siguiente corresponde a un objeto de regla de estilo:
botón[tipo] {
relleno: 4px 10px 4px 7px;
altura de línea: 17px;
}
El objeto de regla de estilo tiene los siguientes atributos principales: tipo, cssText, parentStyleSheet, parentRule.
Type es algo similar a nodeType, que subdivide reglas de estilo. Utiliza un número entero para representar su tipo. La situación específica es la siguiente.
No hace falta decir que cssText es un atributo muy útil que convierte directamente cadenas en reglas de estilo, ignorando las diferencias en los atributos de estilo de cada navegador, como cssFloat y styleFloat.
parentStyleSheet y parentRule son ambos para @import. Sin embargo, @import tiene problemas en IE, por lo que básicamente no lo uso.