height:返回元素内容的高度。(根据是不是怪异盒子模型计算高度)
offsetheight:它返回的高度是内容高+padding+边框。
clientHeight:在页面上返回内容的可视高度(不包括边框,外边距或滚动条)。
scrollHeight:返回整个元素的高度,即不设置高度时的,content高度+padding高度。其实就是展开后的clientHeight

这个content设置100px,但是显示83,因为还有滚动条,滚动条宽度17px。
offsetheight:130 = 内容高100+padding20+边框10。
clientHeight:103 = 内容的可视高度83(即100px-滚动条17px)+ padding20。
scrollHeight:167 =147(内容真实高度)+padding20 = 167。

搞懂scroll (参考链接)

scroll相关属性,其实它描述的是outer的属性:

#outer {
    margin: 100px 50px;
    height: 100px;
    width: 50px;
    padding: 10px 50px;
    overflow: scroll;
}

<div id="outer">
        <div id="inner"></div>
</div>
<button οnclick="toBottom(outer)">返回顶部</button>

//慢慢滚动到底部的实现
function toBottom(ele) {        
        if (ele.scrollTop < ele.scrollHeight - ele.clientHeight) {
             setTimeout(function(){
                    ele.scrollTop++;
                    toBottom(ele);
                },100);
        }
}

比如这段代码,inner中间是长list列表,outer是容器,overflow设置为auto或者scroll。
通常觉得滚动是inner长list在往上移动,但是这是错误的,是outer的scrollTop的值在变化。要考虑的是outer的属性。

//判定元素是否滚动到底:
element.scrollHeight - element.scrollTop === element.clientHeight

//返回顶部
element.scrollTop = 0

浏览器尺寸
window.innerHeight:浏览器窗口的可见高度。包括了滚动条但是不包括border(该窗口的可见高度,如果下面打开开发者模式,这个高度缩小)
window.outHeight:计算整个浏览器的高度,包括标签页等等的整个浏览器高度,只有改变整个浏览器的高度才会变。
这两个值是根据浏览器页面大小而变化的。
浏览器窗口的尺寸(就是内容部分,可以看见的部分,不包括工具栏和滚动条)
对于Internet Explorer、Chrome、Firefox、Opera 以及 Safari:

window.innerHeight - 浏览器窗口的可见高度 
window.innerWidth - 浏览器窗口的可见宽度

对于 Internet Explorer 8、7、6、5:

document.documentElement.clientHeight 
document.documentElement.clientWidth 
或者 
document.body.clientHeight 
document.body.clientWidth

兼容所有浏览器:

var w=window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
var h=window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;

盒子模型的各种高度记录相关推荐

  1. 三、CSS重要的盒子模型知识总结(中篇)

    @Author:Runsen CSS知识总结(上) 继续上篇文章,总结css 今天一篇全讲重要的盒子模型 文章目录 边框属性 什么边框? 边框属性的格式 连写(分别设置四条边的边框) 内边距 什么是内 ...

  2. Web前端开发笔记——第三章 CSS语言 第五节 盒子模型

    目录 一.CSS布局与定位 二.盒子模型 三.盒子模型的组成 四.设置边框的属性 五.设置外.内边距的属性 六.overflow 属性 结语 一.CSS布局与定位 在CSS中对一个网页进行布局与定位, ...

  3. 【重识 HTML + CSS】盒子模型相关知识点

    盒子模型 盒子模型 (Box Model) 宽度.高度相关 CSS 属性 - width.height 内边距相关 CSS 属性 - padding 外边距相关 CSS 属性 - margin [常见 ...

  4. 自学前端第十天 : CSS怪异盒子模型

    一.怪异盒子模型 怪异盒模型是IE盒子模型 我们可以通过 css 样式 box-sizing来进行切换 select {box-sizing: border-box; /* 怪异盒子模型 */box- ...

  5. html盒子宽高,css盒子模型之宽度和高度

    盒子模型的宽度width高度height;宽度和高度的单位px像素,使用%动态计算(自适应和响应式) HTML代码 *lt;div class="pag1">*lt;/div ...

  6. html盒子模型子元素怎么水平占满父元素_CSS盒子模型、溢出处理、浮动、高度坍塌问题...

    盒子模型 1.内容区 width 盒子内容区宽度 height 盒子内容区高度 background-color 背景颜色 盒子可见大小由内容区,内边距和边框共同决定 为元素设置边框,必须指定3个样式 ...

  7. 初识HTML(五)进阶:CSS盒子模型、页面布局

    目录 CSS 盒子模型(Box Model) 页面布局 浮动流 制作导航栏 如何页面布局 定位流 relative相对定位 absolute绝对定位 fixed固定定位 CSS 盒子模型(Box Mo ...

  8. html 盒子模型添加图片,[HTML/CSS]盒子模型,块级元素和行内元素

    目录 概述 在div+css中,了解块级元素和行内元素还是非常有必要的,比如:对行内元素使用width属性就会失效.虽然自己不是做前端的,但是,在项目中,曾经也弄过从前端布局,也吃过这方面的亏.今天, ...

  9. (九)HTML5+CSS3新特性:语义标签、多媒体标签、表单、新增选择器、盒子模型、模糊、calc函数、过渡

    本文仅用作学习记录,学习视频为B站的pink老师 文章目录 HTML5的新特性 HTML5新增的语义化标签 HTML5新增的多媒体标签 HTML5新增的input表单 HTML5新增的表单属性 CSS ...

最新文章

  1. SOAPUI请求及mockservice 使用
  2. MATLAB_图形学_形态学课程_找出薛之谦的歌词所有字数
  3. Django restfulframework 开发相关知识 整理
  4. 火星坐标、百度坐标、WGS-84坐标相互转换及墨卡托投影坐标转经纬度JavaScript版...
  5. Happy Matt Friends(HDU5119 + dp)
  6. 解决FusionCharts联动的中文乱码.
  7. 别再叫我“老工”!!!工程师姓什么很重要!
  8. Nginx下配置Http Basic Auth
  9. matlab连续型随机变量,matlab连续型随机变量的分布.doc
  10. oracle rollback 观察时间
  11. 黑客大曝光:VoIP安全机密与解决方案
  12. Python爬虫实例(含代码)超详细教程
  13. Linux下批量tiff转pdf
  14. iOS程序员必读之热门书单
  15. 乱码html文档怎么恢复,乱码word文档怎么恢复
  16. C语言——求三个数中最大值(6种方法)
  17. 骁龙780G​和骁龙750G哪个好 高通骁龙780G​和骁龙750G区别参数对比
  18. mysql 查看备份工具_MariaDB/MySQL备份和恢复(一):mysqldump工具用法详述【转】
  19. Nachos 3.4入门的两个问题
  20. Hbaseshell scan多种过滤操作

热门文章

  1. HDU3782 xxx定律【数学计算+水题】
  2. windows “文件大小”与“占用空间”、文件系统与文件拷贝
  3. Momentum(动量/冲量)的理解及应用
  4. UNIX环境高级编程(三)—— 静态链接库与动态链接库
  5. 深度学习基础(三)—— 权值矩阵的初始化
  6. python学习-如何高效学 Python?
  7. python必背100源代码-100行Python代码实现自动抢火车票(附源码)
  8. python3安装步骤-超详细的小白python3.X安装教程|Python安装
  9. python在电脑下载-Windows下下载及安装numpy、pandas及简单应用
  10. python自学-分享一位小伙伴的python自学之路,走了哪些弯路?