求聞百科:模板樣式

本页使用了标题或全文手工转换,现处于繁体转换模式
出自求聞百科

模板樣式(TemplateStyles)是允許非管理員用戶寫入和管理模板的CSS樣式的功能。本頁規範了模板樣式的使用。

規範

基本規範

  • 模板樣式頁應和特定模板或某系列模板有關,且應被特定模板或某一系列模板使用。
  • 未被任何模板或者其他頁面使用的模板樣式頁應快速刪除
  • 樣式必須只會影響到關聯模板或與此模板有關的其他元素的輸出。如果添加模板到頁面影響不相關部分的顯示樣式,可能會導致頁面顯示混亂。允許通過模板樣式引入與頁面其他部分不衝突的類,並在頁面內的適當位置使用具有此類的元素,但這種情況應當謹慎。

命名規範

  • 模板樣式頁應置於特定模板的子頁面,並以stylestyle-功能命名。
    • 例如應使用Template:MyTemplate/styles.cssTemplate:MyTemplate/styles-foo.css而不是Template:Styles.cssTemplate:Foo.css,以這方便辨識及編輯樣式頁。
  • 如需要單獨的模板樣式頁(例如共享的CSS)而不作為特定模板的子頁面,需先取得共識,例如Template:Hello.css
  • 可能廣泛應用到所有模板的模板樣式應置於Template:ShareCSS的子頁面。
  • 進行模板樣式測試的沙盒應置於子頁面,如Template:Foo/sandbox.css

內容規範

  • CSS中定義的類應以模板名稱或者能描述該模板名稱的詞語作為前綴。
    • 例如,不應使用.row,應使用.myTemplate-row
    • tr應使用.myTemplate tr來定義規則。
    • 說明:模板名稱基本上不會重複,以關聯模板名稱作為前綴命名可以避免引用到條目時有CSS規則名稱衝突問題。
  • 樣式頁使用的選擇器和類別名稱應唯一,並以ASCII字元為主,避免使用中文。
  • 如需對body等外部元素進行選擇,需明確指明body,如body.skin-gongbi .myTemplate-specific而非.skin-gongbi .myTemplate-specific,以免被TemplateStyles插件過濾。
  • 模板樣式使用的圖片(background-imageborder-image等)只能使用無需署名的圖片(例如公有領域),不能使用合理使用的圖片,即便用於條目時有符合合理使用也不能。內嵌圖片如linear-gradient不在此限。
    • 說明:一般使用圖片的情況下,能夠點擊圖片連到檔案說明頁查看姓名標示或版權協議。但使用在背景的圖片將無法這麼做。
  • 不建議使用!important。使用!important將導致用戶自訂CSS難以甚至無法覆蓋模板樣式。
  • 不建議使用ID。HTML ID應該在頁面上唯一,但模板通常不會在一個頁面只被引用一次,即使是單一用途的模板也可能有無法預期的使用方式,因此推薦使用類別而不是ID來作為樣式選擇器。

其他規範

  • 移動模板時也應移動相應的模板樣式頁,
    • 例如Template:1移動到Template:2那麼若有Template:1/2.css也要移動到Template:2/2.css
  • 樣式頁的保護層級應該和模板一致。
    • 說明:如果模板是高風險模板,那麼樣式頁也會是高風險的。
      • 如果模板不是高風險模板而沒有被保護,那麼破壞模板本身就能夠造成混亂。
      • 如果樣式頁的保護層級比模板高,因為模板頁能夠編輯,將會促使編輯者於在模板頁添加行內樣式。
  • 禁止在簽名中加入任何模板樣式。
    • 說明:當在簽名中使用模板樣式時,當模板樣式變更時可能會改變之前或已存檔的簽名。