HTMLElement: свойство offsetLeft
Базовая линия Широко поддерживается
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Свойство HTMLElement.offsetLeft только для чтения возвращает количество пикселей, на которое верхний левый угол текущего элемента смещен влево внутри узла HTMLElement.offsetParent.
Для элементов блочного типа offsetTop, offsetLeft, offsetWidth, и offsetHeight описывают рамку элемента относительно offsetParent.
Однако для элементов строчного типа (например, span), которые могут переноситься с одной строки на другую, offsetTop и offsetLeft описывают положение первой рамки (используйте Element.getClientRects(), чтобы получить ее ширину и высоту), в то время как offsetWidth и offsetHeight описывают размеры охватывающей рамки (используйте Element.getBoundingClientRect(), чтобы получить ее положение). Поэтому прямоугольник с левой, верхней границами, шириной и высотой offsetLeft, offsetTop, offsetWidth и offsetHeight не будет охватывающим прямоугольником для элемента span с переносимым текстом.
Значение
Целое число.
Примеры
const colorTable = document.getElementById("t1");
const tOLeft = colorTable.offsetLeft;
if (tOLeft > 5) {
// large left offset: do something here
}
Этот пример демонстрирует длинную фразу, которая переносится в пределах div с синей рамкой, и красного прямоугольника, который, как можно подумать, должен описывать границы span.
<div
style="width: 300px; border-color:blue; border-style:solid; border-width:1;">
<span>Short span. </span>
<span id="long-span">Long span that wraps within this div.</span>
</div>
<div
id="box"
style="position: absolute; border-color: red; border-width: 1; border-style: solid; z-index: 10"></div>
<script>
const box = document.getElementById("box");
const longSpan = document.getElementById("long-span");
box.style.left = longSpan.offsetLeft + document.body.scrollLeft + "px";
box.style.top = longSpan.offsetTop + document.body.scrollTop + "px";
box.style.width = longSpan.offsetWidth + "px";
box.style.height = longSpan.offsetHeight + "px";
</script>
Спецификации
| Спецификация |
|---|
| Модуль CSSOM View # dom-htmlelement-offsetleft |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
offsetLeft |
1 | 12 | 1 | 8 | 3 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetLeft