Template:图书排版/styles.css:修订间差异

删除的内容 添加的内容
以 heti 官方规则为底补齐版式类,并把版式改为模板参数开关({{图书排版|行间注}} 等)
以 heti 官方规则为底补齐版式类,并把版式改为模板参数开关({{图书排版|行间注}} 等)
 
(未显示同一用户的2个中间版本)
第1行:
/* ===== 字体别名栈:中正文标点黑体优先,衬线族走全角宋体(修复引号贴字) =====
方案:标点单独走宋体全角,正文走黑体优先长栈(ctext.org 逻辑)。
常用字 → 雅黑/苹方(屏幕阅读舒服)
生僻字 → SimSun-ExtB/G / Jigmo / HanaMin(古籍宋体兜底)HanaMin
========================================================== */
@font-face {
font-family: "TemplateStyles CJK Punct";
src: local("SimSun"), local("宋体"),
local("Songti SC"), local("STSong"), local("Noto Serif SC");
unicode-range: U+2000-206F, U+3000-303F;
}
 
/* ===== 字体回退栈说明(混合方案)=====
顺序:标点 → 西文无衬线 → 黑体(系统默认) → 宋体 → 扩展B/G → 古籍生僻字体兜底
- 标点跟随正文字体:2026-09 删去标点专用的 @font-face(它原先把标点强制交给宋体
- 标点被 "TemplateStyles CJK Punct" 拦截,走宋体全角(解决引号贴字)
全角,用于修复「引号贴字」);现在引号、逗号等一律用正文字体,简繁各自随其汉字字体。
- 常用字走 "PingFang SC" / "Microsoft YaHei"(黑体,屏幕阅读舒服)
- 生僻字自动往后掉:SimSun-ExtB → SimSun-ExtG → Jigmo → HanaMin
参考 ctext.org 的长栈逻辑,结合本站的标点分区方案。
(宋体栈的西文用 Georgia——与衬线中文协调;黑体栈的西文用 Verdana/Arial——与黑体协调)
========================================================== */
第22行 ⟶ 第15行:
/* 段距:2026-09 删去自身声明,交回站点默认(.mw-body p{margin:0.5em 0 1em 0})。
原先声明的 0.4em/0.5em 特异性低于 .mw-body p,实际从未生效。 */
p {
text-align:justify
}
p:not(:lang(zh)):not(:lang(ja)):not(:lang(ko)), p:not(:lang(zh)) {
text-align:start
}
h1, h2, h3, h4, h5, h6 {
position:relative;margin:0;margin-top:24px;margin-bottom:12px;font-weight:600;
color:#202122;
font-family: Verdana, Arial, Helvetica, -apple-system,
"PingFang SC", "Microsoft YaHei", "Hiragino Sans GB",
"SimSun", "SimSun-ExtB", "SimSun-ExtG",
"Jigmo3", "Jigmo2", "Jigmo", "HanaMinA", "HanaMinB",
sans-serif;
}
h2, h3, h4, h5, h6 { font-weight: bold; }
/* 标题阶梯:按正文 20px(1.25rem)重定,字号全部用 rem 相对根字号;行高统一 1.4 倍。
原阶梯 32/28/24/20/18/16px 是在正文 17px 下设的,正文放大到 20px 后 h6(16px) 会小于正文,
第55行 ⟶ 第49行:
margin-top:12px
}
.heti--serif, .heti--song, .heti--poetry {
font-family:"TemplateStyles CJK Punct", Georgia,
"SimSun", "Songti SC", "Noto Serif SC",
"PMingLiU", "PMingLiu-ExtB", "SimSun-ExtB", "SimSun-ExtG", 新細明體,
第62行 ⟶ 第56行:
serif
}
.heti--songcolumns-2 {
max-width:none;column-gap:2em;column-count:2
font-family:"TemplateStyles CJK Punct", Georgia,
"SimSun", "Songti SC", "Noto Serif SC",
"PMingLiU", "PMingLiu-ExtB", "SimSun-ExtB", "SimSun-ExtG", 新細明體,
"Jigmo3", "Jigmo2", "Jigmo", "HanaMinA", "HanaMinB",
serif
}
.heti--columns-2 p {
.heti--columns-1, .heti--columns-2, .heti--columns-3, .heti--columns-4, .heti--columns-16em, .heti--columns-20em, .heti--columns-24em, .heti--columns-28em, .heti--columns-32em, .heti--columns-36em, .heti--columns-40em, .heti--columns-44em, .heti--columns-48em {
max-width:none;column-gap:2em
}
.heti--columns-1 p, .heti--columns-2 p, .heti--columns-3 p, .heti--columns-4 p, .heti--columns-16em p, .heti--columns-20em p, .heti--columns-24em p, .heti--columns-28em p, .heti--columns-32em p, .heti--columns-36em p, .heti--columns-40em p, .heti--columns-44em p, .heti--columns-48em p {
margin-top:6px;margin-bottom:12px;text-indent:2em
}
.heti--columns-1 {
column-count:1
}
.heti--columns-2 {
column-count:2
}
.heti--columns-3 {
column-count:3
}
.heti--columns-4 {
column-count:4
}
.heti--columns-16em {
column-width:16em
}
.heti--columns-20em {
column-width:20em
}
.heti--columns-24em {
column-width:24em
}
.heti--columns-28em {
column-width:28em
}
.heti--columns-32em {
column-width:32em
}
.heti--columns-36em {
column-width:36em
}
.heti--columns-40em {
column-width:40em
}
.heti--columns-44em {
column-width:44em
}
.heti--columns-48em {
column-width:48em
}
.heti--poetry {
font-family:"TemplateStyles CJK Punct", Georgia,
"SimSun", "Songti SC", "Noto Serif SC",
"PMingLiU", "PMingLiu-ExtB", "SimSun-ExtB", "SimSun-ExtG", 新細明體,
"Jigmo3", "Jigmo2", "Jigmo", "HanaMinA", "HanaMinB",
serif
}
/* 诗词标题:2026-09 起不再用楷体(楷体版式已整体移除),改为继承容器的宋体栈,仍居中加粗。 */
第128行 ⟶ 第69行:
text-align:center;text-indent:0
}
/* .heti-em(着重号)已于 2026-09 移除:改用 {{着重}} 模板(类名 em-cjk,
样式独立在 Template:着重/styles.css),着重号因此不再依赖本样式表。
旧写法 <span class="heti-em"> 不再生效,请改用 {{着重|字}}。 */
 
