Thymeleaf 教程

内联 CSS

Thymeleaf 还允许在 CSS 的 <style> 标记中使用内联 CSS,例如:

<style th:inline="css">
  ...
</style>

例如,假设我们有两个变量设置为两个不同的字符串值:

classname = 'main elems'
align = 'center'

我们可以像这样使用它们:

<style th:inline="css">
    .[[${classname}]] {
      text-align: [[${align}]];
    }
</style>

输出结果如下:

<style th:inline="css">
    .main\ elems {
      text-align: center;
    }
</style>

注意,CSS 内联表达式也具有一定的智能性,就像 JavaScript 内联表达式一样。具体来说,通过 [[${classname}]] 这样的转义表达式输出的表达式将被转义为 CSS 标识符。这就是为什么我们的 classname='main elems' 在上面的代码片段中变成了 main\ elems。

高级功能:CSS 自然模板

与之前对 JavaScript 自然模板的解释相同,CSS 内联表达式也允许我们的 <style> 标记静态和动态地工作,即作为 CSS 自然模板,通过在注释中包含CSS 内联表达式。例如:

<style th:inline="css">
    .main\ elems {
      text-align: /*[[${align}]]*/ left;
    }
</style>

注意,在静态运行 CSS 模板时,text-align 的值为 left,如果动态运行 CSS 模板,则 text-align 为 ${align} 表达式结果。

说说我的看法
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号