js各种宽高的总结
1.clientWidth和clientHeight
指元素的可视部分宽度和高度,就是padding+content
如果没有滚动条,就是设定的宽度和高度
如果有滚动条,就是设定的宽度和高度减去滚动条的宽度和高度
- body{
- border:20px solid #ccc;
- margin:10px;
- padding:40px;
- background:#eee;
- height:350px;
- width:500px;
- overflow:scroll
- }
- document.body.clientWidth //500+80=580
- document.body.clientHeight//350+80=430
- #mydiv{
- width:200px;
- height:200px;
- background:red;
- border:1px solid #eee;
- overflow:auto;
- }
- //在div中添加文字,出现滚动条
- var mydiv=document.getElementById('mydiv');
- mydiv.clientHeight//200
- mydiv.clientWidth//200-7
- 小结:
- 无padding无滚动:clientWidth=style.width
- 有padding无滚动:clientWidth=style.width+padding*2
- 有padding有滚动:clientWidth=style.width+padding*2-滚动轴宽度
- clientLeft和clientTop
- 这一对属性是读取元素border的宽度和高度
- clientTop=border-top的border-width
- clientLeft=border-left的border-width
2.offsetWidth offsetHeight
就是padding+content+border
- body{
- border:20px solid #ccc;
- margin:10px;
- padding:40px;
- background:#eee;
- height:350px;
- width:500px;
- overflow:scroll
- }
- document.body.offsetWidth //500+80+40=620
- document.body.offsetHeight//350+80+40=470
- 小结:
- 无padding无滚动无border
- offsetWidth=clientWidth=style.width
- 有padding无滚动有border
- offsetWidth=style.width+style.padding*2+(border-width)*2
- offsetWidth=clientWidth+(border-width)*2
- 有padding有滚动有border
- offsetWidth=style.width+style.padding*2+(border-width)*2+滚动条宽度
js各种宽高的总结的更多相关文章
- js/jq宽高的理解与运用
document:1. 与client相关的宽高document.body.clientWidthdocument.body.clientHeightdocument.body.clientLeftd ...
- js各种宽高(1)
在javascript中操作dom节点让其运动的时候,常常会涉及到各种宽高以及位置坐标等概念,如果不能很好地理解这些属性所代表的意义,就不能理解js的运动原理,同时,由于这些属性概念较多,加上浏览器之 ...
- 原生js获取宽高与jquery获取宽高的方法的关系
说明:1.因为获取高度的情况跟获取宽度的情况一样,所以以下只说获取宽度的情况. 2.以下所说的所有方法与属性所返回的值都是不带单位的. 3.为了方便说明,以下情况采用缩写表示: obj -> ...
- JS 各种宽高
1.window的各种宽高 outerWidth.innerWidth.outerHeight.innerHeight outerHeight 获取浏览器窗口外部的高度(单位:像素).表示整个浏览 ...
- js 浏览器 宽高 各种
常用: JS 获取浏览器窗口大小 // 获取窗口宽度 if (window.innerWidth) winWidth = window.innerWidth; else if ((do ...
- js常用宽高属性
document.body.clientWidth //body对象的宽度 document.body.clientHeight //body对象的高度 document.documentElemen ...
- js各种宽高(2)
在javascript和jquery中,都有对各种高度的写法,在这里,我们就着重讲一下窗口.文档等高度的理解.(宽度和高度差不多!) jquery的各种高度 首先来说一说$(document)和$(w ...
- js获取宽高
document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高度 document.docume ...
- js各种宽高(3)
有时候项目中会用到用js获取元素位置来定位元素,首先通过图片说明scrollWidth,clientWidth,offsetWidth的关系. JS获取各种宽度.高度的简单介绍: scrollHeig ...
- JS/jQuery宽高的理解和应用
1.widows:窗口.window对象可省略 2.document对象是window对象的一部分 浏览器的Html文档成为Document对象 window.location===document. ...
随机推荐
- docker ps --no-trunc 与 docker ps
转载请注明出处: docker ps --no-trunc与docker ps之间的区别在于输出结果的格式. docker ps: 默认情况下,docker ps命令以截断的方式显示结果.这意味着容器 ...
- 通信原理知识点总结(XDU网信通原)
因为感觉第2章和第7章内容特别乱,当时老师讲的时候好像也没有按照一个正确的顺序来讲,所以我就把这两部分的内容按照结构顺序整理了一下,这样更便于理解和记忆 第2章 无线信道传输特性 显示不全点链接看完整 ...
- 【爬虫案例】用Python爬取知乎热榜数据!
目录 一.爬取目标 二.编写爬虫代码 三.同步讲解视频 3.1 代码演示视频 3.2 详细讲解视频 四.获取完整源码 一.爬取目标 您好,我是@马哥python说,一名10年程序猿. 本次爬取的目标是 ...
- Git无法push提示报错443
更新 设置代理不能完美解决问题,需要检查本地的SSH配置是否正确,以及正确配置SSH密钥关联github账户 配置SSH参考链接: <GitHub如何配置SSH Key> https:// ...
- Sa-Token 多账号认证:同时为系统的 Admin 账号和 User 账号提供鉴权操作
Sa-Token 是一个轻量级 java 权限认证框架,主要解决登录认证.权限认证.单点登录.OAuth2.微服务网关鉴权 等一系列权限相关问题. Gitee 开源地址:https://gitee.c ...
- [爬虫]2.3.1 使用Python操作文件系统
Python提供了许多内置库来处理文件系统,如os.shutil和pathlib等,这些库可以帮助你创建.删除.读取.写入文件和目录. 读取文件 在Python中,你可以使用内置的open函数来打开一 ...
- DHorse v1.3.0 发布,基于k8s的发布平台
综述 DHorse是一个简单易用.以应用为中心的云原生DevOps系统,具有持续集成.持续部署.微服务治理等功能,无需安装依赖Docker.Maven.Node等环境即可发布Java.Vue.Reac ...
- ROC 曲线与 PR 曲线
ROC 曲线与 PR 曲线 ROC 曲线与 PR 曲线 ROC 曲线和 PR 曲线是评估机器学习算法性能的两条重要曲线,两者概念比较容易混淆,但是两者的使用场景是不同的.本文主要讲述两种曲线的含义以及 ...
- fastjson 1.2.80 漏洞浅析及利用payload
0x01 说明 在fastjson的1.2.80版本中可以通过将依赖加入到java.lang.Exception 期望类的子类中,绕过checkAuto. 0x02 简析 { "@type& ...
- 云原生可观测框架 OpenTelemetry 基础知识(架构/分布式追踪/指标/日志/采样/收集器)
什么是 OpenTelemetry? OpenTelemetry 是一个开源的可观测性框架,由云原生基金会(CNCF)托管.它是 OpenCensus 和 OpenTracing 项目的合并.旨在为所 ...