【问题标题】:Getting the on screen Width of a element获取元素的屏幕宽度
【发布时间】:2016-11-10 15:00:16
【问题描述】:

为了在画布中提供完整的质量,我想使用画布将在屏幕上使用的实际像素数量。我正在编码的网页内容固定为 465px。但是你可以想象一下,465px 的画布不是很好。而且由于现代显示器的像素更多,我想我可以利用它来发挥我的优势。 我尝试了不同的东西,如 inderWidth、clientWidth 和正常宽度,但没有任何效果。当我用不同的缩放重新加载浏览器时,我真的需要一个改变的功能。

HTML:

<div id="myTargetDiv"></div>

Javascript:

<script>
    $("#myTargetDiv").html("<canvas id='myCanvas' style='widt: 100%" width="
        + document.getElementById("contentMain").clientWidth + "' height='"
        + document.getElementById("contentMain").clientheight
        + "'>Your Browser does not support the HTML5 canvas tag</canvas>");
</script>

如果你能在 JS 或 Jquery 中提供解决方案,我会很高兴

【问题讨论】:

  • 通过搜索 SO 找到了 Total width of elementa multitude of similar answers 的可能重复项。
  • @Rob 1) 此评论中提供的答案甚至不起作用。 2)即使它有效,它也会返回css中定义的宽度。我真的需要 onscreen 宽度
  • 如果您希望它使用不同的缩放级别,您无能为力。没有标准的方法来确定缩放设置。尽管对于 Firefox 和 chrome,我使用 window.devicePixelRatio 因为它会更改以反映缩放设置。即缩放110% .devicePixelRatio = 1.100 然后只需将innerWidth 和innerHeight 乘以该值。但我不知道其他或更旧的浏览器会做什么。
  • 通过搜索 SO 或单击我为您所做的链接可以找到大量答案。你这样做了吗?
  • @Blindman67 devicePixelRatio 返回缩放。但是,您在浏览器中设置的缩放比例与额外的缩放比例之间存在差异,该缩放比例需要补偿所有旨在在分辨率为 300x400 像素或某物的屏幕上看起来不错的网站。

标签: javascript jquery canvas


【解决方案1】:

将元素的宽度和高度设置为 100%。但请确保所有父元素也是 100% 宽度/高度。

html, body, #myTargetDiv {
  width: 100%;
  height: 100%;
}

【讨论】:

  • 这对我没有帮助。我需要这些信息来计算我的画布将有多少像素。如果我用 465 像素定义画布,然后添加 1500 像素的图片,它将被缩小,看起来真的非常糟糕
  • @Joel console.log(document.getElementById('myTargetDiv').offsetWidth + 'x' + document.getElementById('myTargetDiv').offsetHeight)
猜你喜欢
  • 2023-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-25
  • 2019-07-11
  • 2011-09-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多