Est-il possible de définir la largeur ou la hauteur d'un élément HTML (ex. <div>
) en JavaScript en mode Standards?
Notez le code suivant:
<html>
<script language="javascript" type="text/javascript">
function changeWidth(){
var e1 = document.getElementById("e1");
e1.style.width = 400;
}
</script>
<body>
<input type="button" value="change width" onclick="changeWidth()"/>
<div id="e1" style="width:20px;height:20px; background-color:#096"></div>
</body>
</html>
Lorsque l'utilisateur appuie sur la touche changer la largeur, la largeur de <div>
devrait changer.
Cela fonctionne bien lorsque la déclaration du type de document détermine le mode Quirks. En mode Standards, je ne peux pas modifier la taille de l'élément de cette façon.
Est-il possible de manipuler la taille d'un élément en mode Standards? Comment contourner ce dysfonctionnement?
Essayez de déclarer l'unité de largeur:
e1.style.width = "400px"; // width in PIXELS
La propriété style
vous permet de spécifier des valeurs pour les propriétés CSS.
La propriété CSS width
prend une longueur pour valeur.
Les longueurs nécessitent des unités. En mode quirks, les navigateurs ont tendance à considérer les pixels s’ils disposent d’un entier au lieu d’une longueur. Spécifiez les unités.
e1.style.width = "400px";