美文网首页
JavaScript距离总结

JavaScript距离总结

作者: 六寸光阴丶 | 来源:发表于2020-06-25 18:00 被阅读0次
    <!DOCTYPE html>
    <html>
    
    <head>
      <title>距离总结</title>
      <style type='text/css'>
      #box {
        width: 100px;
        height: 100px;
        margin: 10px;
        padding: 10px;
        border: 10px solid black;
        background-color: #ccc;
      }
      </style>
    </head>
    
    <body>
      <div id='box'>
        一个盒子
      </div>
      <script type='text/javascript'>
      const getStyleValue = (dom, attr) => {
        const style = dom.currentStyle ? dom.currentStyle[attr] : getComputedStyle(dom)[attr]
        return Number(style.replace(/\s+|px/gi, ''))
      }
      const getWidth = dom => {
        return dom.clientWidth - getStyleValue(dom, 'paddingLeft') - getStyleValue(dom, 'paddingRight')
      }
      const getHeight = dom => {
        return dom.clientWidth - getStyleValue(dom, 'paddingTop') - getStyleValue(dom, 'paddingBottom')
      }
      const element = document.getElementById('box')
      // 返回元素的宽度(包括元素宽度、内边距和边框,不包括外边距)
      console.log('element.offsetWidth', element.offsetWidth)
      // 返回元素的高度(包括元素高度、内边距和边框,不包括外边距)
      console.log('element.offsetHeight', element.offsetHeight)
      // 返回元素的宽度(包括元素宽度、内边距,不包括边框和外边距)
      console.log('element.clientWidth', element.clientWidth)
      // 返回元素的高度(包括元素高度、内边距,不包括边框和外边距)
      console.log('element.clientHeight', element.clientHeight)
      // 返回元素的宽度(包括元素宽度,不包括内边距、边框和外边距)
      console.log('style.width', getWidth(element))
      // 返回元素的高度(包括元素高度,不包括内边距、边框和外边距)
      console.log('style.height', getHeight(element))
      // 返回元素的宽度(包括元素宽度、内边距和溢出尺寸,不包括边框和外边距),无溢出的情况,与clientWidth相同
      console.log('element.scrollWidth', element.scrollWidth)
      //返回元素的高度(包括元素高度、内边距和溢出尺寸,不包括边框和外边距),无溢出的情况,与clientHeight相同
      console.log('element.scrollHeight', element.scrollHeight)
      </script>
    </body>
    
    </html>
    

    相关文章

      网友评论

          本文标题:JavaScript距离总结

          本文链接:https://www.haomeiwen.com/subject/duasfktx.html