将条件css样式表添加到xpage

时间:2012-06-06 02:18:33

标签: css xpages

是否可以将条件样式表添加到xpage。

在html中完成这样的事情:

<!--[if lt IE 8]><link rel="stylesheet" href="../../blueprint/ie.css" type="text/css" media="screen, projection"><![endif]-->

虽然将计算字段集添加到HTML和代码javascript如:

return '<!--[if lt IE 8]><link rel=\"stylesheet\" href=\"../../blueprint/ie.css\" type=\"text/css\" media=\"screen, projection\"><![endif]-->'

但是它会被包含在页面主体中,而不是包含在其他样式表中的标题。

需要使用http://blueprintcss.org将概念证明放在一起。

2 个答案:

答案 0 :(得分:5)

您可以将呈现的属性与SSJS一起使用,以仅显示IE的元素:

rendered =“#{javascript:context.getUserAgent()。isIE()}”

如果使用Internet Explorer打开XPage,那么您的CSS资源只会添加到生成的HTML响应中。

修改
在您的情况下,这应该符合您的要求:

<xp:this.resources>
   <xp:styleSheet href="../../blueprint/ie.css"
      rendered="#{javascript:context.getUserAgent().isIE(0,7)}"
      media="screen, projection">
   </xp:styleSheet>
</xp:this.resources>

答案 1 :(得分:5)

Xpage主题对此非常有用。注释安装中包含一个示例。

转到C:\ Notes目录 \ xsp \ nsf \ themes

制作webStandard.theme的副本,重命名为webStandard。 xml 并在您选择的编辑器中打开,这将向您展示主题可以执行的操作的大量示例。应用属性,添加资源,通过表达式计算这些等。

段:

    <resource rendered="#{javascript:context.isDirectionRTL()}">
        <content-type>text/css</content-type>
        <href>/.ibmxspres/global/theme/webstandard/xspRTL.css</href>
    </resource>

    <!-- IE Specific -->
    <resource rendered="#{javascript:context.getUserAgent().isIE(0,6)}">
        <content-type>text/css</content-type>
        <href>/.ibmxspres/global/theme/webstandard/xspIE06.css</href>
    </resource>
    <resource rendered="#{javascript:context.getUserAgent().isIE(7,8)}">
        <content-type>text/css</content-type>
        <href>/.ibmxspres/global/theme/webstandard/xspIE78.css</href>
    </resource>