Valores de ponto flutuante no CSSOM

O Internet Explorer 10 e os aplicativos da Windows Store que usam JavaScript relatam métricas de posicionamento e dimensionamento para o DOM (Document Object Model) usando precisão de subpixel. O CSSOM (CSS Object Model) no Internet Explorer 10 e nos aplicativos da Windows Store que usam JavaScript dá suporte a unidades de pixel de ponto flutuante e precisão de ponto flutuante em valores de posicionamento e dimensionamento para propriedades do CSSOM no nível do elemento.

Este tópico contém as seguintes seções:

Alinhamento de pixel inteiro

Tradicionalmente, implementações e padrões da Web herdados têm presumido que a renderização do conteúdo da Web em uma dada tela deve ser alinhada com limites de pixel inteiro. Isso é evidente no CSSOM, um modelo de objeto usado para obter medidas de posicionamento e dimensionamento para o DOM. Embora o Windows Internet Explorer já permita há muito tempo um amplo conjunto de APIs do CSSOM (para saber mais, veja Medindo a dimensão e a localização de elementos com o CSSOM no Internet Explorer 9), ele definiu essas medidas de posicionamento e dimensionamento como sendo alinhadas por pixels.

Unidades de DIPs (pixels independentes de dispositivo)

O Windows Internet Explorer 8 introduziu o suporte a DIPs (pixels independentes de dispositivo). Esses "pixels virtuais" têm 1/96 de polegada de tamanho e são uma forma muito mais precisa de medir o posicionamento do texto do que os pixels físicos. Quando o conteúdo é renderizado na tela, as medidas do layout são convertidas por um fator de escala (que é mapeado para o nível de zoom atual do usuário) e depois arredondadas, ou ajustadas, para um pixel para fins de exibição.

O mecanismo de renderização do Windows Internet Explorer 9 transfere boa parte do trabalho de renderização para o hardware gráfico do computador usando as APIs do Direct2D. O Direct2D pode realizar uma renderização com precisão de subpixel tanto para o modelo de caixa de CSS (folhas de estilos em cascata) quanto para texto. (Para saber mais, veja o tópico sobre a renderização de texto no Internet Explorer 9.) Em vez de simplesmente ajustar a unidade de layout ao pixel mais próximo durante a renderização, as APIs do Direct2D permitem que os cálculos de layout sejam consumidos diretamente pelo mecanismo de renderização e exibidos conforme apropriado.

Maior precisão nos cálculos de posicionamento e dimensionamento

Embora problemas para obter informações de posicionamento e dimensionamento com perfeição de pixel através do CSSOM sejam raros no nível de zoom 100%, eles podem ficar mais evidentes para os usuários — e, portanto, problemáticos para os desenvolvedores — quando se amplia e reduz o zoom do conteúdo. O suporte à precisão de ponto flutuante nos valores de posicionamento e dimensionamento para propriedades do CSSOM no nível do elemento no Internet Explorer 10 pode ajudar a reduzir esses problemas. (As propriedades no nível do elemento são aquelas como elementOb.clientLeft; em contraste, as propriedades como rangeOb.getBoundingClientRect().left sempre retornam valores de subpixel.)

A precisão de subpixel para propriedades do CSSOM no nível do elemento está desativada por padrão. Para habilitá-la, use a seguinte nova propriedade:

PropriedadeDescrição

msCSSOMElementFloatMetrics

Propriedade booliana que indica se as propriedades do CSSOM estão configuradas para retornar medidas com precisão de ponto flutuante. O valor padrão é "0".

 

Tópicos relacionados

DOM (Document Object Model)
Guia para Desenvolvedores do Internet Explorer 10

 

 

Mostrar: