跳转到内容

MediaWiki:Gadget-HanSect.css:修订间差异

勤求古训,博采众方
删除的内容 添加的内容
无编辑摘要
鹿野耕云移动页面MediaWiki:Gadget-hantsect.cssMediaWiki:Gadget-HanSect.css,不留重定向
 
(未显示2个用户的3个中间版本)
第1行: 第1行:
/**
/* ================================================
* SPDX-License-Identifier: CC-BY-SA-4.0
MediaWiki 段落首行缩进样式(适配 1.43+)
* _addText: '{{Gadget Header|license=CC-BY-SA-4.0}}'
优化版本 - 更高效、更易维护
*
================================================ */
* @base {@link https://zh.wikipedia.org/wiki/MediaWiki:Gadget-hantsect.css}
* @source {@link https://git.qiuwen.net.cn/InterfaceAdmin/QiuwenGadgets/src/branch/master/src/HanSect}
* @license CC-BY-SA-4.0 {@link https://www.qiuwenbaike.cn/wiki/H:CC-BY-SA-4.0}
*/
/**
* +------------------------------------------------------------+
* | === WARNING: GLOBAL GADGET FILE === |
* +------------------------------------------------------------+
* | All changes should be made in the repository, |
* | otherwise they will be lost. |
* +------------------------------------------------------------+
* | Changes to this page may affect many users. |
* | Please discuss changes by opening an issue before editing. |
* +------------------------------------------------------------+
*/
/* <nowiki> */


/* src/HanSect/HanSect.less */
/* CSS 自定义属性定义 - 限定在最小必要范围内避免冲突 */
body.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .ve-ui-surface-source .mw-parser-output > p,
body.ns-subject #mw-content-text,
body.skin-citizen.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .ve-ui-surface-source .mw-parser-output > section > p {
body.ns-subject #wikiPreview {
--text-indent-paragraph: 2em;
text-indent: inherit !important;
line-height: inherit !important;
--text-indent-paragraph-mobile: 1.5em;
}
}
body.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > p,

body.skin-citizen.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > section > p,
/* ================================================
.hansect > p {
1. 主内容区段落缩进 - 统一选择器
text-indent: 2em;
================================================ */
line-height: 1.75;

/* 主内容区段落缩进 */
/*! 重要性能说明:此选择器影响约85%的内容段落,已优化层级 */
/* 使用:is()简化选择器链,提升代码简洁性和可维护性 */
body.ns-subject :is(#mw-content-text, #wikiPreview).mw-content-ltr .mw-parser-output > p {
text-indent: var(--text-indent-paragraph);
}
}
body.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > p > *,

body.skin-citizen.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > section > p > *,
/* 取消段落内部元素的缩进 */
.hansect > p > * {
body.ns-subject :is(#mw-content-text, #wikiPreview).mw-content-ltr .mw-parser-output > p * {
text-indent: 0;
text-indent: 0;
}
}
body.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > ul,

body.skin-citizen.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > section > ul,
/* ================================================
.hansect > ul,
2. 特定模块缩进规则
body.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > ol,
================================================ */
body.skin-citizen.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > section > ol,

.hansect > ol {
/* mp-2012 模块内的段落缩进 */
margin-left: 3em;
#mp-2012 .knoblock p {
text-indent: var(--text-indent-paragraph);
}
}
body.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > ul > *:not(ul):not(ol):not(li),

body.skin-citizen.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > section > ul > *:not(ul):not(ol):not(li),
/* 讨论工具回复框取消缩进 */
.hansect > ul > *:not(ul):not(ol):not(li),
.ext-discussiontools-ui-replyWidget .mw-parser-output > p {
body.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > ol > *:not(ul):not(ol):not(li),
text-indent: 0;
body.skin-citizen.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > section > ol > *:not(ul):not(ol):not(li),
/* 使用更具体的选择器避免 !important,如需要可取消注释下一行 */
.hansect > ol > *:not(ul):not(ol):not(li) {
/* text-indent: 0 !important; */
margin-left: 0;
}
}
body.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output ul > li > ul,

body.skin-citizen.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > section ul > li > ul,
/* ================================================
.hansect ul > li > ul,
3. Template:Excerpt 模板缩进规则
body.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output ol > li > ul,
================================================ */
body.skin-citizen.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > section ol > li > ul,

.hansect ol > li > ul,
/* Excerpt 模板段落缩进 */
body.ns-subject :is(#mw-content-text, #wikiPreview).mw-content-ltr .mw-parser-output > .excerpt-block > .excerpt > p {
body.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output ul > li > ol,
body.skin-citizen.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > section ul > li > ol,
text-indent: var(--text-indent-paragraph);
.hansect ul > li > ol,
body.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output ol > li > ol,
body.skin-citizen.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > section ol > li > ol,
.hansect ol > li > ol {
margin-left: 1em;
}
}
body.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > ul,

