有时候很多css文件是公共的,我们必须要在每个html文件中引入它们,其实我们可以利用Thymeleaf的模板布局,把这些css文件抽出来,同时如果有某个html文件专属的css文件,还可在引入模板的基础上单独引入该css文件。

首先,建立一个公共文件layout.html

 <!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head th:fragment="common_head(title,links)">
<meta charset="UTF-8">
<title th:replace="${title}">CSDN博客</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
<link rel="shortcut icon" th:href="@{/resources/images/logo_ico_16.ico}" />
<link rel="stylesheet" th:href="@{/resources/css/index.css}"/>
<link rel="stylesheet" th:href="@{/resources/iconfont/iconfont.css}">
<link rel="stylesheet" th:href="@{/resources/css/common.css}"/>
<th:block th:replace="${links}" />
</head>
<body> </body>
</html>

  上面的“<head th:fragment="common_head(title,links)">”即为定义好的css模板,其中title和links为两个动态传入的变量,而th:block会在links值为空时自动隐藏,这样就可以实现除了css模板中的css文件之外,需要再单独引入css和不需要引入单独css两种情况。使用方法如下:

一、需要单独引入css

在实际的html文件中加入:

<head th:replace="layout :: common_head(~{::title},~{::link})">
<title>测试公共css引入</title>
<link rel="stylesheet" th:href="@{/resources/css/detail.css}"/>
<link rel="stylesheet" th:href="@{/resources/css/profile.css}"/>
</head>

其中的title会自动将css模板中的title替换,而里面的多个link标签(只有一个link标签也可)也会替换th:block标签

二、不需要单独引入css

在实际的html文件中加入:

<head th:replace="layout :: common_head(~{::title},~{})">
<title>测试公共css引入</title>
</head>

这种情况其实就是将传入的第二个变量置为空

但是这两种情况title都是必须的

thymeleaf引入公共css、js的更多相关文章

  1. vue 引入公共css文件

    1.在入口js文件main.js中引入,一些公共的样式文件,可以在这里引入. import Vue from 'vue'import App from './App' // 引入App这个组件impo ...

  2. Thymeleaf引入公共片段方式

    引入公共片段 引入公共片段的th属性,包括三种方式 th:insert 将公共片段,整个插入到声明引入的元素中 th:replace 将声明引入的元素,替换为公共片段 th:include 将被引入的 ...

  3. Thymeleaf 公共css,js提取及自有css,js导入

    https://www.jianshu.com/p/2102fa4772ba

  4. JQMobile引入外部CSS,JS文件

    使用CDN <!DOCTYPE html> <html> <head> <title>html5</title> <meta name ...

  5. thymeleaf 引入公共html注意事项

    详细连接https://blog.csdn.net/u010260737/article/details/83616998 每个页面都会用到分页.html或者头部.html.尾部.html,在其他页面 ...

  6. 关于idea easyui 引入css js

    1.引用官方网站 <link rel="stylesheet" type="text/css" href="http://www.w3cscho ...

  7. vue 引入通用 css

    1.在入口 js 文件 main.js 中引入,一些公共的样式文件,可以在这里引入. import Vue from 'vue' import App from './App' // 引入App这个组 ...

  8. Spring Boot thymeleaf模版支持,css,js等静态文件添加

    Thymeleaf引入 Thymeleaf是一个Java模板引擎开发库,可以处理和生成HTML.XML.JavaScript.CSS和文本,在Web和非Web环境下都可以正常工作. 1.添加依赖包 & ...

  9. WordPress引入css/js两种方法

    WordPress引入css/js 是我们制作主题时首先面对的一个难点,任何一款主题都要加载自己的css,js,甚至很有可能还需要加载Jquery文件,网上方法特多,说法不一,我们今天借鉴wordpr ...

随机推荐

  1. lnmp 是不是该吐吐槽

    lnmp 提供提供了便捷 , 并且手也伸的挺长的,它已不仅仅是个服务器环境那么简单 作为服务器继承环境来讲,可能每个人的认知程度不一,总之用了它需要服从它的规则 但从个人感觉上,其埋的坑还是让人不适, ...

  2. todo----mysql常用语句总结补充完成

    todo----mysql常用语句总结补充完成

  3. nginx 二级目录高级写法

    nginx二级目录高级配置: location ~ .*\.(html)$ { expires 1m; error_page 404 = /test/index.html; access_log /d ...

  4. Python的json操作

    对数据:    json = json.dumps(data)  编码  dict->string  排序sort_keys=True, 缩进indent=4, 分隔符separators=(' ...

  5. PowerBuilder学习笔记之根据新PBL文件替换pbd文件的方法

    在程序目录上右键,选择Build Runtime Library 在Build Runtime Library 页面点击OK,注意,会将全部的文件重新编译

  6. php反转输出字符串(两种方法)

    //第一种方法 function fz($a){ echo strrev($a); } fz('adfjdlks'); echo '<br />';   //第二种方法 function ...

  7. logback日志无法按日期分割的问题

    发现在线上的时候,日志无法按日期分割的问题,所有日志都在第一天部署的那个日期的文件里面. 背景是Springboot + logback 原因是: 之前是: 用timeBaseRollingPolic ...

  8. navigator(浏览器对象)Screen对象(屏幕)

    浅谈navigator对象: 注意:不是所有浏览器都支持 .cookieEnabled  判断是否启用了cookie  在客户端硬盘持久保存用户私密数据的小文件 .plugins 浏览器安装的所有插件 ...

  9. ReactNative使用 react-navigation 详解

    react-navigation是官方主推的导航组件,致力于解决导航卡顿,数据传递,Tabbar和navigator布局,支持redux. 最新版本为3.x,大多文档介绍的是 1.x 或 2.x 的用 ...

  10. pycharm git 用法总结

    一.配置git 二.登录GitHub账号 三.创建git respository 四.提交文件 五.共享给GitHub 六.修改文件push到版本库 七.从版本库checkout 项目