說明:模板樣式

模板樣式(TemplateStyles)是允許非管理員用戶寫入和管理模板的CSS樣式的功能。它允許編輯模板的貢獻者區分內容及外觀。這是網頁上的良好實踐,可使管理模板輸出變得容易。

模板樣式因為以下原因很有用:

  • 它使模板在流動裝置上工作更佳。
  • 它減少了在應用CSS規則的位置問題上的混亂。
  • 編輯CSS(尤其是像Mediawiki:Common.css的全域樣式表)目前只限於管理員,這是參與編輯模板主要的障礙。
  • 過往所有與模板相關的樣式都放在全域樣式表中(Mediawiki:Common.css),必須在所有頁面載入(無論其是否實際包含使用那些樣式的頁面),這浪費了頻寬,並使除錯樣式規則變得更加困難。

基本使用方法

添加<templatestyles src="[某頁面]" />到需要使用CSS樣式的頁面,然後在[某頁面]內編寫CSS語法,這樣就會載入到使用了這個<templatestyles>標籤的頁面(無論直接使用或是透過模板嵌入)。

如果要在Lua模組中載入模板樣式,則在需要使用CSS樣式輸出的文字中確認包含以下內容(frame一般為呼叫時傳入的第一個參數):

frame:callParserFunction{ name = '#tag:templatestyles', args = { '-{}-', src='[某頁面]' } }

或者

frame:extensionTag{ name = 'templatestyles', args = { src = [某頁面]} }

[某頁面]的內容模型必須是sanitized-css(已過濾的CSS),在模板命名空間、是子頁面、並且以.css結尾為標題建立的頁面皆會是sanitized-css內容模型。如果要在其他地方建立sanitized-css頁面,請找管理員協助。

僅在部份情況使用

MediaWiki在html和body標籤提供了一些類別選擇器,用來指示用戶現在的狀態,包括指示用戶正在使用哪個外觀。你可以使用這些選擇器來進行不同的樣式設置。

/* 僅在Vector外觀中使用 */
body.skin-vector .foo { color: green; }

/* 僅在用戶沒有啟用JavaScript時使用 */
html.client-nojs .foo { color: green; }

/* 僅在行動版頁面中使用 */
body.skin-minerva .foo { color: green; }

/* 在列印版本條目命名空間中隱藏 */
@media print { body.ns-0 .foo { display: none !important ; } }

現有的模板樣式

被多個模板共用的css樣式,全部放在Template:ShareCSS的子頁面。

搜尋方塊中輸入contentmodel:sanitized-css即可查詢已經建立的模板樣式。

已轉換的模板

已轉換到呼叫模板樣式的模板可在說明頁上加上{{模板樣式|某頁面}}:

之後這些模板會歸入分類:使用模板樣式的模板分類中,你可以在這個分類中找到這些模板。

維護

要將模板樣式加入到分類,使用以下語法:

/* [[Category:分類名稱]] */

外部連結

參見