首先,每个页面都会加载以下两个css,data/cache/style_1_common.css和data/cache/style_1_forum_index.css。

先讲讲这两个文件名的命名规则:第一个是整站通用的css,所以命名为common.css,然后前面的代号是你使用了哪套风格,所以style_1_common.css表示是第一套风格的共用的css;第二个是表示forum的index页面风格,也就是论坛的首页风格。

下面讲一下那两个css是如何生成的。
首先,那两个css是程序生成的css缓存,所以你要改css的话,不能直接改那两个文件,否则一更新缓存,之前的改动就无效了。大家可以看到template对应的每套模板中,就拿自带的default模板举例吧,default模板中,带有一个common的文件夹,里面有css文件,common.css对应的就是生成缓存的style_1_common.css文件,style_1_forum_index.css对应的是module.css。

common.css没有什么特别之处,里面也有css的说明,跟普通的css差不多。
大家打开module.css,可以看到有这样的说明,

/** group::index **/
/* 群组 index 模块使用的CSS */
/** end **/

/** group::index **/开始到/** end **/结束,说明是group频道的index模块使用的CSS,也就是群组频道对应的首页模板将使用的CSS。

再举个例子,/** misc::invite,group,forum::viewthread **/开始到/** end **/结束,说明是misc频道的invite模块、group频道的全部模块和forum频道的viewthread模块使用的CSS。

ok,下面的大家可以参照这个学习一下,包括你想扩展他,都可以直接在里面直接添加就可以。

下面讲讲缓存css是如何生成的,common.css比较简单,就是直接读取,然后生成到data/cache目录下。每个频道模块独立的css,会先将module.css在data/cache下生成一个对应的风格id下的缓存的css,然后当你访问某个频道时,会生成对应频道下的css,此时,刚才介绍的那些标识就起作用了。程序会根据/** group::index **/和/** end **/这种标识,拆分出哪些频道、哪些模块该需要哪些css。

程序部分就不介绍了,程序的代码主要在source/class/class_template.php文件处理,有兴趣的同学可以深入研究一下。

最新文章

  1. Mysql5.7修改默认密码
  2. ElasticSearch配置说明
  3. zabbix_server的自动发现,实现批量添加主机,并链接到模板
  4. Java基础之创建窗口——创建应用程序窗口(TryWindow)
  5. ORA-1653: unable to extend table SYS.AUD$
  6. 如何在Linux中关闭apache服务(转)
  7. C# double float int string 与 byte数组 相互转化
  8. 一致性哈希算法原理及Java实现
  9. CSS 边框
  10. Lazy<T>延迟初始化
  11. SpringBoot实战 之 接口日志篇
  12. 收藏的博客 -- Qt/C++学习
  13. java中的常用特殊字符
  14. 通过impala更改Kudu表属性
  15. PAT (Basic Level) Practise - 换个格式输出整数
  16. Linux下的搜索查找命令的详解(find)
  17. SeaJS入门教程系列之使用SeaJS(二)
  18. log4j 文件配置
  19. [leetcode]Pow(x, n) @ Python
  20. 添加Fragment报已有父view,需先移除的错

热门文章

  1. iOS设计模式之中介者模式
  2. [android] 手机卫士设置向导页面
  3. 深入理解java虚拟机(2)------垃圾收集器和内存分配策略
  4. sql2008备份集中的数据库备份与现有的xxx数据库不同解决方法
  5. Oracle SQL Developer连接报错(ORA-12505)
  6. JavaScript Patterns 3.2 Custom Constructor Functions
  7. TFS配置过程中的错误
  8. DLL分类
  9. Windows7下安装MongoDB(转)
  10. 问题解决——ShowWindow不显示窗口