首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

详解各种获取元素宽高及位置的属性

对于文档的body对象,它包括代替元素的CSS高度线性总含量高。浮动元素的向下延伸内容高度是被忽略的。 var offsetHeight = element.offsetHeight; ?...clientHeight Element.clientWidth 是一个只读属性,对于没有定义 CSS 或者内联布局盒子的元素为0,同时它是元素内部的高度(单位像素),包含内边距,但不包括水平滚动条、边框和外边距...如果元素的文本方向是从右向左(RTL, right-to-left),并且由于内容溢出导致左边出现了一个垂直滚动条,则该属性包括滚动条的宽度。clientLeft 不包括左外边距和左内边距。...设置scrollTop的值小于0,scrollTop 被设为0 如果设置了超出这个容器可滚动的值, scrollTop 会被设为最大值 var scrollTop = element.scrollTop...如果给scrollLeft 设置的值小于0,那么scrollLeft 的值将变为0。 如果给scrollLeft 设置的值大于元素内容最大宽度,那么scrollLeft 的值将被设为元素最大宽度。

4K80

div设置height:100%;无效的原因

要解决这个问题,先的知道设置height:100%的原理,当你让一个元素的高度设置为百分比高度时,是相对于父元素的高度根据百分比来计算高度。...设置html的height为具体的像素值,当其值大于浏览器窗口时,浏览器出现滚动条,当其值小于浏览器窗口时,同样会将html填充完整个浏览器窗口(可以设置背景测试)。 ? ?...设置html的height为百分比时,当其值大于100%出现滚动条,当小于100%时同样会将html填充完整个浏览器窗口(可以设置背景测试)。...但是子html的子元素的高度设置成百分比时,会按照html设置的高度值计算比例。(如下所示,html高度为1000px;所以body的高度为500px)。 ?...对于body的设置的高度小于浏览器窗口时,同样会填充满整个浏览器窗口(可以设置背景测试),但是其子元素的高度设置成百分比时,会按照body设置的高度值来计算比例。 ?

