在获取页面宽度的时候从网上找到如下方法:

getClientWidth() {let clientWidth = 0;if (document.body.clientWidth && document.documentElement.clientWidth) {clientWidth = Math.min(document.body.clientWidth, document.documentElement.clientWidth);} else {clientWidth = Math.max(document.body.clientWidth, document.documentElement.clientWidth);}return clientWidth;
},
const pageWidth = window.innerWidth;

然后发现一个很神奇的事情,为什么在不同电脑上看到的宽度都变了,在浏览器1280px的时候pageWidth一个是1265px,一个是1263px,极其奇怪,于是开始找原因。

然后看到一个计算浏览器滚动条的文章,恍然大悟,原来上面那段代码是获取的不包含滚动条宽度的网页内容的宽度!

包含滚动条的宽度应该是:

const pageWidth = window.innerWidth;

在浏览器1280px的时候pageWidth就是1280px!

window.innerWidth 浏览器可用宽度
document.body.clientWidth body的宽度

浏览器滚动条的计算方法是:

const scrollWidth = window.innerWidth - document.body.clientWidth;

另外:
screen.width 屏幕分辨率宽度
document.body.scrollWidth 页面完整宽度
document.body.scrollHeight 页面完整宽度
document.body.offsetWidth 网页可见区域宽度
document.body.offsetHeight 网页可见区域高度


更多内容补充:
区别clientHeight、offsetHeight、scrollHeight、offsetTop、scrollTop

浏览器宽度以及滚动条宽度计算相关推荐

  1. css滚动条占了宽度,css – 计算定位元素时的滚动条宽度

    我有一个最大宽度的布局,当屏幕宽度大于最大值时,它是水平居中的.布局包括一个固定的标题&菜单;当屏幕宽度小于最大值时,菜单的左侧位置为0,并且当屏幕宽度超过最大值时,菜单的左侧位置需要与布局的 ...

  2. JavaScript计算页面滚动条宽度

    //右侧滚动条宽度计算 var vs_w = document.offsetWidth - document.clientWidth;//底部滚动条高度计算 var hs_h = document.o ...

  3. JS计算字符串在浏览器中显示的宽度

    js计算字符串宽度 大家可能会碰到这样一个需求:一个容器的宽度固定,当内容的宽度超过容器的宽度时鼠标移入显示提示框,不超过时则不显示. 这个时候就需要知道内容到底多宽. 怎么计算宽度 一 .估计法 假 ...

  4. 获取浏览器原生滚动条宽度的方法

    2019独角兽企业重金招聘Python工程师标准>>> 整体思路就是往body中插入一个div,div中再嵌套一个div,设置外部的div的overflower为scroll, 这样 ...

  5. 【原创】告别恼人的水平滚动条——滚动条宽度到底是多少?

    相信不管是web前端还是后台的程序员,都讨厌网页水平方向出现滚动条.而要避免出现水平滚动条,计算宽度是必不可少的.而在设计过程中,设计师一般避免计算这个右侧滚动条的宽度.为了避免出现水平滚动条,而将宽 ...

  6. 滚动条宽度到底是多少?

    相信不管是web前端还是后台的程序员,都讨厌网页水平方向出现滚动条.而要避免出现水平滚动条,计算宽度是必不可少的.而在设计过程中,设计师一般避免计算这个右侧滚动条的宽度.为了避免出现水平滚动条,而将宽 ...

  7. 获取滚动条宽度(Element-UI之三)

    获取滚动条宽度(Element-UI之三) 代码如下 /*** 计算浏览器滚动条宽度* @returns {Number}*/ export default function () {const ou ...

  8. 函数语法:JS获取浏览器窗口大小 获取屏幕,浏览器,网页高度宽度(转载)...

    网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWid ...

  9. js 如何获取浏览器的高度和宽度

    IE中: document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高度 document.d ...

最新文章

  1. java makefile jar包_java makefile学习实践(编译的javac命令写在makefile中,运行命令java写在shell脚本中)...
  2. Bootstrap 表单控件一(单行输入框input,下拉选择框select ,文本域textarea)
  3. 【划分树】 POJ 2104 HDU 2665 K-th Number 裸题
  4. JS高级学习笔记(6)- 事件循环
  5. 设计模式--观察者模式
  6. ECCV 2020 论文大盘点-人员重识别(ReID)篇
  7. jQuery天猫商品分类导航菜单
  8. 技术分享连载(八十六)
  9. python bottle 终止返回_关于python的bottle框架跨域请求报错问题的处理
  10. 30 张快速学习 Java 的思维导图
  11. word转pdf公式乱码_word转pdf乱码
  12. 实数系的基本定理_初中数学:重点公式定理集合,中学生应该看一看
  13. LOGO特训营 第四节 字体设计的重要性
  14. 有效沟通bic法则_有效沟通bic法则_合格职场人都会的3个有效的沟通法则
  15. Android开发(一)-发展和历史
  16. 智能园区中计算机网络结构,工业园区智能化统设计方案.ppt
  17. 2022 斯坦福AI报告:中国霸榜AI顶会,但引用量最低
  18. 如何让你的无线网络速度飞快
  19. noip2013 总结
  20. Jetson Nano备份sd卡

热门文章

  1. 常用js中数组元素搜索的方式
  2. ROS URDF添加传感器模型
  3. 鸿蒙照搬vue,VUEVlog鸿蒙版
  4. 云鸟科技官微及员工声讨CEO拖欠工资、强迫集资,CEO是微播易创始人
  5. nlp知识点总结(中)
  6. npm不是内部或外部命令,也不是可运行的程序 或批处理文件
  7. Spring来一发 --- 目录
  8. MYSQL的级联复制
  9. 用js实现页面打印以及自定义打印内容
  10. ITPUB名人堂第37期:大型金融机构数据架构师刘盛带你体验大数据冰与火