我有一个创建列表的 GWT 代码(作为结果的网格),我将样式设置为 CSS 类,如
.test tr {
height: 26px;
}
现在...如果在渲染未完成或网格没有元素时我需要从代码中获取“26px”?我可以获得那个值吗?我知道我能做到
obj.getElement().getStyle().getProperty("height");
要获取一些style属性,但是如何获取子元素tr的相关值呢?
最佳答案
正如您所发现的,元素的 style
属性仅包含直接在元素本身上设置的样式 - 它不会自动选取已应用到它的 css 或已应用的 css应用于父节点并继承给它等。
为此,您需要获取元素的“计算”样式。这是一个有点昂贵的操作,所以应该小心地完成,并且在旧版本的 IE 中不起作用,所以必须编写完全不同的代码。一些像 GXT 这样的库有一个内置的功能来为你完成这项工作 (XElement.getComputedStyle(...)
),如果你没有使用这样的库,你将需要编写 JSNI可以调用此 API 并询问这些详细信息。
查看 http://caniuse.com/#feat=getcomputedstyle (IE8 及以下版本没有,旧的 Android 浏览器和 Opera Mini 显然有问题)和 https://developer.mozilla.org/en-US/docs/Web/API/Window.getComputedStyle有关通话的详细信息。在您的 JSNI 中,请记住使用 $wnd
来引用 window
对象,如下所示:
$wnd.getComputedStyle(element).getPropertyValue('height');
关于html - 探索 GWT 客户端代码中的样式元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26608054/