/* ===== 基础正文排版(自 heti 字号阶梯)===== */
/* ===== 页面底色与文字色(站点原有)===== */
/* ===== 中文标点与中文字体别名 ===== */
/* ===== 正文与标题字体栈(引号走全角字体)===== */
h1, h2, h3, h4, h5, h6 {
font-family: "TemplateStyles CJK Punct", Verdana, Arial, Helvetica, -apple-system,
"PingFang SC", "Microsoft YaHei", "Hiragino Sans GB",
"SimSun", "SimSun-ExtB", "SimSun-ExtG",
"Jigmo3", "Jigmo2", "Jigmo", "HanaMinA", "HanaMinB",
sans-serif;
font-weight: 600;
}
h2, h3, h4, h5, h6 { font-weight: bold; }
p { text-indent: 2em; }
p:not(:lang(zh)) { text-align: start; text-indent: 0; }
 
/* ===== 正文段落(仅 p)===== */
第152行 ⟶ 第75行:
font-size: 1.25rem; /* 20px(1.25 × 根字号 16px);原为固定 17px */
line-height: 2;
text-align: justify;
overflow-wrap: break-word;
word-wrap: break-word;
第157行 ⟶ 第81行:
text-indent: 2em;
color: #202122;
font-family: "TemplateStyles CJK Punct", Verdana, Arial, Helvetica, -apple-system,
"PingFang SC", "Microsoft YaHei", "Hiragino Sans GB",
"SimSun", "SimSun-ExtB", "SimSun-ExtG",
第166行 ⟶ 第90行:
text-align: start;
text-indent: 0;
}
 
/* ===== 标题(仅 h1-h6)===== */
h1, h2, h3, h4, h5, h6 {
color: #202122;
font-family: "TemplateStyles CJK Punct", Verdana, Arial, Helvetica, -apple-system,
"PingFang SC", "Microsoft YaHei", "Hiragino Sans GB",
"SimSun", "SimSun-ExtB", "SimSun-ExtG",
"Jigmo3", "Jigmo2", "Jigmo", "HanaMinA", "HanaMinB",
sans-serif;
}
 
/* ===== 2026-09 补齐(依据 scripts/survey-heti.js --diff)==============================
参考 Wikisource SKQS 的正文行宽(下方 .heti--line-length)。
1) heti 官方有而本站缺的标点/间距类(.heti 容器类本体有意不引入,理由见 content/tushu/DESIGN.md §2);
(.heti-adjacent-* / .heti-spacing-* 间距类、.heti--columns-1/3/4 与 -16em~-48em 共 16 类,
2) 参考 Wikisource SKQS 的正文行宽。
(以及 .heti--sans、 / .heti--hei 两个黑体类,均已于 2026-09 连同「黑体」参数一并移除:158 个嵌入页零引用。)
================================================================================== */
.heti-adjacent-half {
margin-inline-end:-0.5em
}
.heti-adjacent-quarter {
margin-inline-end:-0.25em
}
.heti-spacing-start {
margin-inline-end:.25em
}
.heti-spacing-end {
margin-inline-start:.25em
}
 
/* 正文行宽 —— 参考 Wikisource SKQS 的 .skqs-body(max-width:42em + 居中);
第231行 ⟶ 第133行:
/* |诗词|双栏(分栏诗词):分栏时诗句改为左对齐。多栏每栏本就窄,居中的诗行左右参差
反而难读;标题仍继承 .heti--poetry 的居中(只针对 p,不动 h1–h6)。 */
.tushu-body .heti--poetry.heti--columns-2 p, {
.tushu-body .heti--poetry.heti--columns-3 p,
.tushu-body .heti--poetry.heti--columns-4 p {
text-align: start;
text-indent: 0;
第243行 ⟶ 第143行:
margin-top 归零,各栏即从同一基线开始;段间距改由 margin-bottom 承担。
============================================================================== */
.heti--columns-12 > *, {
.heti--columns-2 > *,
.heti--columns-3 > *,
.heti--columns-4 > * {
margin-top: 0;
}
第262行 ⟶ 第159行:
:lang(zh-hant) p,
:lang(zh-hant) h1, :lang(zh-hant) h2, :lang(zh-hant) h3, :lang(zh-hant) h4, :lang(zh-hant) h5, :lang(zh-hant) h6 {
font-family: "TemplateStyles CJK Punct", Verdana, Arial, Helvetica, -apple-system,
"PingFang TC", "Microsoft JhengHei", "Source Han Sans TC", "Noto Sans CJK TC",
"MingLiU", "PMingLiU",
第270行 ⟶ 第167行:
}
:lang(zh-hant) .heti--serif, :lang(zh-hant) .heti--song, :lang(zh-hant) .heti--poetry {
font-family: "TemplateStyles CJK Punct", Georgia,
"Songti TC", "Noto Serif TC", "Source Han Serif TC", "PMingLiU", "MingLiU",
"SimSun-ExtB", "SimSun-ExtG",