javascript - 获取相对单位值

标签 javascript css

我想知道如何获得相对单位值 例如,我有一个宽度为其视口(viewport)宽度 80% 的元素,我想使用 javascript 获取宽度值

console.log(Number.parseInt(document.getElementById('maxwidth').style.width));
<div id="maxwidth" style="width: 80vw;"></div>

最佳答案

相对宽度

你应该自己计算一个元素的相对宽度,宽度百分比。使用此功能来执行此操作。

function getRelativeWidth(element) {
  var offsetParent = element.offsetParent || element;
  return ((element.offsetWidth / offsetParent.offsetWidth) * 100).toFixed(3) + '%';
}

var element = document.getElementById('maxwidth')
console.log(getRelativeWidth(element))
<div id="maxwidth" style="width: 80vw;"></div>


offsetWidth

使用此函数获取元素的宽度,包括其边框和填充。

function getOffsetHeight(element) {
  return element.offsetWidth
}

var element = document.getElementById('maxwidth')
console.log(getOffsetHeight(element))
<div id="maxwidth" style="width: 80vw;"></div>


clientWidth

使用此函数获取非内联元素的宽度,不包括其边框和边距,但包括其填充。

function getClientWidth(element){
    return element.clientWidth
}

var element = document.getElementById('maxwidth')
console.log(getClientWidth(element)) 
<div id="maxwidth" style="width: 80vw;"></div>

关于javascript - 获取相对单位值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50410619/

相关文章:

javascript - 如何从evaluate()访问注入(inject)的.js文件中的函数?

css - Vue-Material 中的字体更改不起作用

css - 每隔一行制作另一个具有唯一列的表

javascript - 使用 html 文件 api 和 javascript 搜索本地目录

javascript - scrollIntoView 整个页面向下移动

javascript - 循环遍历 JSON 数组以获取 JavaScript 中的特定数据

javascript - 我不明白: for (var node = list; node; node = node.其余的)

javascript - 如何在背景图片上添加文字

javascript - 使用 JS 更改字体大小时忽略十进制

javascript - 如何在图像幻灯片上放置黑色叠加层