重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
关于元素尺寸,一般地,有偏移大小offset、客户区大小client和滚动大小scroll。前文已经介绍过偏移属性,后文将介绍scroll滚动大小,本文主要介绍客户区大小client
10年积累的成都做网站、成都网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有梁园免费网站建设让你可以放心的选择与我们合作。
客户区大小client指的是元素内容及其内边距所占据的空间大小
clientHeight
clientHeight属性返回元素节点的客户区高度
clientHeight = padding-top + height + padding-bottom
clientWidth
clientWidth属性返回元素节点的客户区宽度
clientWidth = padding-left + height + padding-right
[注意]滚动条宽度不计算在内
内容
内容
内容
内容
内容
内容
当height和纵向padding的和为0(以及小于17px的情况)时,如果仍然存在滚动条,各浏览器表现不一样
bug
如果设置overflow:scroll,使得滚动条始终存在,当不设置高度height值时,各个浏览器表现不一样。firefox存在一个最小高度为34px的垂直滚动条,IE7-浏览器存在一个最小高度为19px的垂直滚动条,而其他浏览器的垂直滚动条无最小高度
所以,当clientHeight的值小于34px时,firefox会返回34;当clientHeight的值小于19px时,IE7-会返回19
内容
内容
clientLeft
clientLeft属性返回左边框的宽度
clientTop
clientTop属性返回上边框的宽度
[注意]如果display为inline时,clientLeft属性和clientTop属性都返回0
常用document.documentElement的client属性来表示页面大小(不包含滚动条宽度)
[注意]在IE7-浏览器中,元素默认存在垂直滚动条
另一个对常用的表示页面大小的属性是window.innerHeight和innerWidth属性(包含滚动条宽度)
innerHeight和innerWidth表示的是浏览器窗口大小减去菜单栏、地址栏等剩余的页面尺寸,由于滚动条是属于页面的,所以包含滚动条
[注意]IE8-浏览器不支持innerHeight和innerWidth属性
如果没有滚动条,这两类属性在电脑端表示同样的值,但是却表示不同的含义。在移动端,innerWidth和innerHeight表示的是视觉视口,即用户正在看到的网站的区域;而document.documentElement.clientWidth和clientHeight表示的是布局视口,指CSS布局的尺寸。详细情况移步至此
[注意]页面的客户区大小和页面的实际大小是不同的,页面的实际大小将由后文的scroll滚动大小来表示
【1】所有客户区client属性都是只读的
【2】如果给元素设置了display:none,则客户区client属性都为0
【3】每次访问客户区client属性都需要重新计算,重复访问需要耗费大量的性能,所以要尽量避免重复访问这些属性。如果需要重复访问,则把它们的值保存在变量中,以提高性能