Eu costumava fornecer uma função útil em uma postagem do blog e ela tem sido amplamente usada em várias postagens do meu blog. Tenho lido muito recentemente, então escrevi esta postagem no blog para resolver as coisas novas que aprendi.
Não há dúvida de que com base no princípio da separação entre desempenho e estrutura, importar diretamente uma nova folha de estilo é a melhor escolha, mas em alguns casos não funcionará. Por exemplo, se fizermos um DIV arrastável, do ponto de vista de. definindo estilos, é Posicione-o absolutamente para evitar que afete o fluxo do documento original e, em seguida, altere seus valores superior e esquerdo aos poucos para obter o efeito de movimento. Como arrastar tem um conceito de tempo, 24 quadros por segundo, é impossível incluir tudo na folha de estilos. Portanto, é muito necessário gerar regras de estilo dinamicamente e modificar rapidamente as regras de estilo. O W3C fez muito trabalho para isso. No DOM2.0, muitas interfaces foram expandidas.
Para dar um passo atrás, a separação entre desempenho e estrutura não se limita à importação de folhas de estilo. Você sabe, existem três tipos de estilos: estilos externos, estilos internos e estilos embutidos.
As interfaces recém-adicionadas estão concentradas principalmente em estilos externos - digo interfaces porque as implementações correspondentes são fornecidas por navegadores arrogantes como o IE6 nunca ignoram sua existência.
No modelo W3C, a tag de link e a tag de estilo do tipo "text/css" representam um objeto CSSStyleSheet. Podemos obter todos os objetos CSSStyleSheet na página atual por meio de document.styleSheets, mas esta é uma coleção, não uma simples. variedade. Cada objeto CSSStyleSheet possui as seguintes propriedades,
O objeto de regra de estilo (objeto CSSStyleRule) foi desenvolvido pelo W3C para definir o estilo com mais detalhes. Por exemplo, o seguinte corresponde a um objeto de regra de estilo:
botão[tipo] {
preenchimento: 4px 10px 4px 7px;
altura da linha: 17px;
}
O objeto de regra de estilo possui os seguintes atributos principais: type, cssText, parentStyleSheet, parentRule.
Type é um pouco semelhante a nodeType, que subdivide regras de estilo. Ele usa um número inteiro para representar seu tipo. A situação específica é a seguinte
Escusado será dizer que cssText é um atributo muito útil que converte strings diretamente em regras de estilo, ignorando as diferenças nos atributos de estilo de cada navegador, como cssFloat e styleFloat.
parentStyleSheet e parentRule são ambos para @import. No entanto, @import tem problemas no IE, então basicamente não o uso.