Valeurs à virgule flottante dans CSSOM

Internet Explorer 10 et les applications du Windows Store en JavaScript signalent les valeurs de positionnement et de dimensionnement du DOM (Document Object Model) avec une précision inférieure au pixel. Le CSSOM (CSS Object Model) dans Internet Explorer 10 et les applications du Windows Store en JavaScript prennent en charge les unités pixel à virgule flottante et la précision en virgule flottante dans les valeurs de dimensionnement et de positionnement pour les propriétés CSSOM de niveau élément.

Cette rubrique contient les sections suivantes :

Alignement sur les pixels

Traditionnellement les normes et les implémentations Web héritées supposent que le rendu de contenu Web sur un écran donné doit s’aligner sur les pixels. Cela est évident dans CSSOM, qui est un modèle d’objet utilisé pour obtenir des données de positionnement et de dimensionnement pour le DOM. Bien que Windows Internet Explorer prenne en charge depuis longtemps un ensemble complet d’API  CSSOM (pour plus d’informations, voir Mesure des dimensions et de l’emplacement des éléments avec CSSOM dans Internet Explorer 9), il définissait auparavant ces données de positionnement et de dimensionnement comme alignées sur les pixels.

Unités de pixel indépendantes des appareils (DIP, Device-independent pixel)

Windows Internet Explorer 8 introduisit la prise en charge des pixels indépendants des appareils. Ces « pixels virtuels » ont une taille d’1/96ème de pouce et permettent de mesurer avec plus de précision le placement du texte que les pixels physiques. Lorsque du contenu est rendu à l’écran, les données de disposition sont traduites par un facteur d’échelle (qui correspond au niveau de zoom actuel de l’utilisateur), puis arrondies, ou « alignées » sur un pixel pour l’affichage du contenu.

Le moteur de rendu dans Windows Internet Explorer 9 confie la plus grosse partie du travail de rendu au matériel graphique de l’ordinateur à l’aide d’API Direct2D. Direct2D peut procéder au rendu à une précision inférieure au pixel pour le modèle de boîte CSS (Cascading Style Sheets) et pour le texte. (Pour plus d’informations sur le rendu du texte dans Internet Explorer 9, voir Rendu du texte dans Internet Explorer 9.) Au lieu d’aligner simplement l’unité de disposition sur le pixel le plus proche au cours du rendu, les API Direct2D confient les calculs de disposition directement au moteur de rendu qui se charge de leur rendu.

Des calculs de positionnement et de dimensionnement plus précis

Bien que des problèmes d’obtention d’informations de positionnement et de dimensionnement au pixel près via CSSOM soient rares à un niveau de zoom de 100%, ils peuvent être en revanche plus fréquents pour les utilisateurs lorsqu’ils zooment en avant et en arrière sur un contenu, et par conséquent plus difficiles à résoudre pour les développeurs La prise en charge de la précision en virgule flottante dans les valeurs de positionnement et de dimensionnement pour les propriétés CSSOM de niveau élément dans Internet Explorer 10 peut atténuer ces problèmes. (Les propriétés de niveau élément sont des propriétés telles que elementOb.clientLeft. Les propriétés telles que rangeOb.getBoundingClientRect().left, quant à elles, retournent toujours des valeurs inférieures au pixel.)

La précision inférieure au pixel pour les propriétés CSSOM de niveau élément est désactivée par défaut. Pour l’activer, utilisez la nouvelle propriété suivante :

PropriétéDescription

msCSSOMElementFloatMetrics

Propriété booléenne qui indique si les propriétés CSSOM sont définies pour retourner des données avec une précision en virgule flottante. La valeur par défaut est "0".

 

Rubriques connexes

DOM (Document Object Model)
Guide du développeur Internet Explorer 10

 

 

Afficher:
© 2014 Microsoft