12.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    CSS height:100%无效以及替代方案

    要解决这个问题,先的知道设置height:100%的原理,当你让一个元素的高度设置为百分比高度时,是相对于父元素的高度根据百分比来计算高度。...设置html的height为具体的像素值,当其值大于浏览器窗口时,浏览器出现滚动条,当其值小于浏览器窗口时,同样会将html填充完整个浏览器窗口(可以设置背景测试)。 ? ?...设置html的height为百分比时,当其值大于100%出现滚动条,当小于100%时同样会将html填充完整个浏览器窗口(可以设置背景测试)。...但是子html的子元素的高度设置成百分比时,会按照html设置的高度值计算比例。(如下所示,html高度为1000px;所以body的高度为500px)。 ?...对于body的设置的高度小于浏览器窗口时,同样会填充满整个浏览器窗口(可以设置背景测试),但是其子元素的高度设置成百分比时,会按照body设置的高度值来计算比例。 ?

    1.5K40

    offsetHeight, clientHeight与scrollHeight的区别

    clientHeight 大部分浏览器对 clientHeight 都没有什么异议,认为是元素可视区域的高度,也就是说元素或窗口中可以看到内容的这个区域的高度,即然是指可看到内容的区域,滚动条不算在内...offsetHeight 在IE6,IE7,IE8, IE9以及最新的的FF, Chrome中,对于一般元素,都是offsetHeight = padding + height + border = clientHeight...注: 以上都是对于一般元素而方言的,body和documentElement的clientHeight, offsetHeight和scrollHeight在各个浏览器中的计算方式又不同。...元素 offsetHeight = padding +border + height; clientHeight = padding +height -水平滚动条的高度。...因此,只是获取页面窗口可视部分高度,在Chrome中用documentElement.clientHeight;获取整个页面内容最大高度(如果比窗口小,取窗口的高度),则应该用body.scrollHeight

    91720

    一文彻底搞懂js中的位置计算

    但是如果出现了滚动条的话scrollHeight指的是包含元素不可以见内容的高度,出现滚动条的情况下是scrollHeight恒大于clientHeight。...如果存在了滚动条,client只会计算出当前元素展示出来的高度/宽度,而scroll不仅仅会计算当前元素展示出的,还会包含当前元素的滚动条隐藏内容的高度/宽度。...判断当前元素是否存在滚动条 出现滚动条便意味着元素空间将大于其内容显示区域,根据这个现象便可以得到判断是否出现滚动条的规则。...,判断当前元素出现的高度 + 滚动条高度 = 元素本身的高度(包含隐藏部分)。...计算元素是否出现在视口内 利用的还是元素距离视口的位置小于视口的大小。 注意即便变成了负值,那么也表示元素曾经出现过在屏幕中只是现在不显示了而已。

    3.8K10

    区分clientHeight、scrollHeight、offsetHeight

    区分clientHeight、scrollHeight、offsetHeight clientHeight、offsetHeight、scrollHeight都是用来描述DOM元素的高度的属性;对于同一个元素...offsetHeight: 只读属性,所表示的元素高度包括:元素的内容高度(如果有下滚动条,需减去下滚动条的高度,下滚条默认高度为17px)+上下padding+上下border+下滚动条高度(如果元素有下滚动条...scrollHeight: 只读属性,如果元素内的子元素高度大于该元素,scrollHeight所表示的元素高度为:元素内子元素的高度+该元素的上下padding;如果元素内的子元素高度小于该元素,scrollHeight...所表示的元素高度为:该元素的内容高度(如果有下滚动条,需减去下滚动条的高度,下滚条默认高度为17px)+该元素的上下padding,此时,与clientHeight在数值上相等。...border以及下滚动条高度(如果有下滚动条)计算在内; 2、如果元素内的子元素高度小于该元素,该元素的scrollHeight与clientHeight在数值上相等; 3、如果元素内的子元素高度大于该元素

    1.6K30

    响应式图像

    处理高度的时候,vh单位更好。 1. 占满宽度的元素: % > vw 正如我所提到的,vw单位根据视窗的宽度决定它的大小。然而,浏览器是根据浏览器的窗口计算视窗大小的,包括了滚动条的空间。...如果页面延伸超过视口的高度——滚动条出现——视窗的宽度将会大于html元素的宽度。 因此,如果你将一个元素设置为100vw,这个元素将会延伸到html和body元素范围之外。...占满高度的元素:vh > % 在另一方面,当使一个元素跨越整个页面的高度时,vh远比百分比单位好。...因为用百分比定义的元素的大小是由它的父元素决定的,只有父元素也填满整个屏幕的高度时我们才能拥有一个填满整个屏幕的高度的元素。...滚动条的问题也不是一个问题,因为现在大多数页面通常不会有水平滚动条。 vh应用 全屏背景图片 vh单位一个典型的用途是用来创建一个横跨整个屏幕高度和宽度的背景图片,不管设备的大小。

    2.5K10

    html5 scrollheight,JavaScript之scrollTop、scrollHeight、offsetTop、offsetHeight等属性学习笔记…

    、内边距和元素的水平滚动条(如果存在且渲染的话),是一个整数。...当元素的style.display设置为 “none” 时,offsetParent返回null。 它返回当前元素相对于其offsetParent元素的顶部的距离。...,所以不能全部显示子元素,设置了overflow之后,可以通过滚动条的形式滑动查看子元素。...所以当滚动条在最顶端的时候,scrollTop=0,当滚动条在最低端的时候,scrollTop=115 这个115怎么来的(滚动条高度是15,我量的),见下图。(实为我主观臆测,不保证准确性。。。...如果一个元素不能被滚动,它的scrollTop将被设置为0。 设置scrollTop的值小于0,scrollTop被设为0。 如果设置了超出这个容器可滚动的值,scrollTop会被设为最大值。

    90920

    html 滚动条 scrolltop scrollheight,浅谈JavaScript中scrollTop、scrollHeight、offsetTop、offsetHeight…

    、内边距和元素的水平滚动条(如果存在且渲染的话),是一个整数。...当元素的style.display设置为 “none” 时,offsetParent返回null。 它返回当前元素相对于其offsetParent元素的顶部的距离。...,所以不能全部显示子元素,设置了overflow之后,可以通过滚动条的形式滑动查看子元素。...所以当滚动条在最顶端的时候,scrollTop=0,当滚动条在最低端的时候,scrollTop=115 这个115怎么来的(滚动条高度是15,我量的),见下图。(实为我主观臆测,不保证准确性。。。...如果一个元素不能被滚动,它的scrollTop将被设置为0。 设置scrollTop的值小于0,scrollTop被设为0。 如果设置了超出这个容器可滚动的值,scrollTop会被设为最大值。

    2.3K20

    nicegui布局细节补充——容器高度与滚动条

    随着我们不断点击,里面的容器高度会增加,从而也会导致外面的容器高度也增加。这符合前面说的" 容器高度由里面的内容支撑 "。...除了设置固定的高度值,我们也可以设置一个最大高度: 前面加个 max- 前缀就可以 现在我们总结一个要点, 要让一个容器在内容溢出高度时,出现滚动条,必须具备以下条件: 容器本身的高度要被限制,可以是固定高度值...,也可以是最大高度值 容器本身通过 overflow 设置溢出行为 宽度溢出同理 不管怎么说,这种方式的前提是,我们对里面容器的高度,已经有了一个预期值。...我们很少会说,页面上某个卡片的高度具体是多少。最多我们可能会设置一个最小高度之类(其实也不多见) 更多的情况是,我们希望整体布局刚好铺满整个屏幕,然后里面的某个区域,内容溢出时,出现滚动条。...上图,不管浏览器窗口怎么调整,在一定范围内,我不希望整个窗口出现滚动条。但是确实其中两个卡片中的区域,需要展示许多内容。仅限于这些局部地方出现滚动条。

    1.5K10

    面试官问:如何判断一个元素是否在可视区域?

    通过元素的位置信息和滚动条滚动的高度 在这里,我们先介绍几个元素的位置信息和大小: Element.clientWidth Element.clientWidth 属性表示元素的内部高度,以像素计。...❞ window.innerHeight window.innerHeight 属性表示浏览器窗口的视口(viewport)高度(以像素为单位);如果有水平滚动条,也包括滚动条高度。...HTMLElement.offsetTop HTMLElement.offsetTop返回当前元素相对于其 offsetParent 元素的顶部内边距的距离。...如果一个元素在视窗之内的话,那么它一定满足下面四个条件: top 大于等于 0 left 大于等于 0 bottom 小于等于视窗高度 right 小于等于视窗宽度 function isContain...root 属性,rootMargin 属性 很多时候,目标元素不仅会随着窗口滚动,还会在容器里面滚动(比如在iframe窗口里滚动)。容器内滚动也会影响目标元素的可见性。

    3.2K22

    前端面试题-每日练习(3)

    解决方案:给超出高度的标签设置overflow:hidden;或者设置行高line-height 小于你设置的高度。...备注:这种情况一般出现在我们设置小圆角背景的标签里。出现这个问题的原因是IE8之前的浏览器都会给标签一个最小默认的行高的高度。即使你的标签是空的,这个标签的高度还是会达到默认的行高。...当内容小于一个值(如300px)时。容器的高度为300px;当内容高度大于这个值时,容器高度被撑高,而不是出现滚动条。这时候我们就会面临这个兼容性问题。...、代码少、浏览器支持好 缺点:内部宽高超过父级div时,会出现滚动条。...建议:不推荐使用,如果你需要出现滚动条或者确保你的代码不会出现滚动条就使用吧。 13.你有哪些性能优化的方法?

    15420

    搞清clientHeight、offsetHeight、scrollHeight、offsetTop、scrollTop

    、水平滚动条、margin的元素的高度。...对于inline的元素这个属性一直是0,单位px,只读元素。 ? offsetHeight:包括padding、border、水平滚动条,但不包括margin的元素的高度。...对于inline的元素这个属性一直是0,单位px,只读元素。 ?...接下来讨论出现有滚动条时的情况: 当本元素的子元素比本元素高且overflow=scroll时,本元素会scroll,这时: scrollHeight: 因为子元素比父元素高,父元素不想被子元素撑的一样高就显示出了滚动条...scrollTop: 代表在有滚动条时,滚动条向下滚动的距离也就是元素顶部被遮住部分的高度。在没有滚动条时scrollTop==0恒成立。单位px,可读可设置。 ?

    5K50

    搞清clientHeight、offsetHeight、scrollHeight、offsetTop、scrollTop

    、水平滚动条、margin的元素的高度。...对于inline的元素这个属性一直是0,单位px,只读元素。 offsetHeight:包括padding、border、水平滚动条,但不包括margin的元素的高度。...对于inline的元素这个属性一直是0,单位px,只读元素。...接下来讨论出现有滚动条时的情况: 当本元素的子元素比本元素高且overflow=scroll时,本元素会scroll,这时: scrollHeight: 因为子元素比父元素高,父元素不想被子元素撑的一样高就显示出了滚动条...scrollTop: 代表在有滚动条时,滚动条向下滚动的距离也就是元素顶部被遮住部分的高度。在没有滚动条时scrollTop==0恒成立。单位px,可读可设置。

    1.1K30

    DOM 和 BOM 中的各种宽高属性

    注意:IE 和 Opera 下表示的是窗口文档区到屏幕的距离,这意味着窗口最大化时,screenTop 返回的是窗口顶部栏的高度而不是 0。...如下图: image.png 可以看出,假如元素在页面滚动条的拖动下向上移动,则元素的 top 会是负值。...窗口无滚动条时,该属性与 ev.clientX/ev.clientY 等价;窗口出现滚动条时,该属性的值将更大,因为它针对的是整个页面,即包含已滚动的区域。...image.png jQuery width()/height(): 无参时返回元素的 content 的宽度/高度,传参时(数字或者函数)设置元素的 content 的宽度/高度。...scrollLeft()/scrollTop(): 水平方向上或者垂直方向上,滑块相对于整个滚动条的位置。对于某个元素,滑块处于初始位置或者无滚动条时,该方法返回 0。

    1.9K10
    领券