jQuery UI 設計主題
檔結構
主題是以特定的方式來增加他們的易用性。通常,檔目錄結構如下所示:
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
檔只包括全局通用的樣式資訊,特定插件的樣式資訊不在這裏進行定義。這裏的樣式對所有主題都是適用的。不用擔心一個主題會佔據多個檔 - 這些會在創建和下載的過程被簡化。