XSL选择样式文本和td

时间:2019-07-02 20:52:59

标签: css xslt

我正在使用XSLT选择样式的单元格内容。出于某种原因,它同时对文本和td进行样式设置。如果再尝试用CSS为<td>重新着色,只会使其完全消失。

<td>
    <xsl:attribute name="style">
        <xsl:choose>
            <xsl:when test="@status = 'OPEN'">
                <xsl:text>color: limegreen;</xsl:text>
            </xsl:when>
            <xsl:otherwise>
                <xsl:text>color: red;</xsl:text>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:attribute>
    <xsl:value-of select="@status" />
</td>

我只希望它为value-of select上色,而不是单元格边框上的颜色。

1 个答案:

答案 0 :(得分:1)

使用上面的代码,您将为整个<td>着色。
如果您只想设置文本样式,则将其应用于<span>(或类似的东西)上,如下所示:

<td>
    <span>
        <xsl:attribute name="style">
            <xsl:choose>
                <xsl:when test="@status = 'OPEN'">
                    <xsl:text>color: limegreen;</xsl:text>
                </xsl:when>
                <xsl:otherwise>
                    <xsl:text>color: red;</xsl:text>
                </xsl:otherwise>
            </xsl:choose>
        </xsl:attribute>
        <xsl:value-of select="@status" />
    </span>
</td>

这应该只为文本加上边框颜色。