百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

JS的 DOM 尺寸与位置属性(js设置dom属性)

zhezhongyun 2025-07-10 22:10 2 浏览

#头条深一度-深度阅读计划# 在 JavaScript 开发中,操作 DOM 元素的尺寸和位置是常见的任务,尤其是在实现动画、布局调整或响应式设计时。本文将全面解析 JavaScript 中与 DOM 尺寸和位置相关的属性,帮助你更好地理解和使用它们。

一、DOM 对象相关尺寸和位置属性

DOM 元素的尺寸和位置属性可以分为只读属性可读可写属性。这些属性在不同的场景下有着不同的用途。

只读属性

只读属性是 DOM 节点的固有属性,只能通过 JavaScript 获取,不能通过 JavaScript 设置。这些属性返回的值通常是不带单位的数字。

1.clientWidth和clientHeight

clientWidthclientHeight 属性表示元素的可视部分宽度和高度,即 padding + content。它们不包括边框、滚动条和外边距。




2.offsetWidth和offsetHeight

offsetWidthoffsetHeight 属性表示元素的 border + padding + content 的宽度和高度。它们包括边框和内边距,但不包括外边距。

3.clientTop和clientLeft

clientTopclientLeft 属性表示元素的边框宽度。它们通常用于计算元素的实际位置。

4.offsetLeft和offsetTop

offsetLeftoffsetTop 属性表示元素相对于其 offsetParent 的左上角的距离。offsetParent 是元素的最近的定位祖先元素,如果没有定位祖先,则为 body



5.scrollHeight和scrollWidth

scrollHeightscrollWidth 属性表示元素内部内容的实际宽度和高度。如果内容没有超出元素的可视区域,则这两个属性的值与 clientWidthclientHeight 相同。

可读可写属性

可读可写属性不仅可以被 JavaScript 获取,还可以被 JavaScript 设置。

1.scrollTop和scrollLeft

scrollTopscrollLeft 属性表示元素被卷起的高度和宽度。它们通常用于实现滚动效果。

2.domObj.style.xxx

domObj.style.xxx 属性用于获取或设置 DOM 元素的行内样式。需要注意的是,这种方式只能获取行内样式,而不能获取最终计算好的样式。如果需要获取计算好的样式,可以使用 getComputedStyle


二、Event 对象相关尺寸和位置属性

在处理事件时,event 对象也提供了许多与尺寸和位置相关的属性。这些属性在实现交互效果时非常有用。

1.clientX和clientY

clientXclientY 属性表示鼠标点击位置相对于浏览器可视区的坐标。

2.screenX和screenY

screenXscreenY 属性表示鼠标点击位置相对于屏幕的坐标。


3.offsetX和offsetY

offsetXoffsetY 属性表示鼠标点击位置相对于事件源(即触发事件的 DOM 元素)的坐标。

4.pageX和pageY

pageXpageY 属性表示鼠标点击位置相对于页面的坐标。当页面有滚动条时,pageXpageY 会考虑滚动的距离。

相关推荐

怎样设置EditText内部文字被锁定不可删除和修改

在做项目的时候,我曾经遇到过这样的要求,就是跟百度贴吧客户端上的一样,在回复帖子的时候,在EditText中显示回复人的名字,而且这个名字不可以修改和删除,说白了就是不可操作,只能在后面输入内容。在E...

iOS的布局体系-流式布局MyFlowLayout

iOS布局体系的概览在我的CSDN博客中的几篇文章分别介绍MyLayout布局体系中的视图从一个方向依次排列的线性布局(MyLinearLayout)、视图层叠且停靠于父布局视图某个位置的框架布局(M...

浏览器滚动条hover时变粗、改变颜色

今天应UED的要求对项目的滚动条进行美化,原生的滚动条虽然很实用,但确实不美观。用了一些css美化后::-webkit-scrollbar{height:9px;width:9...

QML控件类型:ComboBox、Control(qml buttongroup)

Control一、描述Control是所有控件通用功能的抽象基类型。它从窗口系统接收输入事件,并在屏幕上绘制自身。二、控件布局控件的implicitWidth和implicitHeight通...

学习CSS布局:简单表格布局代码示例

性能优化-学习CSS布局:简单表格布局代码示例CSS是现代Web设计和开发的必备技能之一。而表格布局是Web页面中常用的布局之一,用于展示数据和信息。在这篇文章中,我们将介绍如何使用CSS创建一个简单...

UE5之UMG基础第1篇:统一网格面板(ue5 新功能)

目标:记录和学习UE5的UMG方法制作UI,使用UniformGridPanel制作效果如下:步骤1.增加前言:UniformGridPanel统一网格面板,就是所有子元素大小和间隔等统一,这种效果...

JS的 DOM 尺寸与位置属性(js设置dom属性)

#头条深一度-深度阅读计划#在JavaScript开发中,操作DOM元素的尺寸和位置是常见的任务,尤其是在实现动画、布局调整或响应式设计时。本文将全面解析JavaScript中与DOM...

SpriteJS:图形库造轮子的那些事儿

从2017年到2020年,我花了大约4年的时间,从零到一,实现了一个可切换WebGL和Canvas2D渲染的,跨平台支持浏览器、SSR、小程序,基于DOM结构和支持响应式的,高...

理解CSS中的百分比单位:相对尺寸的核心规则

在CSS中,百分比(`%`)是一种灵活且强大的相对单位,但其具体行为常让开发者感到困惑。本文将深入解析百分比单位的计算规则,帮助你彻底掌握其背后的逻辑。一、百分比的核心:参考系(包含块)百分比的值始...

36个工作中常用的JavaScript函数片段「值得收藏」

作者:Eno_Yao转发链接:https://segmentfault.com/a/1190000022623676前言如果文章和笔记能带您一丝帮助或者启发,请不要吝啬你的赞和收藏,你的肯定是我前进的...

如何使用css完成视差滚动效果?(css 视距)

视差滚动(ParallaxScrolling)是指多层背景以不同的速度移动,形成立体的运动效果,带来非常出色的视觉体验我们可以把网页解刨成:背景层、内容层、悬浮层使用css形式实现视觉差滚动效果的方...

vant-List 列表(vant select)

引入importVuefrom'vue';import{List}from'vant';Vue.use(List);基础用法List组件通过lo...

Vue3问题:如何使用WangEditor富文本?能自定义才是真的会用!

笔者|大澈大家好,我是大澈!今天的问题,来自于上周末问题留言的朋友嘻嘻哈哈。欢迎大家在周末的问题留言推文中,积极进行问题留言,把这周工作日遇到的问题,分享给大家瞧瞧,或者直接进问答群,一起交流唠...

微信小程序开发极简入门(二):样式,页面,数据

前文:微信小程序开发极简入门(一)样式wxss:/**放在页面的wxss**/.scrollarea{flex:1;overflow-y:hidden;}.idx_view{...

AI+Code驱动的M站首页重构实践:从技术债务到智能化开发

本文分享了阿里巴巴找品M站首页重构项目中AI+Code提效的实践经验。面对M站技术栈陈旧、开发效率低下的挑战,我们通过楼层动态化架构重构和AI智能脚手架,实现了70%首页场景的标准化覆盖+30%的...