关于height、width、top

关于height、width 的 offset、client、scroll

首先设置一个div 设置其高度为200px

样式为:

   height: 200px;
    padding: 20px;
    border: 2px solid;

client 与scroll 的高度一致

client = height + padding

scrollHeight = height + padding (此时元素较少并没有出现滚动条)

offsetHeight = height + padding + border

增加子元素,超出容器的高度

可以看出前面2个高度的值没有变,而scrollHeight 变大了。

注:因为浏览器默认使用的是content-box 盒子模型,如果更改为border-box 的话会有变化,下面更改为boder-box

首先前2个高度的值去掉了padding的值,也就是说padding记入了height,实际效果原有内容的高度变成了 200 - (20 * 2)= 160px,这个不了解的自行百度。

这里还是看height,与之前不同的是,offsetHeight 变为了200px,也就是定义高度,相反clientHeight  = 196px,也就是说border的高度记入了clientHeight在border-box情况下。

所以在2中不同的盒子模型下,offsetHeiht 与 clientHeight 略有不同需要注意。

反观scrollHeight 没有变化,其为内容的实际高度 加上上下padding。

top:关于top相关属性相对就没那么多事了

offsetTop 距离父元素顶部距离

= top + margin-top (自身属性)+ top(距离父元素的顶部距离)

test2是之前test div的子元素,test2的值如上所示,offsetTop 值为80px,top + margin-top = 40px,test2元素之前有一个span 我设置高度为20px ,加上之前test元素本身的padding-top 20px,

计算得到80px;

scrollTop 本身滚动高度

clientTop 本身top偏移值

因为设置了border-top 属性。

关于width 与 height 涵义一致只不过是宽度,故在此不表

原文地址:https://www.cnblogs.com/jony-it/p/11232516.html

时间: 2024-11-13 06:32:31

关于height、width、top的相关文章

各种height/width总结

CSS盒模型是比较复杂的,尤其是当页面中有滚动条时,仅仅通过css来操作高度宽度是不够的,幸运的是Javascript提供了不少这样的接口.Javascript中clientHeight / cliengWidth, scrollHeight /scrollWidth, offsetHeight / offsetWidth, height / width 都可以获取高度和宽度,但是他们有一些细微的差别: offsetHeight / offsetWidth:可见区域包含border,对于disp

opencv 中x,y,height, width,rows,cols 的关系

opencv中图像的x,y 坐标以及 height, width,rows,cols 他们的关系经常混淆. rows 其实就是行,一行一行也就是y 啦.height高度也就是y啦. cols  也就是列,一列一列也就是x啦.width宽度也就是x啦. 备忘一下.

jquery-get-data(width,height,position,(top,left),scrollTop,scrollLeft)获取数据

获取尺寸 如下: heigh([val|fn]) width([val|fn]) innerHeight() innerWidth() outerHeight([soptions]) outerWidth([options]) 下面就一一介绍(这里多说一下jquery中很多都是既可以返回匹配元素的值,又可以设置匹配元素值) height()取得匹配元素当前计算的高度值(px). width()取得第一个匹配元素当前计算的宽度值(px). /此2个方法对可见和隐藏元素均有效.另外这个补白就是pad

js中width,height,left,top计算

①offset    包括了元素的边框和内边距和滚动条 offsetWidth.offsetHeight元素的宽度和高度 offsetLeft .offsetTop元素相对于文档左边和顶部的距离(定位了的元素相对于祖先元素) ②client  不包括边框大小不包含滚动条 clientWidth.clientHeight元素的宽度和高度 clientLeft .clientTop元素相对于文档左边和顶部的距离(定位了的元素相对于祖先元素) ③scroll scrollWidth .scrollHe

IOS UI Frame 相对位置调整 与优化方法 Height Width X Y 调整

不使用xib ,纯代码开发的过程中,动态UI  需要改对象的大小位置 反复使用CGRectMake 去 setFrame  非常低效耗时,而且 牵一发动全身. 以下整理出几个方法,方便动态布局 1.set 方法 重新布局 #import <Foundation/Foundation.h> @interface HuofarUtils : NSObject @end CGRect CGRectSetWidth(CGRect rect, CGFloat width); CGRect CGRectS

easyui datagrid height width =0的问题

对于一个页面中应用了datagrid的table控件来说,如在页面打开时为隐藏,在页面的应用中再动态显示,这样,显示出来的table数据则会隐藏不可见,table的标题,工具栏,分页栏则会压缩在一起,而需要显示的数据却未能正常显示出来. 也就是宽度或高度为0: 解决办法是: 1.div加 easyui-panel,必须是隐藏的外层div也就是说div只能有一个class属性,如果不行自己在外面多加几个div,达到效果: 示例: <div id="con_zzjs_1" class

它们的定义View

Ios"巷自己的定义View和Android类别似 在.h文件设置了他的一些财产.方法 在.m文件中实现 .h文件 #import <UIKit/UIKit.h> CGPoint CGRectGetCenter(CGRect rect); CGRect  CGRectMoveToCenter(CGRect rect, CGPoint center); @interface UIView (ViewFrameGeometry) @property CGPoint origin; @pr

window.open----method

open method Opens a new window and loads the document specified by a given URL. 打开一个新窗口并加载给定URL指定的文档. Navigates the app window to the specified location. 导航应用程序窗口到指定的位置. Syntax  语法 var retval = window.open(url, name, features, replace); 设置变量retval打开窗

window.open方法解析

一.前言 最近在项目中需要新窗口打开一个第三方的页面,大家都知道,使用window.open打开新窗口某些情况下会被浏览器的屏蔽程序阻止.如果要打开的URL是通过AJAX获取的,就一定会被浏览器拦截.为了解决这个问题,温习了window.open的详细用法.记录下来备忘. 二.window.open有两个用途 (1).导航到指定的URL (2).打开一个新窗口.该应用场景比较常见. 先看一个完整示例,打开招商银行大众版: var cmbBankWin = window.open('https:/

C#高级编程(第六版)学习:第三十一章:Windows窗体

第三十一章 Windows窗体 创建Windows窗体应用程序 在文本编辑器中输入: /* * form.cs * a simple windows form * */ using System; using System.Windows.Forms; ? namespace NotepadForms { public class MyForm:System.Windows.Forms.Form { public MyForm() { } ? [STAThread] static void Ma