<JavaScript>尺寸类样式的获取

尺寸类样式的获取

offsetHeight

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

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

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

如果元素被隐藏(例如 元素或者元素的祖先之一的元素的style.display被设置为none),则返回0

  • 语法

    var intElemOffsetHeight = document.getElementById(id_attribute_value).offsetHeight;
  • 实例
    var hei = obox.offsetHeight;//返回一个整数数值

    上面的图片中显示了scollbar和窗口高度的offsetHeight.但是不能滚动的元素可能会有一个很大的高度值,大于可以看见的内容。这些元素原则上是被包含在滚动元素之中的。所以,这些不能滚动的元素可能会因为scrollTop的值会被完全隐藏或者部分隐藏;

offsetWidth

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

content+padding+border

  • 语法

    var offsetWidth =element.offsetWidth;

    这个属性将会 round(四舍五入)为一个整数。如果你想要一个fractional(小数)值,请使用element.getBoundingClientRect()

  • 分类
    1. 假如元素无padding无滚动无border

      offsetWidth = clientWidth = style.width
    2. 假如元素有padding无滚动有border
      offsetWidth = style.width + style.padding*2 + border宽度*2
    3. 假如元素有padding有滚动,有border,且滚动是显示的
      offsetWidth = style.width + style.padding*2 + (border-width)*2
      offsetWidth = clientWidth + 滚轴宽度 + border宽度*2

      offsetHeight同理

  • 实例
    var wid = obox.offsetWidth;//返回一个整数数值

clientWidth

clientWeight是一个只读属性。尺寸范围为:padding+content

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

  • 语法

    var intElemClientWidth = element.clientWidth;
    //intElemClientWidth 是一个整数,表示元素的 clientWidth。
  • 分类
    1. 假如元素无padding无滚动

      clientWidth = style.width
    2. 假如元素有padding无滚动
      clientWidth = style.width + style.padding*2
    3. 假如元素有padding有滚动,且滚动是显示的
      clientWidth = style.width + style.padding*2 - 滚动轴宽度

      clientHeight同理

  • 实例
    var cw = obox.clientWidth;//返回一个整数数值

clientHeight

clientHeight是一个只读属性。尺寸范围为:padding+content

  • 语法

    var intElemClientHeight = element.clientHeight;
    //intElemClientHeight 是一个整数,表示元素的 clientHeight。
  • 实例
    var ch = obox.clientHeight;//返回一个整数数值

offsetTop

HTMLElement.offsetTop 为只读属性,它返回当前元素相对于其 offsetParent 元素的顶部内边距的距离。

相对于页面或包含块偏移的位置

  • 语法

    topPos = element.offsetTop;
  • 实例
    var d = document.getElementById("div1");
    var topPos = d.offsetTop;
    
    if (topPos > 10) {
      // div1 距离它的 offsetParent 元素的顶部的距离大于 10 px
    }

offsetLeft

HTMLElement.offsetLeft 为只读属性,它返回当前元素相对于其 offsetParent 元素的左边内边距的距离。

相对于页面或包含块偏移的位置

  • 语法

    leftPos = element.offsetLeft;
  • 实例
    var d = document.getElementById("div1");
    var topLeft = d.offsetLeft;
    
    if (topLeft > 10) {
      // div1 距离它的 offsetParent 元素的顶部的距离大于 10 px
    }

以上属性只能获取不能设置

scrollTop

Element.scrollTop 属性可以获取或设置一个元素的内容垂直滚动的像素数。

一个元素的 scrollTop 值是这个元素的顶部到视口可见内容(的顶部)的距离的度量。当一个元素的内容没有产生垂直方向的滚动条,那么它的 scrollTop 值为0。

  • 语法

    // 获得滚动的像素数
    var  intElemScrollTop = someElement.scrollTop;
    
    // 设置滚动的距离
    element.scrollTop = intValue;
  • 实例
    document.onclick = function(){
        // console.log(obox.scrollTop);
        obox.scrollTop = 666;
    }

    ?

scrolLeft

Element.scrollLeft 属性可以读取或设置元素滚动条到元素左边的距离。

注意如果这个元素的内容排列方向(direction) 是rtl (right-to-left) ,那么滚动条会位于最右侧(内容开始处),并且scrollLeft值为0。此时,当你从右到左拖动滚动条时,scrollLeft会从0变为负数(这个特性在chrome浏览器中不存在)。

  • 语法

    //获取滚动条到元素左边的距离
    var sLeft = element.scrollLeft;
    
    //设置滚动条滚动了多少像素
    element.scrollLeft = 10;

    scrollLeft 可以是任意整数,然而:

    • 如果元素不能滚动(比如:元素没有溢出),那么scrollLeft 的值是0。
    • 如果给scrollLeft 设置的值小于0,那么scrollLeft 的值将变为0。
    • 如果给scrollLeft 设置的值大于元素内容最大宽度,那么scrollLeft 的值将被设为元素最大宽度。
  • 实例
    document.onclick = function(){
        // console.log(obox.scrollLeft);
        obox.scrollLeft = 666;
    }

