首页 > 解决方案 > 在外部 CSS 样式表中使用 XSLT 变量

问题描述

我有一个名为的文件general.xsl,其中包含

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" version="2.0">

<xsl:variable name="p-size" select="'20'" ></xsl:variable>
<xsl:variable name="main-title-size" select="'36'" ></xsl:variable>
<xsl:variable name="list-item-size" select="'22'" ></xsl:variable>

</xsl:stylesheet>

然后我有html.xsl文件,其中包括我的外部ppt.css文件,还包含例如段落模板:

<link rel="stylesheet" type="text/css" href="ppt.css"/>
.. some code...
<xsl:template name="p" match="p">
    <p>
        <xsl:value-of select="current()"/>
    </p>
</xsl:template>

现在,在我ppt.css想使用变量font-colorp-size来自general.xsl文件(让我们说general.xsl,我已经定义了所有需要的变量),但它不能这样工作:

p{
    color:{$font-color};
    font-size:{$p-size}px;
}

需要改变什么?

标签: htmlcssxmlxslt

解决方案


如果你想在 CSS 文件中使用变量,你应该看看像Sass这样的CSS 预处理器

使用这种工具,您可以维护“动态 CSS 模板”并从中生成静态 CSS 文件。

然后,您可以简单地将静态样式名称分配给 XSL 代码中的元素。


推荐阅读