clientheight什么意思_汇编中offset是什么意思

clientheight什么意思_汇编中offset是什么意思许多文章已经介绍了clientHeight和offsetHeight的区别,就是clientHeight的值不包括scrollbar的高度,而offsetHeight的值包括了scrollbar的高度。然而,clientHeight和offsetHeight的值到底由什么组成的呢?如何计算这两个数的值?1.clientHeight和offsetHeight的值由什么决定?假如我们…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
许多文章已经介绍了clientHeight和offsetHeight的区别,就是clientHeight的值不包括scrollbar的高度,而offsetHeight的值包括了scrollbar的高度。然而,clientHeight和offsetHeight的值到底由什么组成的呢?如何计算这两个数的值?

1. clientHeight和offsetHeight的值由什么决定?

假如我们有以下的DIV,主要显示的文字为”This is the main body of DIV”。

如上图所示,clientHeight的值由DIV内容的实际高度和CSS中的padding值决定,而offsetHeight的值由DIV内容的实际高度,CSS中的padding值,scrollbar的高度和DIV的border值决定;至于CSS中的margin值,则不会影响clientHeight和offsetHeight的值。

2. CSS中的Height值对clientHeight和offsetHeight有什么影响?

首先,我们看一下CSS中Height定义的是什么的高度。如在本文最后部分“APPENDIX示例代码”(注:以下称为“示例代码”)中,innerDIVClass的Height值设定为50px,在IE下计算出来的值如下所示。也就是说,在IE里面,CSS中的Height值定义了DIV包括padding在内的高度(即offsetHeight的值);在Firefox里面,CSS中的Height值只定义的DIV实际内容的高度,padding并没有包括在这个值里面(70 = 50 + 10 * 2)。

in IE:

innerDiv.clientHeight: 46

innerDiv.offsetHeight: 50

outerDiv.clientHeight: 0

outerDiv.offsetHeight: 264

in Firfox:

innerDiv.clientHeight: 70

innerDiv.offsetHeight: 74

outerDiv.clientHeight: 348

outerDiv.offsetHeight: 362

在上面的示例中,也许你会很奇怪,为什么在IE里面outerDiv.clientHeight的值为0。那是因为示例代码中,没有定义outerDIVClass的Height值,这时,在IE里面,则clientHeight的值是无法计算的。同样,在示例代码中,如果将innerDIVClass中的Height值去年,则innerDIV.clientHeight的值也为0。(注:在Firefox下不存在这种情况)。

如果CSS中Height值小于DIV要显示内容的高度的时候呢(当CSS中没有定义overflow的行为时)?在IE里面,整个clientHeight(或者offsetHeight)的值并没有影响,DIV会自动被撑大;而在Firefox里面,DIV是不会被撑开的。如在示例代码中,将innerDivClass的Height值设为0,则计算结果如下所示。IE里面的DIV被撑开,其clientHeight值等于内容的高度与padding*2的和;而Firefox里面,文字将溢出DIV的边界,其clientHeight值正好是padding值的两倍。

In IE:

innerDiv.clientHeight: 38

innerDiv.offsetHeight: 42

outerDiv.clientHeight: 0

outerDiv.offsetHeight: 256

In Firefox:

innerDiv.clientHeight: 20

innerDiv.offsetHeight: 24

outerDiv.clientHeight: 298

outerDiv.offsetHeight: 312

APPENDIX 示例代码

<html>

<head>

<style type=”text/css”>……

.innerDivClass

{…}{…}{…}{

color: red;

margin: 37px;

padding: 10px;

border: 2px solid #000000;

height: 50px;

}

.outerDivClass

{…}{…}{…}{

padding: 100px;

margin: 200px;

border: 7px solid #000000;

}

</style>

<script>……

function checkClientHeight()

……{

var innerDiv = document.getElementById(“innerDiv”);

var outerDiv = document.getElementById(“outerDiv”);

result.innerHTML = “innerDiv.clientHeight: ” + innerDiv.clientHeight + “<br />”;

result.innerHTML += “innerDiv.offsetHeight: ” + innerDiv.offsetHeight + “<br />”;

result.innerHTML += “outerDiv.clientHeight: ” + outerDiv.clientHeight + “<br />”;

result.innerHTML += “outerDiv.offsetHeight: ” + outerDiv.offsetHeight + “<br />”;

}

</script>

</head>

<body>

<div id=”outerDiv” class=”outerDivClass”>

<div class=”innerDivClass” id=”innerDiv”>

Hello world.

</div>

</div>

<p></p>

<div id=”result”>

</div>

<input type=”button” οnclick=”checkClientHeight()” text=”Click Me” Value=”Click Me” />

</body>

</html>

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195339.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm输出中文出现乱码的几种解决方法以及读取时打印出现乱码的解决[通俗易懂]

    pycharm输出中文出现乱码的几种解决方法以及读取时打印出现乱码的解决[通俗易懂]pycharm打印中文出现乱码,有几种情况第一种:对于这种情况,是普通的一种,你需要检查开头,是否加了#-*-coding:utf-8-*-还有importsysreload(sys)sys.setdefaultencoding(‘utf-8’)对于这两个处理中文输出的代码,最好每次处理中文时就加上,会减少很多问题第二种问题:

    2022年8月28日
    4
  • 常用的微信编辑器

    常用的微信编辑器

    2021年10月12日
    151
  • 小米手机任意版本MIUI安装Google Play服务

    小米手机任意版本MIUI安装Google Play服务打开小米应用商店→搜索“gmail”,如图:安装gmail,如果你的手机没有安装GooglePlay服务,会自动提示安装,如图:这样就可以安装最新版GooglePlay服务了。…

    2022年6月27日
    162
  • Mac安装yarn

    Mac安装yarn1.全局安装yarnnpmi-gyran#查看安装是否成功yarn–version2.设置淘宝镜像,下载速度更快yarnconfigsetregistryhttps://registry.npm.taobao.com3.配置环境变量echo”PATH=$PATH:~/.yarn/bin”>>~/.bash_profile&&source.bash_profile…

    2022年5月26日
    350
  • 双击文本没有被选中

    双击文本没有被选中

    2022年1月10日
    47
  • 如何将pdf转换成word的3种免费方法「建议收藏」

    如何将pdf转换成word的3种免费方法「建议收藏」怎样将PDF转成Word?这是很多网友经常问到的问题,PDF转换成Word利用一些小技巧和工具,你会发现是很容易的,以下的PDF转Word的3种免费方法你一定要看一看。1、“复制/粘贴”大法在寻找如何将PDF转换成Word的“高级”办法之前,不妨先试一下最傻瓜的方法:首先用极速PDF阅读器打开PDF文档,选择文本内容后右击选择“复制选择内容”或直接使用“全选”;接着新建一个Word文档后,直接将内容在Word中粘贴即可。如果文档格式不复杂,这样得到的Word就够用了,当然有些可能排版会比较乱。2、G

    2022年6月1日
    61

发表回复

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

关注全栈程序员社区公众号