问题标签 [computed-style]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
html - 找出某个计算出来的 CSS 样式的原因是什么
我<div>
在一个网页上有一个最终计算出的高度属性为 633px。这不是在任何级联样式表中设置的,无论是否内联,也不是在 javascript 中设置。我在我的代码中到处搜索,但数字 633 没有出现在任何地方。我可以通过设置style="height: 420px;"
我想要的高度来解决这个问题,但 IE 似乎将其覆盖为默认情况下我也会在其他浏览器中获得的 633px。我已经在 Google Chrome 和 Firefox/Firebug 中验证了 div 的实际内容远不接近 633 像素高。有什么办法可以找出这个计算高度的原因是什么?为了完整起见,以下是 Google Chrome 报告的<div>
.
提前致谢。
编辑:
问题中的 div 包含两个 div,一个在 中包含一行文本font-size: 16px;
,另一个是高度为 367px 的 div。
另一个编辑:
好的,所以我弄清楚是什么原因造成的。主 div 包含的第二个 div 包含一个图像和一个浮动在该图像右侧的 div,使用position: relative; top: -335px;
. Internet Explorer 保留此元素为空白的空间。有什么办法吗?
最终编辑:
解决了!我将浮动 div 的内容用 包裹position: relative
在第二个 div 中position: absolute
,这消除了主图像下的空白 :) 最终的 HTML 看起来像这样:
c# - 在c#中获取html元素的实际边距
我需要在我的 c# 代码中获取 IHTMLElements 边距占用的实际像素数。我查看了它的样式和 currentStyle 成员,但相关部分要么为空,要么设置为“自动”。
搜索互联网已经在 javascript 中显示了 getCurrentStyle 函数,但我需要在我的 c# 代码中使用这些数字。
显然我对 js 和 html 以及一切都有些陌生......
那么,有没有办法在 c# 代码中获得用于元素边距(或任何其他测量值)的实际计算像素数?
我忘了补充:在可预见的将来,这只会在 Internet Explorer 中使用
javascript - 原型 JS 中的简单 getComputedStyle?
是否有一种简单的跨浏览器方法来获取 PrototypeJS 中元素的计算样式,而无需检查 document.defaultView... 和其他属性?...所以代码看起来像
PrototypeJs 提供了返回计算getDimensions
尺寸的、-Width
和-Height
方法,但无法获取其他计算样式,如边框、背景等。
我找到了几个独立的 getComputedStyle实现,但也许有一个 PrototypeJS 的补丁/插件可以做到这一点?
javascript - 在 IE 中将计算的背景颜色作为 rgb
我正在尝试使用以下代码在 IE 中获取 RGB 背景颜色:
这不会像 firefox 那样返回 rgb 颜色值,它会返回对我没用的“buttonface”。
javascript - 检测宽度:jQuery中的自动
我正在使用 jQuery 检索元素的宽度,如果我可以指示是否指定了明确的宽度(和高度),我会更喜欢它。
这将根据它在客户端屏幕上占用的像素数来提醒 div 的隐式宽度。如果宽度丢失或设置为width: auto
可以使用 jQuery 验证,有什么方法吗?
也就是说,不是上面的示例返回一个整数,而是返回auto
or undefined
。或者,是否有等效的isAuto
功能?
javascript - 在歌剧中获得计算的边界半径
我正在尝试使用以下代码获取某些元素的计算边界半径状态:
变量“myElement”是一个 HTML 元素,其边框半径设置为“20px”。(通过动态设置和使用 CSS)
“temp”变量包含borderRadius(“20px”)字符串。这段代码在 IE、FF 和 Chrome 下工作,但在 Opera 下,我在尝试获取“border-radius”或“border-bottom-right-radius”时得到一个空字符串,并且在与其他人调用时返回“undefined”。
如果我得到border-radius 或border-bottom-right-radius 并不重要,因为这个HTML 元素的所有边框都是相同的。
您有什么想法吗,我应该调用哪个样式属性名称来获取半径?
谢谢你的帮助。
javascript - 如何获得计算样式?
任何人都可以帮我写一个脚本..或获得价值的方法
来自计算的样式表(webkit)。我知道 IE 和往常一样不同。我无法访问 iframe(跨域)——我只需要高度/宽度。
我需要的截图(红色圈出)。如何访问这些属性?
资源
我得到的最接近的是这个
这给了我 HTML 元素的实际样式,即“自动”,这是真的,因为这就是它在 iframed 文档上的设置。
如何获得所有浏览器用于计算滚动条和检查元素值的计算样式?
使用 Tomalaks 的答案,我为 webkit 想出了这段可爱的脚本
或者
结果 150px
相同
所以我让他们在头部添加一个 'brshtml' 的 id - 也许它会帮助我更轻松地选择元素。Webkit 检查现在向我显示 html#brshtml 但我无法使用getelementbyid
javascript - 如何可靠且一致地获得 VIDEO 元素的计算宽度样式?
控制台总是显示“300px”,但显然我正在寻找的值是“640px”。如果我在该 console.log 调用上使用 setTimeout 并延迟 100 毫秒,则正确的“640px”值会显示在控制台中。
不过,我宁愿不使用 setTimeout。是否有“正确”的方法来获得准确计算的样式值?
javascript - 重写 CSS 计算样式问题(错误的页面布局)
我正在重写 CSS(不要问为什么),我通过 HTMLElement.setAttribute 方法更改样式属性。当我计算出没有意义的样式时,有时会出现问题。例如(这种情况最常发生),在计算样式中,父 div 的高度值小于其子 div 元素。这会使所需的页面布局出现一些问题。这并不容易,实际上很难,对我来说改变重写 CSS 的算法,所以有人知道问题的原因是什么,什么是最合适的解决方法。
我的假设是某些更改未应用,因此我应该强制 css 解析器重新计算值。有人遇到过这样的问题吗?