主題是以特定的方式來(lái)增加他們的易用性。通常,文件目錄結(jié)構(gòu)如下所示:
themename/
– 您的主題必須完全包含在一個(gè)單獨(dú)的以主題名稱(chēng)命名的文件夾內(nèi)。themename/themename.css
– 這是基本的 CSS 文件。無(wú)論使用了哪個(gè)插件,該文件都必須在每個(gè)使用主題的頁(yè)面中引用。該文件應(yīng)該是輕量級(jí)的,只包括要點(diǎn)。themename/themename.pluginname.css
– 您支持的每個(gè)插件都需要一個(gè) CSS 文件。插件的名稱(chēng)應(yīng)直接包含在文件名中。例如,如果您為 tabs(標(biāo)簽頁(yè))插件進(jìn)行主題化,則有:themename.tabs.js
。themename/img.png
– 您的主題可以包含圖像。它們可以根據(jù)您的喜好進(jìn)行命名,這里沒(méi)有特定的命名慣例。如需了解主題文件結(jié)構(gòu)是如何完成的實(shí)例,請(qǐng)?jiān)L問(wèn) jQuery UI 基本主題。
為主題編寫(xiě)樣式是非常簡(jiǎn)單的,這是因?yàn)橹黝}的靈活性。
所有的主題都應(yīng)該有一個(gè)基本的 CSS class。這個(gè)主要的 class 允許用戶(hù)啟用禁用主題。您的根 class 的格式應(yīng)該是 .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>
在上面的實(shí)例中,發(fā)生了一些重要的事情:
<div>
及其中的每個(gè)元素(包括模態(tài)對(duì)話框)都是根據(jù) othertheme 的樣式進(jìn)行主題化的。如果我們打開(kāi) themename.css
文件進(jìn)行查看,我們可以看到如下代碼:
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; }
請(qǐng)注意,themename.css
文件只包括全局通用的樣式信息,特定插件的樣式信息不在這里進(jìn)行定義。這里的樣式對(duì)所有主題都是適用的。不用擔(dān)心一個(gè)主題會(huì)占據(jù)多個(gè)文件 - 這些會(huì)在創(chuàng)建和下載的過(guò)程被簡(jiǎn)化。