zoukankan      html  css  js  c++  java
  • JavaScript 基于offsetHeight和clientHeight判断是否出现滚动条

    基于offsetHeightclientHeight判断是否出现滚动条

     

    by:授客 QQ1033553122

     

    HTMLEelement.offsetHeight简介

    HTMLElement.offsetHeight 是一个只读属性,它返回该元素的像素高度,高度包含该元素的垂直内边距和边框,且是一个整数。

     

    通常,元素的offsetHeight是一种元素CSS高度的衡量标准,包括元素的边框、内边距和元素的水平滚动条(如果存在且渲染的话),不包含:before或:after等伪类元素的高度。

     

    对于文档的body对象,它包括代替元素的CSS高度线性总含量高。浮动元素的向下延伸内容高度是被忽略的。

     

    参考链接:https://developer.mozilla.org/zh-CN/docs/Web/API/HTMLElement/offsetHeight

     

    HTMLEelement.clientHeight简介

    这个属性是只读属性,对于没有定义CSS或者内联布局盒子的元素为0,否则,它是元素内部的高度(单位像素),包含内边距,但不包括水平滚动条、边框和外边距。

     

    clientHeight 可以通过 CSS height + CSS padding - 水平滚动条高度 (如果存在)来计算

    参考链接:https://developer.mozilla.org/zh-CN/docs/Web/API/Element/clientHeight

     

    HTMLEelement.offsetWidth简介

    是一个只读属性,返回一个元素的布局宽度。一个典型的(译者注:各浏览器的offsetWidth可能有所不同)offsetWidth是测量包含元素的边框(border)、水平线上的内边距(padding)、竖直方向滚动条(scrollbar)(如果存在的话)、以及CSS设置的宽度(width)的值。

     

    参考链接:https://developer.mozilla.org/zh-CN/docs/Web/API/HTMLElement/offsetWidth

     

    HTMLEelement.clientHeight简介

    内联元素以及没有 CSS 样式的元素的 clientWidth 属性值为 0。Element.clientWidth 属性表示元素的内部宽度,以像素计。该属性包括内边距,但不包括垂直滚动条(如果有)、边框和外边距。

     

    参考链接:https://developer.mozilla.org/zh-CN/docs/Web/API/Element/clientWidth

     

     

    判断目标元素是否出现滚动条

    targetElement为目标html元素,以下代码用于判断该元素内是否出现滚动条

    if (targetElement.offsetHeight > targetElement.clientHeight &&

        targetElement.offsetWidth > targetElement.clientWidth

    ) {

        console.log("出现水平 & 垂直滚动条");

    }

     

    if (tableBody.offsetWidth > tableBody.clientWidth) {

        console.log("出现垂直滚动条");

    }

     

    if (obj.offsetHeight>obj.clientHeight) {

    console.log("出现水平滚动条");

    }

     

     

     

     
  • 相关阅读:
    作业五:RE 模块模拟计算器
    python RE模块的使用
    python的命名空间
    python 正则表达式
    python-map的用法
    JavaScript 基础学习1-day14
    前端基础之CSS-Day13
    前端基础之html-Day12
    Python-进程与线程理论基础-Day10
    Angular2语法指南
  • 原文地址:https://www.cnblogs.com/shouke/p/11926986.html
Copyright © 2011-2022 走看看