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. ...
随机推荐
- java BigDecimal解决浮点数的精度丢失和大数计算问题
java BigDecimal解决浮点数的精度丢失和大数计算问题 抛出浮点数问题: 先考个题,输入什么? System.out.println(0.1 + 0.2); 答案:0.30000000000 ...
- Jmeter学习之七_使用influxdb2.7和grafana10进行Jmeter测试结果展示的方法
Jmeter学习之七_使用influxdb2.7和grafana10进行Jmeter测试结果展示的方法 摘要 前几天验证了 线程组内的-监听器 jp@gc 相关的组件 以及验证了 server-age ...
- 微信小程序 - 视图与逻辑
[黑马程序员前端微信小程序开发教程,微信小程序从基础到发布全流程_企业级商城实战(含uni-app项目多端部署)] https://www.bilibili.com/video/BV1834y1676 ...
- 让golang程序生成coredump文件并进行调试
今天讲讲怎么让golang程序生成coredump文件,并且进行调试的. 别看我写了不少golang的博客,其实我平时写c++的时间更多,所以也算和coredump是老相识了.core dump文件实 ...
- 基于 NNCF 和 🤗 Optimum 面向 Intel CPU 对 Stable Diffusion 优化
基于隐空间的扩散模型 (Latent Diffusion Model),是解决文本到图片生成问题上的颠覆者.Stable Diffusion 是最著名的一例,广泛应用在商业和工业.Stable Dif ...
- ObjectInputStream_报错问题
报错: Exception in thread "main" java.io.StreamCorruptedException: invalid stream header: CE ...
- 【NestJS系列】DI依赖注入与IOC控制反转
前言 上篇文章我们学习了如何使用nest-cli来快速生成一个NestJS后端项目,当我们打开编辑器查看代码时,会发现整个代码风格有点类似JAVA的spring框架,并且你会发现一些service类在 ...
- Windows商店开发者注册失败
前言 最近写了个小工具想上架Windows应用商店,但是在填写信息那一页总是失败,提示Error code 2201. Correlation ID 9d436e3a-94df-498a-b224-8 ...
- 最新基于nonebot的qq机器人搭建
导读 核心资源 ( 参考各项目到各自release下载 NoneBot简介 | go-cqhttp 帮助中心qq登录需要包签名,要自己部署 https://github.com/fuqiuluo/un ...
- spring cloud微服务搭建配置中心之携程开源框架Apollo
1.Apollo(阿波罗) Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性,适 ...