javascript中的offsetWidth、clientWidth、innerWidth的使用「建议收藏」

javascript中的offsetWidth、clientWidth、innerWidth的使用「建议收藏」javascript中的offsetWidth、clientWidth、innerWidth的使用.

元素视图属性

clientWidth clientHeight clientTop clientLeft

只读属性 clientHeight 对于没有定义 CSS 或者内联布局盒子的元素为 0;否则,它是元素内部的高度(以像素为单位),包含内边距,但不包括边框、外边距和水平滚动条(如果存在)。

clientHeight 可以通过 CSS height + CSS padding – 水平滚动条高度(如果存在)来计算。

11.png

clientLeft 表示一个元素的左边框的宽度,以像素表示。如果元素的文本方向是从右向左(RTL, right-to-left),并且由于内容溢出导致左边出现了一个垂直滚动条,则该属性包括滚动条的宽度。clientLeft 不包括左外边距和左内边距。clientLeft 是只读的。

scrollWidth scrollHeight scrollTop scrollLeft

scrollHeight 这个只读属性是一个元素内容高度的度量,包括由于溢出导致的视图中不可见内容。

22.png

scrollHeight 的值等于该元素在不使用滚动条的情况下为了适应视口中所用内容所需的最小高度。没有垂直滚动条的情况下,scrollHeight 值与元素视图填充所有内容所需要的最小值clientHeight相同。包括元素的 padding,但不包括元素的 border 和 margin。scrollHeight 也包括 ::before 和 ::after这样的伪元素。 如果元素的内容不需要垂直滚动条就可以容纳,则其 **scrollHeight **等于{{domref(“Element.clientHeight”, “clientHeight”)}}

scrollTop 属性可以获取或设置一个元素的内容垂直滚动的像素数。

一个元素的 scrollTop 值是这个元素的内容顶部(卷起来的)到它的视口可见内容(的顶部)的距离的度量。当一个元素的内容没有产生垂直方向的滚动条,那么它的 **scrollTop **值为0

scrollLeft 属性可以读取或设置元素滚动条到元素左边的距离。

注意如果这个元素的内容排列方向(direction)是rtl (right-to-left) ,那么滚动条会位于最右侧(内容开始处),并且scrollLeft值为 0。此时,当你从右到左拖动滚动条时,scrollLeft 会从 0 变为负数。

即设置css属性为direction: rtl;

offsetWidth offsetHeight offsetTop offsetLeft offsetParent

offsetHeight 是一个只读属性,它返回该元素的像素高度,高度包含该元素的垂直内边距和边框,且是一个整数。通常,元素的 offsetHeight 是一种元素 CSS 高度的衡量标准,包括元素的边框、内边距和元素的水平滚动条(如果存在且渲染的话),不包含:before 或:after 等伪类元素的高度。如果元素被隐藏(例如 元素或者元素的祖先之一的元素的 style.display 被设置为 none),则返回 0

44.png

offsetTop 为只读属性,它返回当前元素相对于其 offsetParent 元素的顶部内边距的距离。

window视图属性

只读的 Window 属性 innerWidth 返回以像素为单位的窗口的内部宽度。如果垂直滚动条存在,则这个属性将包括它的宽度。

文档视图

一、document.documentElement

clientWidth clientHeight clientTop clientLeft
scrollWidth scrollHeight scrollTop scrollLeft
offsetWidth offsetHeight offsetTop offsetLeft offsetParent

二、document.body

clientWidth clientHeight clientTop clientLeft
scrollWidth scrollHeight scrollTop scrollLeft
offsetWidth offsetHeight offsetTop offsetLeft offsetParent

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/13658.html

(0)

相关推荐

  • python越来越火_python一点都不简单

    python越来越火_python一点都不简单学一门语言,可能大部分人还是跟我一样,初衷还是想拿一份不错的收入,从事个朝阳行业。普通python工资在10-13K居多,如果有几年经验,能入行机器学习与数据分析,则工资突破20K还是可以的,将超过很多人的工资。

    2023-08-25
    134
  • 玖章算术受邀参加红杉Talk「创新的复利」科技专场,共同探讨云计算的前世今生[通俗易懂]

    玖章算术受邀参加红杉Talk「创新的复利」科技专场,共同探讨云计算的前世今生[通俗易懂]9月2日,本周五14:00 「创新的复利」 Sequoia Talk系列论坛,首期直播盛大启动。在第一期科技专场,4位红杉中国资深投资人、8位创新创业者将带我们深入工业软件、机器人、云计算等领域,围绕

    2023-06-03
    131
  • Python转义字符详解

    Python转义字符详解在Python编程中,转义字符是经常用到的一个特性。转义字符是以反斜杠符号(\)加上特殊的字母来表示的。通过转义字符,我们可以将一些特殊字符表示出来,使得字符串的表现更加丰富,也可以避免一些特殊字符出现时所带来的错误。

    2024-08-05
    26
  • Oracle入门学习三

    Oracle入门学习三上一篇:Oracle入门学习二 学习视频:https://www.bilibili.com/video/BV1tJ411r7EC?p=26 字符串函数:length、upper、lower、initc

    2023-02-24
    147
  • 如何用 Python 读取 CSV 文件?

    CSV 文件代表逗号分隔的值文件。这是一种纯文本文件,其中的信息以表格形式组织。它只能包含实际的文本数据。文本数据不需要用逗号(,)分隔。还有许多分隔符,如制表符(\t)、冒号(:)和分号(;),可用作分隔符。让我们理解下面的例子。

    2023-08-24
    132
  • mysql 云数据库_云图数据库排名

    mysql 云数据库_云图数据库排名1.1高级查询 1.1.1 EXISTS子查询 在实际开发中,我们常常会遇到表是否存在,及创建表等等的过程,mysql中如何对已存在的表进行提示并且进行创建呢?可以 使用exists子句对表创建进行…

    2023-03-19
    139
  • Yii redis set集合的使用

    Yii redis set集合的使用redis 的集合是无序的,集合成员是唯一的,不能重复。用户可以快速地对集合执行添加元素操作、移除元素操作以及检查一个元素是否存在于集合中。这里介绍一些常用的集合处理命令,并在 Yii 中的使用。 S

    2023-03-11
    139
  • phoenix hbase二级索引原理_数据库二级索引

    phoenix hbase二级索引原理_数据库二级索引HBase一个令人惋惜的地方,就是不支持二级索引。因此,社区有了很多补充方案来填补HBase的二级索引能力的缺陷。 今天,我们就来看看有哪些二级索引方案,通过对比各个方案的优缺点,并结合我们的具体场…

    2023-02-27
    136

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注