帮助:模板样式
本页为操作指南,用于介绍中文维基百科社群的一些实现和操作方式。 本文只是论述,不属于方针或指引。如果本指南与方针或指引起冲突或不一致,请以方针或指引的条文为准。 |
模板样式(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:分類名稱]] */
外部链接
参见
- Wikipedia:Lua
- Wikipedia:征求意见/模板样式:其中正在跟踪从Common.css、Mobile.css和skin.css到模板样式的转换