原文地址:https://www.cnblogs.com/isAndyWu/p/11963409.html

时间: 2024-10-08 21:36:25

<JavaScript>尺寸类样式的获取的相关文章

web前端入门到实战:JavaScript中尺寸类样式

一:鼠标尺寸类样式 都要事件对象的配合 Tip:注意与浏览器及元素尺寸分开,鼠标类尺寸样式都是X,Y,浏览器及元素的各项尺寸时Height,Width 1:检测相对于浏览器的位置:event.clientX/event.clientY client:整个浏览器的可视区域,当点击鼠标的时候,鼠标事件发生的位置距离浏览器可视区域的左边和上边的距离 clientX:鼠标事件发生的位置距离浏览器可视区域的左边的距离 clientY:鼠标事件发生的位置距离浏览器可视区域的上边的距离 2:检测相对于屏幕的位

js中尺寸类样式

js中尺寸类样式 一:鼠标尺寸类样式 都要事件对象的配合 Tip:注意与浏览器及元素尺寸分开,鼠标类尺寸样式都是X,Y,浏览器及元素的各项尺寸时Height,Width 1:检测相对于浏览器的位置:event.clientX/event.clientY client:整个浏览器的可视区域,当点击鼠标的时候,鼠标事件发生的位置距离浏览器可视区域的左边和上边的距离 clientX:鼠标事件发生的位置距离浏览器可视区域的左边的距离 clientY:鼠标事件发生的位置距离浏览器可视区域的上边的距离 2:

day26—JavaScript对CSS样式的获取和修改实践

转行学开发,代码100天--2018-04-11 通过JavaScript获取和修改HTML元素及CSS属性是其一个基本功能.对于CSS样式通常有行内样式,外部样式,内嵌样式之分. 如: 行内样式: <div id="box" style="width: 100px;height: 100px;background:#ccc"></div> 外部样式: <link rel="stylesheet" type=&quo

每天一个JavaScript实例-展示设置和获取CSS样式设置

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>每天一个JavaScript实例-展示设置和获取CSS样式设置</title> <style> #date{ width:200px; background-color:l

JavaScript DOM操作案例点击按钮通过类样式的方式显示跟隐藏div

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style> div { width: 300px; height: 300px; background-color: pink; } .cls { display: none; } </style> </h

浅谈Supermap iClient for JavaScript 弹窗类

地图作为信息的载体和呈现方式,是GIS的重要组成部分,它是一个浏览信息的窗口,在信息日益发达的今天 ,各种地图应用如雨后春笋一般出现在大众眼前,而不是像以往一样太过局限于专业的领域.而弹窗,是作为地图信息的补充说明和描述的重要呈现方式,也广泛应用于各种地图应用中.一个好的前端界面的设计要灵活地使用空间,也要生动地完成与用户的交互,而在地图应用中,弹窗使用得好,不但会让人感觉舒适也会方便和增加与用户的交互,提升用户体验.如何使用和如何更好地使用iClient for JavaScript的弹窗(P

javaScript之动态样式

    动态添加样式可以实现更好的视觉效果和交互效果,下面就介绍一下如何动态和删除样式: 方法一.使用obj.className来修改样式表的类名 obj.className = “style1”; 方法二.使用obj.style.cssTest来修改嵌入式的css obj.style.cssText = "background-color:black; display:block;color:White; 方法三.使用obj.style.stylePro来修改嵌入式的css obj.style

Tool.js(javascript帮助类)

//string.format $.format = function (source, params) { if (arguments.length == 1) return function () { var args = $.makeArray(arguments); args.unshift(source); return $.validator.format.apply(this, args); }; if (arguments.length > 2 && params.c

JavaScript学习总结(十二)——JavaScript编写类

在工作中经常用到JavaScript,今天总结一下JavaScript编写类的几种写法以及这几种写法的优缺点,关于JavaScript编写类的方式,在网上看到很多,而且每个人的写法都不太一样,经常看到的就是以下几种方式. 1.构造函数方式 用构造函数模拟"类",在其内部用this关键字指代实例对象. 基本语法: function 类名(){     this.属性名;//公共属性     var 属性名;//私有属性    /*凡是定义类的公共属性和公共方法都要使用this*/