zoukankan      html  css  js  c++  java
  • JS获当前网页元素高度offsetHeight

    本文测试的是offsetHeight,获取网页中某元素的高度,单位是像素,获取的类型是整型,可以进行数字运算。
    如图,网页中的元素本身的高度包括,自身的内容+padding+border,而margin是元素对外面的距离,所以不属于元素本身的高度。

    如图,设置一个div,取名叫D1,D1的上下左右padding各50px,上下左右margin各11px;上下左右border各10px;
    最后的结果是:
    offsetTop:11px,也就是margin的top值。进入浏览器的开发者模式,个人用的是qq浏览器极速模式,发现div在设置的顶边距包括了body的margin。
    offsetLeft:19px,该div的左边margin设置的是11px,进入浏览器的开发者模式,可以看到body也有margin,是8px,所以该div距离浏览器左边的距离是body的margin+div自身的margin=8px+11px=19px。
    offsetWidth:因为div本身不设宽度,所以是宽度自适应,随着浏览器窗口的大小而改变。内容宽度1150px+上下padding50px+50px+上下border10px+10px=1270px。
    offsetHeight:div本身的上下border+上下pddding+div里内容本身的高度,由于本身没给div设置高度样式,所以高度和内容有关,目前里面是一句话,内容高度为42px。
    10px+10px(上下border)+50px+50px(上下paddding)+42px(内容本身高度)=162px。
    在IE中也测试了下,不同的是height,因为不同浏览器的默认字体默认字体大小等不同等,导致内容高度不同,因此offsetHeight也不同。

    也就是offsetTop,offsetLeft是元素距离浏览器的边距,和元素本身的margin和外面的其他的margin有关
    offsetWidth、offsetHeight是元素本身的border、padding、内容的合计值,也就是整个元素本身的宽高

    测试代码:

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>WEB打印控件LODOP</title>
    <script language="javascript" src="LodopFuncs.js"></script>
    <style>#D1{background-color:#bbf1f2;padding:50px;margin:11px;border:10px solid blue;}</style>
    </head>
    <body>
    <div id="D1">官网样例是混合部署<br>LodopFuncs.js里已经写好了判断</div>
    <a href="javascript:prn1_preview()">点击获取</a><br>
    <script language="javascript" type="text/javascript">   
            var LODOP; //声明为全局变量 
        function prn1_preview(){ 
      var D1=document.getElementById("D1");
      console.log("D1的上下左右padding各50px,上下左右margin各11px;上下左右border各10px;");
      console.log("D1的上下左右:top:"+D1.offsetTop+",left:"+D1.offsetLeft+","+D1.offsetWidth+",height:"+D1.offsetHeight);
        };
    </script> 
    </body>

     图示:

  • 相关阅读:
    [译]Node.js Interview Questions and Answers (2017 Edition)
    XUnit
    Inline Route Constraints in ASP.NET Core MVC
    [译]Object.getPrototypeOf
    [译]IIS 8.0应用初始化
    C++的那些事:你真的了解引用吗
    C++的那些事:表达式与语句
    C++的那些事:数据与类型
    神经网络:卷积神经网络
    图像分析:投影曲线的波峰查找
  • 原文地址:https://www.cnblogs.com/huaxie/p/11670460.html
Copyright © 2011-2022 走看看