文件结构
主题是以特定的方式来增加他们的易用性。通常,文件目录结构如下所示:
themename/
– 您的主题必须完全包含在一个单独的以主题名称命名的文件夹内。themename/themename.css
– 这是基本的 CSS 文件。无论使用了哪个插件,该文件都必须在每个使用主题的页面中引用。该文件应该是轻量级的,只包括要点。themename/themename.pluginname.css
– 您支持的每个插件都需要一个 CSS 文件。插件的名称应直接包含在文件名中。例如,如果您为 tabs(标签页)插件进行主题化,则有:themename.tabs.js
。themename/img.png
– 您的主题可以包含图像。它们可以根据您的喜好进行命名,这里没有特定的命名惯例。
如需了解主题文件结构是如何完成的实例,请访问 jQuery UI 基本主题。
定义样式
为主题编写样式是非常简单的,这是因为主题的灵活性。
所有的主题都应该有一个基本的 CSS class。这个主要的 class 允许用户启用禁用主题。您的根 class 的格式应该是 .ui-themename
。且它在 HTML 文件中的用法如下所示:
<html> <head> <title>My Site</title> <link rel="stylesheet" href="themename/themename.css" /> <link rel="stylesheet" href="othertheme/othertheme.css" /> <link rel="stylesheet" href="othertheme/othertheme.dialog.css" /> </head> <body class="ui-themename"> <div class="ui-othertheme"> <div class="ui-dialog">This is a modal dialog.</div> </div> </body> </html>
在上面的实例中,发生了一些重要的事情:
- 我们同时向文档中加载两个主题。
- 整个页面机器所有内容,是根据 themename 的样式进行主题化的。
- 然而,带有 ui-othertheme class 的
<div>
及其中的每个元素(包括模态对话框)都是根据 othertheme 的样式进行主题化的。
如果我们打开 themename.css
文件进行查看,我们可以看到如下代码:
body.ui-themename { background:#111; color:snow; } .ui-themename a, a.ui-themename { color:#68D; outline:none; } .ui-themename a:visited, a.ui-themename:visited { color:#D66; } .ui-themename a:hover, a.ui-themename:hover { color:#FFF; }
请注意,themename.css
文件只包括全局通用的样式信息,特定插件的样式信息不在这里进行定义。这里的样式对所有主题都是适用的。不用担心一个主题会占据多个文件 - 这些会在创建和下载的过程被简化。