js 中与元素有关的高度
1, 平常都经常用 document.documentElement.clientWidth 或 document.documentElement.clientHeight 来获取页面的宽度和高度, 其实任何一个元素都有clientWidth 和clientHeight 属性,它的值等于,元素的宽度或高度+ padding的值,如果有滚动条,还要减去滚动条的宽度和高度。 比如一个div
1, 如果设置一个div 的宽度和高度,里面只有很少内容没有出现滚动条,那么这个div的clientWidth 和clientHeight 就是我们设置的width 和height。
<style>
div {
width: 300px;
height: 100px;
border: 1px solid blue;
font: 30px arial;
}
</style>
<div>
clientHeight/ clientWidth
</div>
<script>
var div = document.getElementsByTagName("div")[0];
console.log(div.clientHeight); // 100 同style样式中设置的一致
console.log(div.clientWidth); // 300 同style样式中设置的一致
</script>
2, 如果同时给div元素设置了padding值, 那么div的clientWidth 和clientHeight就时 width + padding 和height + padding。
<style>
div {
width: 300px;
height: 100px;
padding: 20px; /*增加了padding 20px*/
border: 1px solid blue;
font: 30px arial;
}
</style>
console.log(div.clientHeight); // 140 width + padding *2
console.log(div.clientWidth); // 340 height + padding *2
3, 如果给div 设置overflow: auto,同时里面的内容特别多,出现滚动条, 这是clientWidth 和clientHeight就时 width + padding -滚动条的宽度 和height + padding-滚动条的高度。
<style>
div {
width: 300px;
height: 100px;
padding: 20px; /*增加了padding 20px*/
border: 1px solid blue;
font: 30px arial;
overflow: auto;
}
</style>
<div>
clientHeight/ clientWidth/clientHeight/ clientWidth
clientHeight/ clientWidth/clientHeight/ clientWidth
clientHeight/ clientWidth/clientHeight/ clientWidth
clientHeight/ clientWidth
</div>
<script>
var div = document.getElementsByTagName("div")[0];
console.log(div.clientHeight); // 123 width + padding *2 -滚动条的高度
console.log(div.clientWidth); // 323 height + padding *2 -滚动条的宽度
// 滚动条的默认宽度和高度是17px;
</script>
4, clientLeft/ clientTop: 他们指的是div 元素border 的宽度。 clientLeft 指的是border-left-width,clientTop 指的是 border-top-width;
div {
width: 300px;
height: 100px;
border-style: solid;
border-width: 30px 20px 10px 5px;
}
console.log(div.clientTop); // 30
console.log(div.clientLeft); // 5
js 中与元素有关的高度的更多相关文章
- js中迭代元素特性与DOM中的DocumentFragment类型 笔记
JS中迭代元素特性 在需要将DOM结构序列化为XML或者HTML字符串时,多数都会涉及遍历元素的特性,这个时候attributes属性就可以派上用场. 以下代码展示了如何迭代元素的每一个特性,然后将他 ...
- JS中获取元素属性的逆天大法
给大家聊下js中获取元素属性的逆天大法,胆小慎入,切记切记!!! innerHTML.outerHTML.innerText .outerText.value.text().html(),val() ...
- 在Js中得到元素的子元素集合注意事项
http://www.cnblogs.com/phonefans/archive/2008/09/04/1283739.html 在Js中得到元素的子元素集合注意事项 费话少说,直接看例子: 1 &l ...
- 详解JS中DOM 元素的 attribute 和 property 属性
一.'表亲戚':attribute和property 为什么称attribute和property为'表亲戚'呢?因为他们既有共同处,也有不同点. attribute 是 dom 元素在文档中作为 h ...
- js中选定元素slice()
选定元素slice() slice() 方法可从已有的数组中返回选定的元素. 语法 arrayObject.slice(start,end) 参数说明: 1.返回一个新的数组,包含从 start 到 ...
- (知识点)JS中获取元素的样式
首先我们已经知道了JavaScript如果获取一个元素的内部样式,你可以这样做: <div id="box" style="width:100px;height:1 ...
- js中获取浏览器和屏幕高度
Javascript: IE中: document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高 ...
- js中数组元素的添加和删除
js中数组元素常用添加方法是直接添加.push方法以及unshift方法 删除方法则是delete.pop.shift 集修改方法为一身的则是splice 1.添加: (1)直接添加通常都是这样 va ...
- JS中获取元素使用getElementByID()、getElementsByName()、getElementsByTagName()的用法和区别
Web标准下可以通过getElementById(), getElementsByName(), and getElementsByTagName()访问Documnent中的任一个标签: 1 g ...
随机推荐
- easyUI 复选框批量操作
前台js代码 function destroyExcelout(){ //返回选中多行 var row = $('#dg').datagrid('getSelections' ...
- 常用git命令总结
这些命令是最常用的,一般的提交代码.拉取代码.合并代码.分支切换等等操作用这些命令就足够了. 1.git init 把一个目录初始化成git仓库 2.git add test.txt 把文 ...
- extjs 学习小窍门
一.从form中获取field的三个方法: 1.Ext.getCmp('id'); 2.FormPanel.getForm().findField('id/name'); 3.Ext.get('id/ ...
- Spring Mvc + Mybatis + sqlserver maven
mybatis config datasource: <!-- 配置数据源 使用的是Druid数据源 --> <bean name="dataSource" c ...
- PhpStorm创建Drupal模块项目开发教程(3)
rush是 Drupal的脚本界面,PhpStorm的命令行工具支持Drush 5.8和更高版本. 接下来就Drush配置和基本操作进行设置,首先点击打开Settings | Command Line ...
- SACS +Petrel 2009地震
Bentley SACS V8i SS4 05.07.01.01 海洋平台分析Schlumberger Petrel 2009地震解释油藏模拟课程 Trimble Tekla Structural D ...
- CSS3 笔记四(Transforms/Transition/Animations)
CSS3 2D Transforms Methods translate() rotate() scale() skewX() skewY() matrix() 1> translate() T ...
- Bash:-:-获取未来40天的日期
<---获取40天日期数组---> ..};do echo "$(date --date=''${i}' days ago' "+%Y%m%d")" ...
- win10+PHP7
在D盘自定义新建文件夹ApacheServer 再在ApacheServer文件夹下分别建立php,Apache,mysql,web四个文件夹分别用来存放 php,apache,mysql,项目文件 ...
- 日志管理log4js的配置
以前就是在app.js 直接用,今天把它抽出来了. log4js.json { "appenders": [ { "type":"console&qu ...