159 votes

Définir la largeur ou la hauteur de l'élément en mode standard

Est-il possible de définir la largeur ou la hauteur d'un élément HTML (ex. <div> ) en JavaScript en mode standard ?

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 modifier la largeur le bouton <div> doit être modifiée.

Cela fonctionne bien lorsque la déclaration doctype détermine le mode Quirks. En mode "Standards", je ne peux pas modifier la taille de l'élément de cette manière

Est-il possible de manipuler la taille d'un élément en mode standard ? Comment contourner ce dysfonctionnement ?

243voto

Alexandre Perez Points 556

Essayez de déclarer l'unité de largeur :

e1.style.width = "400px"; // width in PIXELS

47voto

Quentin Points 325526

En style vous permet de spécifier des valeurs pour les propriétés CSS.

Le CSS width prend une longueur comme valeur.

Les longueurs nécessitent des unités. En mode "bizarrerie", les navigateurs ont tendance à supposer qu'il s'agit de pixels si on leur fournit un nombre entier au lieu d'une longueur. Spécifiez les unités.

e1.style.width = "400px";

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X