- HTML 教程
- HTML - 首页
- HTML - 路线图
- HTML - 简介
- HTML - 历史与演变
- HTML - 编辑器
- HTML - 基本标签
- HTML - 元素
- HTML - 属性
- HTML - 标题
- HTML - 段落
- HTML - 字体
- HTML - 块
- HTML - 样式表
- HTML - 格式化
- HTML - 引用
- HTML - 注释
- HTML - 颜色
- HTML - 图片
- HTML - 图片地图
- HTML - 内嵌框架 (iframe)
- HTML - 短语元素
- HTML - 元标签
- HTML - 类
- HTML - ID
- HTML - 背景
- HTML 表格
- HTML - 表格
- HTML - 表格标题与字幕
- HTML - 表格样式
- HTML - 表格列组 (colgroup)
- HTML - 嵌套表格
- HTML 列表
- HTML - 列表
- HTML - 无序列表
- HTML - 有序列表
- HTML - 定义列表
- HTML 链接
- HTML - 文本链接
- HTML - 图片链接
- HTML - 邮件链接
- HTML 颜色名称与值
- HTML - 颜色名称
- HTML - RGB
- HTML - HEX
- HTML - HSL
- HTML 表单
- HTML - 表单
- HTML - 表单属性
- HTML - 表单控件
- HTML - 输入属性
- HTML 多媒体
- HTML - 视频元素
- HTML - 音频元素
- HTML - 嵌入多媒体
- HTML 头部
- HTML - head 元素
- HTML - 添加 Favicon
- HTML - Javascript
- HTML 布局
- HTML - 布局
- HTML - 布局元素
- HTML - 使用 CSS 进行布局
- HTML - 响应式设计
- HTML - 符号
- HTML - 表情符号
- HTML - 样式指南
- HTML 图形
- HTML - SVG
- HTML - Canvas
- HTML API
- HTML - Geolocation API
- HTML - 拖放 API
- HTML - Web Workers API
- HTML - WebSocket
- HTML - Web 存储
- HTML - 服务器发送事件
- HTML 其他
- HTML - 文档对象模型 (DOM)
- HTML - MathML
- HTML - 微数据
- HTML - IndexedDB
- HTML - Web 消息传递
- HTML - Web CORS
- HTML - WebRTC
- HTML 演示
- HTML - 音频播放器
- HTML - 视频播放器
- HTML - 网页幻灯片
- HTML 工具
- HTML - Velocity Draw
- HTML - 二维码
- HTML - Modernizr
- HTML - 验证
- HTML - 颜色拾取器
- HTML 参考
- HTML - 速查表
- HTML - 标签参考
- HTML - 属性参考
- HTML - 事件参考
- HTML - 字体参考
- HTML - ASCII 码
- ASCII 码表查询
- HTML - 颜色名称
- HTML - 实体
- MIME 媒体类型
- HTML - URL 编码
- 语言 ISO 代码
- HTML - 字符编码
- HTML - 已弃用的标签
- HTML 资源
- HTML - 快速指南
- HTML - 有用资源
- HTML - 颜色代码生成器
- HTML - 在线编辑器
HTML - DOM 元素 offsetLeft 属性
元素的offsetTop属性返回元素上边缘与其最近的已定位祖先元素上边缘之间的垂直距离(以像素为单位)。
这包括元素的边距、父容器的上内边距、滚动条(如果存在)和边框,所有值都以像素为单位。
语法
element.offsetTop
返回值
offsetTop 属性返回一个整数值,表示元素上边缘与其最近的已定位祖先元素上边缘之间的距离(以像素为单位)。
HTML DOM 元素 'offsetTop' 属性示例
以下是一些示例,用于更好地理解 'offsetTop' 属性的用法。
使用 offsetTop 获取元素位置
此示例演示了如何使用 offsetTop 属性获取 <div> 元素的位置。单击按钮时,它将显示 'myDiv' 元素的顶部和左侧位置。
<!DOCTYPE html>
<html lang="en">
<head>
<style>
#myDiv {
/*position: relative;*/
top: 50px;
left: 100px;
width: 200px;
height: 100px;
background-color: lightblue;
}
</style>
</head>
<body>
<h1>HTML - DOM Element</h1>
<h2>offsetTop Property</h2>
<div id="myDiv">Example Div</div>
<button onclick="getPos()">Get Position</button>
<p id="Display"></p>
<script>
function getPos() {
const myDiv = document.getElementById('myDiv');
const posTop = myDiv.offsetTop;
const posLeft = myDiv.offsetLeft;
document.getElementById('Display').textContent =
`Position Top: ${posTop}px, Left: ${posLeft}px`;
}
</script>
</body>
</html>
显示相对于容器的项目位置
此示例演示了 offsetTop 属性的用法。以下代码创建了一个带有三个项目的滚动条容器,然后计算其垂直位置,单击按钮后,它将以像素为单位显示这些位置。
<!DOCTYPE html>
<html lang="en">
<head>
<style>
.con {
position: relative;
border: 1px solid black;
height: 200px;
overflow-y: scroll;
}
.item {
height: 100px;
margin: 20px;
background-color: lightblue;
}
</style>
</head>
<body>
<h1>HTML - DOM Element</h1>
<h2>offsetTop Property</h2>
<p>Displays the positions of the container..</p>
<div class="con">
<div class="item" id="item1">Item 1</div>
<div class="item" id="item2">Item 2</div>
<div class="item" id="item3">Item 3</div>
</div>
<button onclick="pos()">Show Item Positions</button>
<div id="pdisy"></div>
<script>
function pos() {
const items = document.querySelectorAll('.item');
let info = '';
items.forEach((item, index) => {
const itemTop = item.offsetTop;
info+=`Item ${index + 1}:Top${itemTop}px<br>`;
});
document.getElementById('pdisy').innerHTML =info;
}
</script>
</body>
</html>
计算嵌套元素中的总 offsetTop
此示例演示了 offsetTop 属性的用法。此示例演示了如何使用 offsetTop 属性计算容器内子元素的总垂直高度。
<!DOCTYPE html>
<html lang="en">
<head>
<style>
#pE {
border: 1px solid black;
}
.cE {
margin: 10px;
width: 50px;
height: 50px;
background-color: lightblue;
}
</style>
</head>
<body>
<h1>HTML - DOM Element</h1>
<h2>offsetTop Property</h2>
<div id="pE">
<div class="cE">Child 1</div>
<div class="cE">Child 2</div>
<div class="cE">Child 3</div>
</div>
<button onclick="topval()">
Show Total Offset Top
</button>
<div id="output"></div>
<script>
function topval() {
const pE = document.getElementById('pE');
let total = 0;
Array.from(pE.children).forEach(child => {
total += child.offsetTop;
});
document.getElementById('output').textContent=
`Total offset top of children: ${total}px`;
}
</script>
</body>
</html>
支持的浏览器
| 属性 | ![]() |
![]() |
![]() |
![]() |
![]() |
|---|---|---|---|---|---|
| offsetTop | 是 | 是 | 是 | 是 | 是 |
html_dom_element_reference.htm
广告




