Qiuwen:模板样式:修订间差异

求闻百科,共笔求闻
添加的内容 删除的内容
无编辑摘要
($section (Edit via IPE))
 

(未显示2个用户的7个中间版本)

第2行: 第2行:
| G1 = IT
| G1 = IT
}}
}}
{{Guideline|=Editing|QW:TLCSSG}}
{{About|模板樣式相关指引|模板樣式的使用方法|幫助:模板樣式}}
{{About|模板樣式相关指引|模板樣式的使用方法|幫助:模板樣式}}
{{rule draft|=Style|QW:TLCSSG}}


'''模板样式'''(TemplateStyles)是允许非管理员用户写入和管理模板的CSS样式的功能。
'''模板样式'''(TemplateStyles)是允许非管理员用户写入和管理模板的CSS样式的功能。本页规范了模板样式的使用


== 規範 ==
== 規範 ==
=== 基本規範 ===
=== 基本規範 ===
{{Anchor|基本規範|GENERAL}}
{{Anchor|基本規範|GENERAL}}
{{shortcut|QW:TLCSS#GENERAL}}
{{Policy shortcut|QW:TLCSS#GENERAL}}
#模板樣式頁應和特定模板或某系列模板有關,且應被特定模板或某一系列模板
* 模板樣式頁應和特定模板或某系列模板有關,且應被特定模板或某一系列模板使
#孤立的模板樣式頁應[[QW:CSD|快速刪除]]
* 未被任何模板或者其他页面使用的模板樣式頁應[[QW:CSD|快速刪除]]
* 樣式必須只會影響到關聯模板或与此模板有关的其他元素的輸出。如果添加模板到頁面影響不相關部分的顯示樣式,可能会導致頁面顯示混亂。允许通过模板样式引入与页面其他部分不冲突的类,并在页面内的适当位置使用具有此类的元素,但这种情况应当谨慎。
# 樣式必須只會影響到關聯模板的輸出。
#* 說明:如果添加模板到頁面時,卻會影響不相關部分的顯示樣式,這將導致頁面顯示混亂。


=== 命名規範 ===
=== 命名規範 ===
{{Anchor|命名規範|NAMING}}
{{Anchor|命名規範|NAMING}}
{{shortcut|QW:TLCSS#NAMING}}
{{Policy shortcut|QW:TLCSS#NAMING}}
#模板樣式頁應置於特定模板的子頁面,並以<code>style</code>或<code>style-功能</code>命名
* 模板樣式頁應置於特定模板的子頁面,並以<code>style</code>或<code>style-功能-{}-</code>命名
#*例如應使用<code>Template:MyTemplate/styles.css</code>或<code>Template:MyTemplate/styles-foo.css</code>而不是<code>Template:Styles.css</code>或<code>Template:Foo.css</code>
** 例如應使用<code>Template:MyTemplate/styles.css</code>或<code>Template:MyTemplate/styles-foo.css</code>而不是<code>Template:Styles.css</code>或<code>Template:Foo.css</code>,以這方便辨識及編輯樣式頁。
* 如需要單獨的模板樣式頁(例如共享的CSS)而不作为特定模板的子页面,需先取得共識,例如<code>Template:Hello.css</code>
#* 說明:這方便於辨識及編輯樣式頁。
* 可能廣泛應用到所有模板的模板樣式應置於[[Template:ShareCSS]]的子頁面
#如需要單獨的模板樣式頁需先取得共識,並由管理員建立,例如<code>Template:Hello.css</code>
* 进行模板样式测试的沙盒應置於子頁面,如<code>Template:Foo/sandbox.css</code>。
#*說明:例如共享的CSS
#可能廣泛應用到所有模板的模板樣式應置於[[Template:ShareCSS]]的子頁面
#进行模板样式测试的沙盒應置於子頁面,如<code>Template:Foo/sandbox.css</code>。


=== 內容規範 ===
=== 內容規範 ===
{{Anchor|內容規範|CODING}}
{{Anchor|內容規範|CODING}}
{{shortcut|QW:TLCSS#CODING}}
{{Policy shortcut|QW:TLCSS#CODING}}
#CSS中定義的規則或類別應以關聯模板名稱作為前綴命名
* CSS中定義的應以模板名稱或者能描述该模板名称的词语作為前綴
#*例如<code>.row</code>的樣式規則在模板樣式頁中應使用<code>.myTemplate-row</code>;同理<code>tr</code>應使用<code>.myTemplate tr</code>來定義規則。
** 例如,不应使用<code>.row</code>應使用<code>.myTemplate-row</code>;
** <code>tr</code>應使用<code>.myTemplate tr</code>來定義規則。
#*說明:模板名稱基本上不會重複,以關聯模板名稱作為前綴命名可以避免引用到條目時有CSS規則名稱衝突問題
** 說明:模板名稱基本上不會重複,以關聯模板名稱作為前綴命名可以避免引用到條目時有CSS規則名稱衝突問題
#樣式頁使用的[[层叠样式表#選擇器|選擇器]]和類別名稱應該是唯一,並以使用[[ASCII]]字元為主,避免使用中文。
* 樣式頁使用的[[层叠样式表#選擇器|選擇器]]和類別名稱應唯一,並以[[ASCII]]字元為主,避免使用中文。
#*如需使用中文(如模板名稱有中文)應使用漢語拼音拼出其音作為名稱
* 如需对<code>body</code>等外部元素进行选择,需明确指明<code>body</code>,如<code>body.skin-gongbi .myTemplate-specific</code>而非<code>.skin-gongbi .myTemplate-specific</code>,以免被TemplateStyles插件过滤。
#*說明:這減少了CSS規則發生衝突的可能性。
#背景圖片只能使用無需[[署名权|署名]]的圖片(例如公有領域),不能使用合理使用的圖片,即便用於條目時有符合合理使用也不能。
* 模板样式使用的图(<code>background-image</code>、<code>border-image</code>等)只能使用無需[[署名权|署名]]的圖片(例如公有領域),不能使用合理使用的圖片,即便用於條目時有符合合理使用也不能。内嵌图片如<code>linear-gradient</code>不在此限
#*說明:一般使用圖片的情況下,能夠點擊圖片連到檔案說明頁查看姓名標示或版權協議。但使用在背景的圖片將無法這麼做。
** 說明:一般使用圖片的情況下,能夠點擊圖片連到檔案說明頁查看姓名標示或版權協議。但使用在背景的圖片將無法這麼做。
#不建議使用<code>!important</code>。
* 不建議使用<code>!important</code>。使用<code>!important</code>將導致用戶自訂CSS難以甚至無法覆蓋模板樣式
* 不建議使用ID。HTML ID應該在頁面上唯一,但模板通常不會在一個頁面只被引用一次,即使是單一用途的模板也可能有無法預期的使用方式,因此推薦使用類別而不是ID來作為樣式選擇器。
#*說明:使用!important將導致用戶自訂CSS難以甚至無法覆蓋模板樣式。
#不建議使用<code>#id-styles</code>。
#*說明:HTML ID應該在頁面上唯一,但模板通常不會在一個頁面只被引用一次,即使是單一用途的模板也可能有無法預期的使用方式,因此推薦使用類別而不是ID來作為樣式選擇器。


=== 其他規範 ===
=== 其他規範 ===
{{Anchor|其他規範|OTHER}}
{{Anchor|其他規範|OTHER}}
{{shortcut|QW:TLCSS#OTHER}}
{{Policy shortcut|QW:TLCSS#OTHER}}
#主頁面時也應移動相應的模板樣式頁,
* 动模板時也應移動相應的模板樣式頁,
#* 例如<code>Template:1</code>移動到<code>Template:2</code>那麼若有<code>Template:1/2.css</code>也要移動到<code>Template:2/2.css</code>
** 例如<code>Template:1</code>移動到<code>Template:2</code>那麼若有<code>Template:1/2.css</code>也要移動到<code>Template:2/2.css</code>
# 樣式頁的保護層級應該和模板一致。
* 樣式頁的保護層級應該和模板一致。
#* 說明:如果模板是高風險模板,那麼樣式頁也會是高風險的。
** 說明:如果模板是高風險模板,那麼樣式頁也會是高風險的。
#*:: 如果模板不是高風險模板而沒有被保護,那麼破壞模板本身就能夠造成混亂。
*** 如果模板不是高風險模板而沒有被保護,那麼破壞模板本身就能夠造成混亂。
#*:: 如果樣式頁的保護層級比模板高,因為模板頁能夠編輯,將會促使編輯者於在模板頁添加行內樣式。
*** 如果樣式頁的保護層級比模板高,因為模板頁能夠編輯,將會促使編輯者於在模板頁添加行內樣式。
#禁止在簽名中加入任何模板樣式
* 禁止在簽名中加入任何模板樣式
#*說明:當在簽名中使用模板樣式時,當模板樣式變更時可能會改變之前或已存檔的簽名
** 說明:當在簽名中使用模板樣式時,當模板樣式變更時可能會改變之前或已存檔的簽名
{{-}}

{{rules}}
{{方针列表}}