body.skin-citizen.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > section > ul,
/* 取消 Excerpt 模板段落内部元素的缩进 */
.hansect > ul,
body.ns-subject :is(#mw-content-text, #wikiPreview).mw-content-ltr .mw-parser-output > .excerpt-block > .excerpt > p * {
body.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > ol,
text-indent: 0;
body.skin-citizen.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > section > ol,
.hansect > ol {
line-height: 1.75;
}
}
.mw-templatedata-doc-wrap p.mw-templatedata-doc-desc > p {

text-indent: 2em;
/* ================================================
line-height: 1.75;
4. 响应式设计和移动端优化
================================================ */

@media (max-width: 768px) {
/* 移动端减少缩进量 */
body.ns-subject :is(#mw-content-text, #wikiPreview).mw-content-ltr .mw-parser-output > p,
#mp-2012 .knoblock p,
body.ns-subject :is(#mw-content-text, #wikiPreview).mw-content-ltr .mw-parser-output > .excerpt-block > .excerpt > p {
text-indent: var(--text-indent-paragraph-mobile);
}
}
}
.mw-templatedata-doc-wrap p.mw-templatedata-doc-desc > p > * {

text-indent: 0;
/* ================================================
5. 浏览器兼容性处理
================================================ */

/* 为不支持 CSS 变量的旧浏览器提供回退 */
body.ns-subject :is(#mw-content-text, #wikiPreview).mw-content-ltr .mw-parser-output > p {
text-indent: 2em; /* 回退值 */
text-indent: var(--text-indent-paragraph); /* 现代浏览器使用变量 */
}
}


/* </nowiki> */
/* ================================================
6. 性能优化和特殊情况处理
================================================ */

/* 避免对表格、列表等特殊元素应用缩进 */
.mw-parser-output table p,
.mw-parser-output ul p,
.mw-parser-output ol p,
.mw-parser-output dl p {
text-indent: 0;
/* 使用更具体的选择器避免 !important,如需要可取消注释下一行 */
/* text-indent: 0 !important; */
}

/* 首段缩进控制(可根据需要启用) */
/*
.mw-parser-output > p:first-of-type {
text-indent: 0; 取消注释启用首段不缩进
}
*/

/* 空段落不应用缩进 */
.mw-parser-output > p:empty {
text-indent: 0;
}

/* ================================================
7. 打印样式优化
================================================ */

@media print {
/* 打印时使用稍小的缩进并优化排版 */
body.ns-subject :is(#mw-content-text, #wikiPreview).mw-content-ltr .mw-parser-output > p,
body.ns-subject :is(#mw-content-text, #wikiPreview).mw-content-ltr .mw-parser-output > .excerpt-block > .excerpt > p,
#mp-2012 .knoblock p {
text-indent: 1.8em; /* 打印时使用稍小的缩进 */
orphans: 3; /* 避免段落断行 */
widows: 3;
}
}

2026年6月14日 (日) 20:10的最新版本

/**
 * SPDX-License-Identifier: CC-BY-SA-4.0
 * _addText: '{{Gadget Header|license=CC-BY-SA-4.0}}'
 *
 * @base {@link https://zh.wikipedia.org/wiki/MediaWiki:Gadget-hantsect.css}
 * @source {@link https://git.qiuwen.net.cn/InterfaceAdmin/QiuwenGadgets/src/branch/master/src/HanSect}
 * @license CC-BY-SA-4.0 {@link https://www.qiuwenbaike.cn/wiki/H:CC-BY-SA-4.0}
 */
/**
 * +------------------------------------------------------------+
 * |            === WARNING: GLOBAL GADGET FILE ===             |
 * +------------------------------------------------------------+
 * |       All changes should be made in the repository,        |
 * |                otherwise they will be lost.                |
 * +------------------------------------------------------------+
 * |        Changes to this page may affect many users.         |
 * | Please discuss changes by opening an issue before editing. |
 * +------------------------------------------------------------+
 */
/* <nowiki> */

/* src/HanSect/HanSect.less */
body.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .ve-ui-surface-source .mw-parser-output > p,
body.skin-citizen.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .ve-ui-surface-source .mw-parser-output > section > p {
  text-indent: inherit !important;
  line-height: inherit !important;
}
body.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > p,
body.skin-citizen.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > section > p,
.hansect > p {
  text-indent: 2em;
  line-height: 1.75;
}
body.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > p > *,
body.skin-citizen.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > section > p > *,
.hansect > p > * {
  text-indent: 0;
}
body.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > ul,
body.skin-citizen.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > section > ul,
.hansect > ul,
body.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > ol,
body.skin-citizen.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > section > ol,
.hansect > ol {
  margin-left: 3em;
}
body.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > ul > *:not(ul):not(ol):not(li),
body.skin-citizen.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > section > ul > *:not(ul):not(ol):not(li),
.hansect > ul > *:not(ul):not(ol):not(li),
body.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > ol > *:not(ul):not(ol):not(li),
body.skin-citizen.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > section > ol > *:not(ul):not(ol):not(li),
.hansect > ol > *:not(ul):not(ol):not(li) {
  margin-left: 0;
}
body.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output ul > li > ul,
body.skin-citizen.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > section ul > li > ul,
.hansect ul > li > ul,
body.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output ol > li > ul,
body.skin-citizen.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > section ol > li > ul,
.hansect ol > li > ul,
body.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output ul > li > ol,
body.skin-citizen.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > section ul > li > ol,
.hansect ul > li > ol,
body.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output ol > li > ol,
body.skin-citizen.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > section ol > li > ol,
.hansect ol > li > ol {
  margin-left: 1em;
}
body.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > ul,
body.skin-citizen.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > section > ul,
.hansect > ul,
body.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > ol,
body.skin-citizen.ns-subject:not(.ext-discussiontools-replytool-enabled):not(.ext-discussiontools-newtopictool-enabled) .mw-parser-output > section > ol,
.hansect > ol {
  line-height: 1.75;
}
.mw-templatedata-doc-wrap p.mw-templatedata-doc-desc > p {
  text-indent: 2em;
  line-height: 1.75;
}
.mw-templatedata-doc-wrap p.mw-templatedata-doc-desc > p > * {
  text-indent: 0;
}

/* </nowiki> */