【前端工程师手册】前端应该知道的各种宽高

简介: 【前端工程师手册】前端应该知道的各种宽高

引子


曾经校招面试的时候,学习了三个月前端的我去某厂面试,面试官循循善诱考察了一个开发中的实际场景,其中有需要用到某元素的高度,面试官问我clientHeight和offsetHeight的区别是什么,我当时一脸懵逼,这个问题对于当时的我来说已经完全超纲了...面试结果自然是面试官我来参加面试...

好汉不提当年囧,今天总结一下常见的元素各种宽高。


一些height和width


clientHeight和clientWidth


没有横向滚动条时:clientHeight = css设置的height + paddingTop + paddingBottom

有横向滚动条时:clientHeight = css设置的height + paddingTop + paddingBottom - 滚动条的高度

clientWidth类似,就不再赘述


ps:这个属性是只读属性,对于没有定义CSS或者内联布局盒子的元素为0


offsetHeight和offsetWidth


offsetHeight = ccss设置的height + paddingTop + paddingBottom + borderTop + borderBottom

offsetWidth类似,就不再赘述


scrollHeight和scrollWidth


无滚动条时:scrollHeight = clientHeight = css设置的height + paddingTop + paddingBottom

有滚动条时:scrollHeight = 实际内容的高度 + paddingTop + paddingBottom(即要算上因为滚动被遮住的内容高度

scrollWidth不再赘述


一些Top和Left


clientLeft和clientTop


clientTop = borderTop clientLeft = borderLeft


offsetLeft和offsetTop


以offsetTop为例,搞懂它首先要明白offsetParent是什么

offsetParent是元素最近的有定位的父元素,如果父元素中没有有定位的,那么就是最近的 table, table cell 或根元素。

offsetTop 和 offsetLeft 都是相对于offsetParent内边距边界的。


scrollTop和scrollLeft


scrollTop即为向上滚动时,元素内容区被遮住的那一部分。

scrollLeft同理


参考

JavaScript 中的各种宽高属性

MDN


相关文章
|
5月前
|
开发框架 前端开发 JavaScript
若依怎样看开发文档,域名搜这个就行ruoyi.vip,建链接点击在线文档,有前端手册和后端手册,若依文档里有项目扩展,项目扩展有大量的开源的软件
若依怎样看开发文档,域名搜这个就行ruoyi.vip,建链接点击在线文档,有前端手册和后端手册,若依文档里有项目扩展,项目扩展有大量的开源的软件
|
5月前
|
前端开发
前端 CSS 经典:保持元素宽高比
前端 CSS 经典:保持元素宽高比
90 0
|
7月前
|
前端开发 JavaScript 搜索推荐
前端网页手册(2)--菜鸟教程网站分析
前端网页手册(2)--菜鸟教程网站分析
74 2
|
7月前
|
前端开发 JavaScript 关系型数据库
前端网页手册(1)--基础学习
前端网页手册(1)--基础学习
37 1
|
7月前
|
前端开发 JavaScript UED
【Web 前端】说几个未知宽高元素水平垂直居中方法?
【4月更文挑战第22天】【Web 前端】说几个未知宽高元素水平垂直居中方法?
|
7月前
|
存储 监控 前端开发
JavaScript手册:公司员工电脑监控软件前端交互的代码设计
在当今信息时代,随着公司对员工电脑活动的监控需求不断增加,前端交互的代码设计变得尤为关键。本手册将深入探讨JavaScript编写的公司员工电脑监控软件监控代码,着重介绍如何设计能够在不引起怀疑的情况下,实现对员工电脑活动的细致监控。
268 2
|
7月前
|
存储 缓存 前端开发
中高级前端工程师都需要熟悉的技能--前端缓存
中高级前端工程师都需要熟悉的技能--前端缓存
|
7月前
|
前端开发 容器
前端知识笔记(二十七)———CSS核心功能手册:从熟悉到精通
前端知识笔记(二十七)———CSS核心功能手册:从熟悉到精通
55 0
|
7月前
|
前端开发 容器
前端知识笔记(三)———CSS核心功能手册:从熟悉到精通
前端知识笔记(三)———CSS核心功能手册:从熟悉到精通
56 0
|
2月前
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
188 2