2

我正在尝试编写一个使用圆角来构建应用程序的应用程序。我在谷歌代码上找到了一个带有 RoundedLinePanel 的包,它似乎可以工作......有点。

我想知道几件事。这是人们用来在 GWT 中创建带圆角的 div 的东西吗?发行说明说它在近一年内没有改变。

此外,我似乎无法设置此 div 的固定高度(setHeight 将其设置在包装 div 上,而不是内部 div 上)。所以它对我没有用,因为我有一个固定高度的应用程序。

最后,如果有人能提出一种更好的机制来在 GWT 中创建圆角 div,我会全力以赴。

4

2 回答 2

4

有一种使用 CSS 3 圆角的漂亮方法(因此在 IE<=8 中不起作用,但在 IE9 开发者预览版中会起作用)。查看http://css3please.com/以了解所涉及的样式。使用border-radius(或-moz-border-radius-webkit-border-radius属性)相当简单。在 GWT 中,只需将您想要的样式类名称添加到您想要圆角边框的元素中即可。当然,在旧版浏览器中支持圆角更难,但你需要这样做吗?

对于旧版浏览器,这要困难得多,具体取决于实际上下文。它总是涉及边界的图像。您必须创建掩盖框边框的图像。有效的是这个答案中描述的技巧。要在 GWT 中使用它,您可以使用 uibinder、htmlelement 或创建自己的小部件。也可以在此处找到对该技术的更广泛解释。

于 2010-04-07T08:27:41.343 回答
3

最常见的解决方案,decoratorPanel,在当前版本的 GWT 中已被弃用(例如,如果你将它与 GWT 2.1.1 一起使用,你最终会遇到 GWT 所需的文档类型和 decoratorPanel 之间的不兼容问题, 和 IE,尤其是 IE8)。

所需的 GWT 2.1.1 doctype (!doctype html) 还禁用了 IE8 的流行圆角.htc。

可以使用 CSS3 系列圆角属性添加类,但在 9 之前的 IE 版本中无法使用。

JQuery 和其他 javascript 圆角与原生 GWT js 冲突的可能性很高,因此我们放弃了这些作为可能的解决方案,尽管我个人没有对这些进行测试。

我们最终不得不使用圆角图像,以便真正兼容跨浏览器并创建一致的外观。

于 2011-02-15T19:02:41.783 回答