element.offsetLeft
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Résumé
Renvoie le nombre de pixels dont le
coin supérieur gauche
de l'élément courant est décalé vers la gauche au sein du nœud offsetParent
.
Syntaxe
left = element.offsetLeft;
left
est un entier représentant le décalage vers la gauche en pixels.
Note
offsetLeft
renvoie la position du coin supérieur gauche de l'élément ; pas nécessairement du « vrai » bord gauche de l'élément. C'est important pour les éléments span dans les textes continus qui s'étendent sur plusieurs lignes. Le span peut commencer au milieu de la page et continuer au début de la ligne suivante. La propriété offsetLeft
fera référence au coin gauche de départ du span, pas le bord gauche du texte au début de la seconde ligne. Par conséquent, une boîte avec les valeurs left, top, width et height correspondant à offsetLeft, offsetTop, offsetWidth
et offsetHeight
ne contiendra pas forcément un span avec débordement de texte.
Exemple
var colorTable = document.getElementById("t1");
var tOLeft = colorTable.offsetLeft;
if (tOLeft > 5) {
// grand décalage à gauche : faire quelque chose ici
}
Comme noté plus haut, cet exemple montre une « longue » phrase qui déborde dans un div avec une bordure bleue, et une boîte rouge dont on pourrait croire qu'elle décrit les limites du span.
Note : il s'agit d'une image de l'exemple, pas d'un rendu direct dans le navigateur. En effet, il n'est pas possible d'intégrer des scripts dans la page du wiki.
<div
style="width: 300px; border-color:blue;
border-style:solid; border-width:1;">
<span>Short span. </span>
<span id="long">Long span that wraps withing this div.</span>
</div>
<div
id="box"
style="position: absolute; border-color: red;
border-width: 1; border-style: solid; z-index: 10"></div>
<script>
var box = document.getElementById("box");
var long = document.getElementById("long");
box.style.left = long.offsetLeft + document.body.scrollLeft;
box.style.top = long.offsetTop + document.body.scrollTop;
box.style.width = long.offsetWidth;
box.style.height = long.offsetHeight;
</script>
Voir aussi
Spécification
Cette propriété ne fait partie d'aucun standard ou recommandation technique du W3C.