html - 探索 GWT 客户端代码中的样式元素

标签 html css gwt

我有一个创建列表的 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/

相关文章:

PHP/MySQL/GWT 合并字符串序列,不重复排列

java - GWT 找不到 .gwt.xml

java - 如何从 GWT 中的 RichTextArea 获取光标位置或位置?

html - TD 样式字体粗细不应用粗体格式

html - 为什么我的 div 不响应底部和左侧

javascript - 如何在静态网站中重用 html/css/javascript?

javascript - 如何使输入和标签的父 div 切换子输入

javascript - 如何仅在使用 Angular 2 激活 HTML 元素时启用验证?

html - 不是正确的 css 方法?

python - Flask-bootstrap 简单应用程序无法正确呈现 Bootstrap