123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856 |
- <!doctype html>
- <html lang="zh">
- <head>
- <meta charset="UTF-8">
- <meta content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" name="viewport">
- <meta content="ie=edge" http-equiv="X-UA-Compatible">
- <title>博客文章详情</title>
- <link href="icon.png" rel="icon">
- <link href="lib/fontawesome-free/css/all.css" rel="stylesheet">
- <link href="lib/bootstrap/css/bootstrap.css" rel="stylesheet">
- <link href="lib/animate/animate.css" rel="stylesheet">
- <link href="lib/aos/aos.css" rel="stylesheet">
- <link href="lib/fancybox/jquery.fancybox.css" rel="stylesheet">
- <link href="lib/swiper/swiper-bundle.css" rel="stylesheet">
- <link href="styles/typo.css" rel="stylesheet">
- <link href="lib/prism/prism.css" rel="stylesheet">
- <link href="styles/main.css" rel="stylesheet">
- </head>
- <body class="blog-body">
- <!-- 导航栏 -->
- <nav class="navbar navbar-expand-md fixed-top bg-transparent has-img">
- <div class="container-fluid">
- <!-- 导航切换 -->
- <button aria-controls="offcanvasSideNavbar" class="nav-toggle d-md-none" data-bs-toggle="offcanvas" href="#offcanvasSideNavbar" role="button">
- <i class="fa-solid fa-sliders"></i>
- </button>
- <!-- 侧边导航 -->
- <div aria-labelledby="offcanvasSideNavbar" class="offcanvas offcanvas-start" id="offcanvasSideNavbar">
- <div class="offcanvas-header">
- <h5>风尘落微雨</h5>
- </div>
- <div class="offcanvas-body">
- <section class="d-md-none d-block sidebar-author position-relative">
- <div class="sidebar-banner border-0"></div>
- <div class="text-center">
- <img alt="" class="sidebar-avatar" src="images/acg.jpg">
- </div>
- <h2 class="fw-bold mt-5 fs-4 text-center">风尘落微雨</h2>
- <div class="sidebar-sign w-100">零星的变好,最后也会和星河一样闪耀</div>
- <div class="border-top">
- <table class="text-center my-2 w-100">
- <tbody>
- <tr class="fs-6 w-100">
- <th>文章</th>
- <th>评论</th>
- <th>标签</th>
- </tr>
- <tr>
- <td>45</td>
- <td>97</td>
- <td>44</td>
- </tr>
- </tbody>
- </table>
- </div>
- </section>
- <ul class="navbar-nav justify-content-start flex-grow-1 px-4 pt-4 px-md-0 pt-md-0 pe-md-3">
- <li class="nav-item"><a class="nav-link text-nowrap" href="index.html" target="_self">日常</a></li>
- <li class="nav-item"><a class="nav-link text-nowrap" href="say-something.html" target="_self">说说</a></li>
- <li class="nav-item"><a class="nav-link text-nowrap" href="pigeonhole.html" target="_self">归档</a></li>
- <li class="nav-item"><a class="nav-link text-nowrap" href="comments.html" target="_self">留言板</a></li>
- <li class="nav-item"><a class="nav-link text-nowrap" href="friendship-links.html" target="_self">友链</a></li>
- </ul>
- </div>
- </div>
- <!-- 搜索框 -->
- <button class="nav-search-button" data-bs-target="#searchModal" data-bs-toggle="modal">
- <i class="fa-solid fa-magnifying-glass"></i>
- </button>
- </div>
- </nav>
- <!-- 搜索框 -->
- <div class="search-modal modal" id="searchModal">
- <div class="modal-dialog">
- <div class="modal-content">
- <!-- 模态框头部 -->
- <div class="modal-header">
- <h4 class="modal-title">搜索文章</h4>
- <button class="btn-close" data-bs-dismiss="modal" type="button"></button>
- </div>
- <!-- 模态框内容 -->
- <div class="modal-body">
- <div class="search-form">
- <input class="form-control" placeholder="输入搜索关键词..." type="text">
- <button class="btn btn-primary mt-2">搜索</button>
- </div>
- </div>
- <!-- 模态框底部 -->
- <div class="modal-footer">
- <button class="btn btn-secondary" data-bs-dismiss="modal" type="button">关闭</button>
- </div>
- </div>
- </div>
- </div>
- <!-- 英雄 -->
- <div class="hero-box" id="hero-box"></div>
- <!-- 模式切换 -->
- <div class="mode_switcher my_switcher">
- <button class="light align-items-center" id="themeToggle">
- <i class="fa-solid fa-moon dark__mode me-2"></i>
- <i class="fa-solid fa-sun light__mode d-none me-2"></i>
- <span class="dark__mode">Dark</span>
- <span class="light__mode d-none">Light</span>
- </button>
- </div>
- <!-- 主体 -->
- <main class="main-wrap container" id="main-wrap">
- <div class="row justify-content-center mt-4">
- <div class="col-lg-3">
- <div class="h-100 d-none d-lg-block">
- <section class="sidebar-author card">
- <div class="sidebar-banner"></div>
- <div class="text-center">
- <img alt="" class="sidebar-avatar" src="images/wallhaven-exkg7w.jpg">
- </div>
- <h2 class="fw-bold mt-5 fs-4 text-center">风尘落微雨</h2>
- <div class="sidebar-sign w-100">零星的变好,最后也会和星河一样闪耀</div>
- <div class="border-top">
- <table class="text-center my-2 w-100">
- <tbody>
- <tr class="fs-6 w-100">
- <th>文章</th>
- <th>评论</th>
- <th>标签</th>
- </tr>
- <tr>
- <td>45</td>
- <td>97</td>
- <td>44</td>
- </tr>
- </tbody>
- </table>
- </div>
- </section>
- <!-- 文章目录导航 -->
- <div class="toc-container card mt-4">
- <div class="toc-header">文章目录</div>
- <div class="toc-nav">
- <a class="active" href="#section1">一、关于 Typo.css</a>
- <a href="#section2">二、排版实例</a>
- <a href="#section2-1" style="padding-left: 2rem;">例1:论语学而篇第一</a>
- <a href="#section2-2" style="padding-left: 2rem;">例2:英文排版</a>
- <a href="#section3">三、附录</a>
- <a href="#appendix1" style="padding-left: 2rem;">1、Typo.css 排版偏重点</a>
- <a href="#appendix2" style="padding-left: 2rem;">2、开源许可</a>
- </div>
- </div>
- </div>
- </div>
- <div class="col-lg-9">
- <section class="card article-detail">
- <div class="d-flex text-xs mx-4 py-4 border-bottom" id="breadcrumbs">
- <div class="item d-flex align-items-center text-nowrap gap-1">
- <i class="fa-solid fa-house breadcrumbs-icon icon" style="color: #2563eb;"></i>
- <a href="index.html" title="首页">首页</a>
- </div>
- <span class="mx-2">/</span>
- <span class="item">
- <a href="#" title="✨日常">✨日常</a>
- </span>
- <span class="mx-2">/</span>
- <span class="item">正文</span>
- </div>
- <div class="my-4 px-3 px-md-4 h-100" id="post-box">
- <article class="typography typo js-toc-content" id="post-content">
- <h1>中文网页重设与排版:<i class="serif">Typo.css</i></h1>
- <!-- 添加文章元信息 -->
- <div class="article-meta d-flex flex-wrap gap-3">
- <div class="meta-item">
- <i class="fa-regular fa-calendar"></i>
- <span>2025-01-01</span>
- </div>
- <div class="meta-item">
- <i class="fa-regular fa-clock"></i>
- <span>阅读时长: 8分钟</span>
- </div>
- <div class="meta-item">
- <i class="fa-regular fa-eye"></i>
- <span>阅读量: 128</span>
- </div>
- </div>
- <h2 class="serif" id="tagline">一致化浏览器排版效果,构建最适合中文阅读的网页排版</h2>
- <ol id="table">
- <li><a href="#section1">关于 <i class="serif">Typo.css</i></a></li>
- <li><a href="#section2">排版实例</a>
- <ul>
- <li><a href="#section2-1">例1:论语学而篇第一</a></li>
- <li><a href="#section2-2">例2:英文排版</a></li>
- </ul>
- </li>
- <li><a href="#section3">附录</a>
- <ul>
- <li><a href="#appendix1"><i class="serif">Typo.css</i> 排版偏重点</a></li>
- <li><a href="#appendix2">开源许可</a></li>
- </ul>
- </li>
- </ol>
- <h2 id="section1">一、关于 <i class="serif">Typo.css</i></h2>
- <p><i class="serif">Typo.css</i> 的目的是,在一致化浏览器排版效果的同时,构建最适合中文阅读的网页排版。</p>
- <h4>现状和如何去做:</h4>
- <p class="typo-first">排版是一个麻烦的问题 <sup><a href="#appendix1"># 附录一</a></sup>,需要精心设计,而这个设计却是常被视觉设计师所忽略的。前端工程师更常看到这样的问题,但不便变更。因为在多个 OS 中的不同浏览器渲染不同,改动需要多的时间做回归测试,所以改变变得更困难。而像我们一般使用的
- Yahoo、Eric Meyer 和 Alice base.css 中采用的 Reset 都没有很好地考虑中文排版。<i class="serif">Typo.css</i> 要做的就是解决中文排版的问题。</p>
- <p><strong><i class="serif">Typo.css</i> 测试于如下平台:</strong></p>
- <div class="table-responsive">
- <table class="table" summary="Typo.css 的测试平台列表">
- <thead>
- <tr>
- <th>OS/浏览器</th>
- <th>Firefox</th>
- <th>Chrome</th>
- <th>Safari</th>
- <th>Opera</th>
- <th>IE9</th>
- <th>IE8</th>
- <th>IE7</th>
- <th>IE6</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>OS X</td>
- <td>✔</td>
- <td>✔</td>
- <td>✔</td>
- <td>✔</td>
- <td>-</td>
- <td>-</td>
- <td>-</td>
- <td>-</td>
- </tr>
- <tr>
- <td>Win 7</td>
- <td>✔</td>
- <td>✔</td>
- <td>✔</td>
- <td>✔</td>
- <td>✔</td>
- <td>✔</td>
- <td>✔</td>
- <td>-</td>
- </tr>
- <tr>
- <td>Win XP</td>
- <td>✔</td>
- <td>✔</td>
- <td>✔</td>
- <td>✔</td>
- <td>-</td>
- <td>✔</td>
- <td>✔</td>
- <td>✔</td>
- </tr>
- <tr>
- <td>Ubuntu</td>
- <td>✔</td>
- <td>✔</td>
- <td>-</td>
- <td>✔</td>
- <td>-</td>
- <td>-</td>
- <td>-</td>
- <td>-</td>
- </tr>
- </tbody>
- </table>
- </div>
- <h4>中文排版的重点和难点</h4>
- <p>在中文排版中,HTML4 的很多标准在语义在都有照顾到。但从视觉效果上,却很难利用单独的 CSS 来实现,像<abbr title="在文字下多加一个点">着重号</abbr>(例:这里<em class="typo-em">强调一下</em>)。在 HTML4 中,专名号标签(<code><u></code>)已经被放弃,而
- HTML5 被<a href="//html5doctor.com/u-element/">重新提起</a>。<i class="serif">Typo.css</i> 也根据实际情况提供相应的方案。我们重要要注意的两点是:</p>
- <ol>
- <li>语义:语义对应的用法和样式是否与中文排版一致</li>
- <li>表现:在各浏览器中的字体、大小和缩放是否如排版预期</li>
- </ol>
- <p>对于这些,<i class="serif">Typo.css</i> 排版项目的中文偏重注意点,都添加在附录中,详见:</p>
- <blockquote>
- <b>附录一</b>:<a href="#appendix1"><i class="serif">Typo.css</i> 排版偏重点</a>
- </blockquote>
- <p>目前已有像百姓网等全面使用 <i class="serif">Typo.css</i> 的项目,测试平台的覆盖,特别是在<abbr title="手机、平板电脑等移动平台">移动端</abbr>上还没有覆盖完主流平台,希望有能力的同学能加入测试行列,或者加入到 <i class="serif">Typo.css</i>
- 的开发。加入方法:<a href="https://github.com/sofish/Typo.css">参与 <i class="serif">Typo.css</i> 开发</a>。如有批评、建议和意见,也随时欢迎给在 Github 直接提 <a
- href="https://github.com/sofish/Typo.css/issues">issues</a>,或给<abbr role="author"
- title="Sofish Lin, author of Typo.css">我</abbr>发<a
- href="mailto:sofish@icloud.com">邮件</a>。</p>
- <h2 id="section2">二、排版实例:</h2>
- <p>提供2个排版实例,第一个中文实例来自于来自于<cite class="typo-unique">张燕婴</cite>的《论语》,由于古文排版涉及到的元素比较多,所以采用《论语》中《学而》的第一篇作为排版实例介绍;第2个来自到经典的
- Lorem Ipsum,并加入了一些代码和列表等比较具有代表性的排版元素。</p>
- <h3 id="section2-1">例1:论语学而篇第一</h3>
- <p>
- <small><b>作者:</b><abbr title="名丘,字仲尼">孔子</abbr>(
- <time>前551年9月28日-前479年4月11日</time>
- )
- </small>
- </p>
- <h4>本篇引语</h4>
- <p>
- 《学而》是《论语》第一篇的篇名。《论语》中各篇一般都是以第一章的前二三个字作为该篇的篇名。《学而》一篇包括16章,内容涉及诸多方面。其中重点是「吾日三省吾身」;「节用而爱人,使民以时」;「礼之用,和为贵」以及仁、孝、信等道德范畴。 </p>
- <h4>原文</h4>
- <p>子曰:「学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知,而不愠,不亦君子乎?」 </p>
- <h4>译文</h4>
- <p>孔子说:「学了又时常温习和练习,不是很愉快吗?有志同道合的人从远方来,不是很令人高兴的吗?人家不了解我,我也不怨恨、恼怒,不也是一个有德的君子吗?」 </p>
- <h4>评析</h4>
- <p>宋代著名学者<u class="typo-u">朱熹</u>对此章评价极高,说它是「入道之门,积德之基」。本章这三句话是人们非常熟悉的。历来的解释都是:学了以后,又时常温习和练习,不也高兴吗等等。三句话,一句一个意思,前后句子也没有什么连贯性。但也有人认为这样解释不符合原义,指出这里的「学」不是指学习,而是指学说或主张;「时」不能解为时常,而是时代或社会的意思,「习」不是温习,而是使用,引申为采用。而且,这三句话不是孤立的,而是前后相互连贯的。这三句的意思是:自己的学说,要是被社会采用了,那就太高兴了;退一步说,要是没有被社会所采用,可是很多朋友赞同<abbr
- title="张燕婴">我</abbr>的学说,纷纷到我这里来讨论问题,我也感到快乐;再退一步说,即使社会不采用,人们也不理解我,我也不怨恨,这样做,不也就是君子吗?(见《齐鲁学刊》1986年第6期文)这种解释可以自圆其说,而且也有一定的道理,供读者在理解本章内容时参考。
- </p>
- <p>此外,在对「人不知,而不愠」一句的解释中,也有人认为,「人不知」的后面没有宾语,人家不知道什么呢?当时因为孔子有说话的特定环境,他不需要说出知道什么,别人就可以理解了,却给后人留下一个谜。有人说,这一句是接上一句说的,从远方来的朋友向我求教,我告诉他,他还不懂,我却不怨恨。这样,「人不知」就是「人家不知道我所讲述的」了。这样的解释似乎有些牵强。</p>
- <p>总之,本章提出以学习为乐事,做到人不知而不愠,反映出孔子学而不厌、诲人不倦、注重修养、严格要求自己的主张。这些思想主张在《论语》书中多处可见,有助于对第一章内容的深入了解。</p>
- <h3 id="section2-2">例2:英文排版</h3>
- <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's
- standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a
- type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining
- essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum
- passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem
- Ipsum.</p>
- <blockquote>
- Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
- aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
- </blockquote>
- <h4>The standard Lorem Ipsum passage, used since the 1500s</h4>
- <p>"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
- aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
- Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint
- occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."</p>
- <h4>Section 1.10.32 of "de Finibus Bonorum et Malorum", written by Cicero in 45 BC</h4>
- <p>"Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam,
- eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam
- voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione
- voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci
- velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim
- ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi
- consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur,
- vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?"</p>
- <h4>List style in action</h4>
- <ul>
- <li>If you wish to succeed, you should use persistence as your good friend, experience as your reference, prudence as
- your brother and hope as your sentry.
- <p>如果你希望成功,当以恒心为良友,以经验为参谋,以谨慎为兄弟,以希望为哨兵。</p>
- </li>
- <li>Sometimes one pays most for the things one gets for nothing.
- <p>有时候一个人为不花钱得到的东西付出的代价最高。</p>
- </li>
- <li>Only those who have the patience to do simple things perfectly ever acquire the skill to do difficult things
- easily.
- <p>只有有耐心圆满完成简单工作的人,才能够轻而易举的完成困难的事。</p>
- </li>
- </ul>
- <h4>You may want to create a perfect <code><hr /></code> line, despite the fact that there will never have one
- </h4>
- <hr/>
- <p><abbr title="法国作家罗切福考尔德">La Racheforcauld</abbr> said:
- <mark>"Few things are impossible in themselves; and it is often for want of will, rather than of means, that man fails
- to succeed".
- </mark>
- You just need to follow the browser's behavior, and set a right <code>margin</code> to it。it will works nice as the
- demo you're watching now. The following code is the best way to render typo in Chinese:
- </p>
- <pre>
- <code class="language-css">
- /* 标题应该更贴紧内容,并与其他块区分,margin 值要相应做优化 */
- h1,h2,h3,h4,h5,h6 {
- line-height:1;font-family:Arial,sans-serif;margin:1.4em 0 0.8em;
- }
- h1{font-size:1.8em;}
- h2{font-size:1.6em;}
- h3{font-size:1.4em;}
- h4{font-size:1.2em;}
- h5,h6{font-size:1em;}
- /* 现代排版:保证块/段落之间的空白隔行 */
- .typo p, .typo pre, .typo ul, .typo ol, .typo dl, .typo form, .typo hr {
- margin:1em 0 0.6em;
- }
- </code>
- </pre>
- <h3 id="section3">三、附录</h3>
- <h5 id="appendix1">1、<i class="serif">Typo.css</i> 排版偏重点</h5>
- <div class="table-responsive">
- <table class="table" summary="Typo.css 排版偏重点">
- <thead>
- <tr>
- <th>类型</th>
- <th>语义</th>
- <th>标签</th>
- <th>注意点</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <th rowspan="15">基础标签</th>
- <td>标题</td>
- <td><code>h1</code> ~ <code>h6</code></td>
- <td>全局不强制大小,<code>.typo</code> 中标题与其对应的内容应紧贴,并且有相应的大小设置</td>
- </tr>
- <tr>
- <td>上、下标</td>
- <td><code>sup</code>/<code>sub</code></td>
- <td>保持与 MicroSoft Office Word 等程序的日常排版一致</td>
- </tr>
- <tr>
- <td>引用</td>
- <td><code>blockquote</code></td>
- <td>显示/嵌套样式</td>
- </tr>
- <tr>
- <td>缩写</td>
- <td><code>abbr</code></td>
- <td>是否都有下划线,鼠标 <code>hover</code> 是否为帮助手势</td>
- </tr>
- <tr>
- <td>分割线</td>
- <td><code>hr</code></td>
- <td>显示的 <code>padding</code> 和 <code>margin</code>正确</td>
- </tr>
- <tr>
- <td>列表</td>
- <td><code>ul</code>/<code>ol</code>/<code>dl</code></td>
- <td>在全局没有 <code>list-style</code>,在 .<code>typo</code> 中对齐正确</td>
- </tr>
- <tr>
- <td>定义列表</td>
- <td><code>dl</code></td>
- <td>全局 <code>padding</code> 和 <code>margin</code>为0, .<code>typo</code> 中对齐正确</td>
- </tr>
- <tr>
- <td>选项</td>
- <td><code>input[type=radio[, checkbox]]</code></td>
- <td>与其他 <code>form</code> 元素排版时是否居中</td>
- </tr>
- <tr>
- <td>斜体</td>
- <td><code>i</code></td>
- <td>只设置一种斜体,让 <code>em</code> 和 <code>cite</code> 显示为正体</td>
- </tr>
- <tr>
- <td>强调</td>
- <td><code>em</code></td>
- <td>在全局显示正体,在 <code>.typo</code> 中显示与 <code>b</code> 和 <code>strong</code> 的样式一致,为粗体</td>
- </tr>
- <tr>
- <td>加强</td>
- <td><code>strong/b</code></td>
- <td>显示为粗体</td>
- </tr>
- <tr>
- <td>标记</td>
- <td><code>mark</code></td>
- <td>类似荧光笔</td>
- </tr>
- <tr>
- <td>印刷</td>
- <td><code>small</code></td>
- <td>保持为正确字体的 80% 大小,颜色设置为浅灰色</td>
- </tr>
- <tr>
- <td>表格</td>
- <td><code>table</code></td>
- <td>全局不显示线条,在 <code>table</code> 中显示表格外框,并且表头有浅灰背景</td>
- </tr>
- <tr>
- <td>代码</td>
- <td><code>pre</code>/<code>code</code></td>
- <td>字体使用 <code>courier</code> 系字体,保持与 <code>serif</code> 有比较一致的显示效果</td>
- </tr>
- <tr>
- <th rowspan="5">特殊符号</th>
- <td>着重号</td>
- <td><em class="typo-em">在文字下加点</em></td>
- <td>在支持 <code>:after</code> 和 <code>:before</code> 的浏览器可以做渐进增强实现</td>
- </tr>
- <tr>
- <td>专名号</td>
- <td><u>林建锋</u></td>
- <td>专名号,有下划线,使用 <code>u</code> 或都 <code>.typo-u</code> 类</td>
- </tr>
- <tr>
- <td>破折号</td>
- <td>——</td>
- <td>保持一划,而非两划</td>
- </tr>
- <tr>
- <td>人民币</td>
- <td>¥</td>
- <td>使用两平等线的符号,或者 HTML 实体符号 <code>&yen;</code></td>
- </tr>
- <tr>
- <td>删除符</td>
- <td>
- <del>已删除(deleted)</del>
- </td>
- <td>一致化各浏览器显示,中英混排正确</td>
- </tr>
- <tr>
- <th rowspan="3">加强类</th>
- <td>专名号</td>
- <td><code>.typo-u</code></td>
- <td>由于 <code>u</code> 被 HTML4 放弃,在向后兼容上推荐使用 <code>.typo-u</code></td>
- </tr>
- <tr>
- <td>着重符</td>
- <td><code>.typo-em</code></td>
- <td>利用 <code>:after</code> 和 <code>:before</code> 实现着重符</td>
- </tr>
- <tr>
- <td>清除浮动</td>
- <td><code>.clearfix</code></td>
- <td>与一般 CSS Reset 保持一对致 API</td>
- </tr>
- <tr>
- <th rowspan="5">注意点</th>
- <td colspan="3">(1)中英文混排行高/行距</td>
- </tr>
- <tr>
- <td colspan="3">(2)上下标在 IE 中显示效果</td>
- </tr>
- <tr>
- <td colspan="3">(3)块/段落分割空白是否符合设计原则</td>
- </tr>
- <tr>
- <td colspan="3">(4)input 多余空间问题</td>
- </tr>
- <tr>
- <td colspan="3">(5)默认字体色彩,目前采用 <code>#333</code> 在各种浏览显示比较好</td>
- </tr>
- </tbody>
- </table>
- </div>
- <h5 id="appendix2">2、开源许可</h5>
- <p><i class="serif">Typo.css</i> 基于 <a href="//zh.wikipedia.org/wiki/MIT_License">MIT License</a> 开源,使用代码只需说明来源,或者引用 <a
- href="//typo.sofi.sh/license.txt">license.txt</a> 即可。</p>
- </article>
- <div class="d-flex pt-4 mt-5 align-items-center border-top tag gap-1">
- <i class="fa-solid fa-hashtag icon" style="color: #2563eb;"></i>
- <div class="d-flex flex-wrap align-items-center text-xs gap-2">
- <a class="badge rounded-pill text-bg-primary tag-item" href="https://www.weirain.com/index.php/tag/Deepseek/">DeepSeek</a>
- <a class="badge rounded-pill text-bg-info tag-item" href="https://www.weirain.com/index.php/tag/AI/">AI</a>
- </div>
- </div>
- <div class="copyright text-xs text-wrap">
- <div class="d-flex align-items-center gap-1">
- <i class="fa-solid fa-user icon"></i>
- <div class="copyright-text">版权属于:风尘落微雨</div>
- </div>
- <div class="d-flex align-items-center gap-1">
- <i class="fa-solid fa-location-arrow icon"></i>
- <div class="copyright-text text-wrap">本文链接:https://www.weirain.com/index.php/archives/322/</div>
- </div>
- <div class="d-flex align-items-center gap-1">
- <i class="fa-solid fa-gem icon"></i>
- <div class="copyright-text">作品采用 <a class="text-decoration-none" href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh-Hans" target="_blank">
- 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 </a>进行许可
- </div>
- </div>
- </div>
- <!-- 文章导航 -->
- <div class="article-navigation d-flex justify-content-between mt-4 pt-4 border-top">
- <div class="prev-article">
- <a class="text-decoration-none" href="#">
- <div class="d-flex align-items-center gap-2">
- <i class="fa-solid fa-arrow-left"></i>
- <span class="text-xs">上一篇</span>
- </div>
- <div class="text-truncate mt-1">这是上一篇文章的标题</div>
- </a>
- </div>
- <div class="next-article text-end">
- <a class="text-decoration-none" href="#">
- <div class="d-flex align-items-center gap-2 justify-content-end">
- <span class="text-xs">下一篇</span>
- <i class="fa-solid fa-arrow-right"></i>
- </div>
- <div class="text-truncate mt-1">这是下一篇文章的标题</div>
- </a>
- </div>
- </div>
- <!-- 评论区域 -->
- <div class="comments-section mt-5 pt-4 border-top">
- <h3 class="mb-4">评论</h3>
- <!-- 评论表单 -->
- <div class="comment-form mb-5">
- <form>
- <div class="mb-3">
- <label class="form-label" for="commentName">昵称</label>
- <input class="form-control" id="commentName" placeholder="请输入您的昵称" type="text">
- </div>
- <div class="mb-3">
- <label class="form-label" for="commentEmail">邮箱</label>
- <input class="form-control" id="commentEmail" placeholder="请输入您的邮箱" type="email">
- </div>
- <div class="mb-3">
- <label class="form-label" for="commentContent">评论内容</label>
- <textarea class="form-control" id="commentContent" placeholder="请输入您的评论" rows="4"></textarea>
- </div>
- <button class="btn btn-primary" type="submit">提交评论</button>
- </form>
- </div>
- <!-- 评论列表 -->
- <div class="comments-list">
- <div class="comment-item mb-4">
- <div class="d-flex">
- <div class="flex-shrink-0">
- <img alt="用户头像" class="rounded-circle" height="40" src="images/acg.jpg" width="40">
- </div>
- <div class="flex-grow-1 ms-3">
- <div class="d-flex justify-content-between">
- <h6 class="mb-1">访客A</h6>
- <small class="text-muted">2025-01-01 10:30</small>
- </div>
- <p class="mb-1">这篇文章写得真好,学到了很多关于排版的知识!</p>
- <div class="d-flex gap-3 mt-2">
- <a class="text-decoration-none small" href="#">回复</a>
- <a class="text-decoration-none small" href="#">点赞(5)</a>
- </div>
- </div>
- </div>
- <!-- 回复评论 -->
- <div class="comment-item mt-3 ms-5">
- <div class="d-flex">
- <div class="flex-shrink-0">
- <img alt="用户头像" class="rounded-circle" height="40" src="images/wallhaven-exkg7w.jpg" width="40">
- </div>
- <div class="flex-grow-1 ms-3">
- <div class="d-flex justify-content-between">
- <h6 class="mb-1">风尘落微雨</h6>
- <small class="text-muted">2025-01-01 11:15</small>
- </div>
- <p class="mb-1">感谢您的支持!欢迎继续关注更多内容。</p>
- <div class="d-flex gap-3 mt-2">
- <a class="text-decoration-none small" href="#">回复</a>
- <a class="text-decoration-none small" href="#">点赞(2)</a>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="comment-item mb-4">
- <div class="d-flex">
- <div class="flex-shrink-0">
- <img alt="用户头像" class="rounded-circle" height="40" src="images/acg.jpg" width="40">
- </div>
- <div class="flex-grow-1 ms-3">
- <div class="d-flex justify-content-between">
- <h6 class="mb-1">访客B</h6>
- <small class="text-muted">2025-01-01 14:20</small>
- </div>
- <p class="mb-1">Typo.css确实是个好工具,解决了中文排版的很多问题。</p>
- <div class="d-flex gap-3 mt-2">
- <a class="text-decoration-none small" href="#">回复</a>
- <a class="text-decoration-none small" href="#">点赞(3)</a>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </section>
- </div>
- </div>
- </main>
- <!-- 工具 -->
- <div class="tools gap-2">
- <div class="backup-btn" id="backupTop">
- <i class="fa-solid fa-arrow-up"></i>
- </div>
- </div>
- <!-- 脚 -->
- <footer class="footer p-4 text-center mt-4">
- <p class="small d-flex justify-content-center align-items-center gap-2">
- <span class="d-flex align-items-center">
- <i class="fa-solid fa-at"></i>
- 2025
- </span>
- <a href="index.html">DeepSeek-R1满血版</a>
- </p>
- </footer>
- <script src="lib/bootstrap/js/bootstrap.bundle.js"></script>
- <script src="lib/jquery/jquery.js"></script>
- <script src="lib/aos/aos.js"></script>
- <script src="lib/fancybox/jquery.fancybox.js"></script>
- <script src="lib/swiper/swiper-bundle.js"></script>
- <script src="lib/prism/prism.js"></script>
- <script src="lib/pjax/pjax.js"></script>
- <script src="script/main.js"></script>
- <script>
- $(function () {
- // 返回顶部按钮功能
- $('#backupTop').on('click', function () {
- $('html, body').animate({scrollTop: 0}, 500);
- });
- // 滚动时显示/隐藏返回顶部按钮
- $(window).on('scroll', function () {
- if ($(this).scrollTop() > 300) {
- $('#backupTop').fadeIn();
- } else {
- $('#backupTop').fadeOut();
- }
- });
- // 目录导航高亮
- $(window).on('scroll', function () {
- const scrollTop = $(window).scrollTop();
- let currentId = '';
- $('.js-toc-content').find('h1, h2, h3').each(function () {
- const headingTop = $(this).offset().top;
- if (scrollTop >= headingTop - 100) {
- currentId = $(this).attr('id');
- }
- });
- // 更新目录链接的激活状态
- $('.toc-nav a').removeClass('active');
- if (currentId) {
- $('.toc-nav a[href="#' + currentId + '"]').addClass('active');
- }
- });
- // 点击目录链接平滑滚动
- $('.toc-nav a').on('click', function (e) {
- e.preventDefault();
- const target = $($(this).attr('href'));
- if (target.length) {
- $('html, body').animate({
- scrollTop: target.offset().top - 80
- }, 500);
- }
- });
- });
- </script>
- <script>
- // 评论相关功能
- $(function () {
- // 提交评论表单
- $('.comment-form form').on('submit', function (e) {
- e.preventDefault();
- const name = $('#commentName').val();
- const email = $('#commentEmail').val();
- const content = $('#commentContent').val();
- if (!name || !email || !content) {
- alert('请填写完整信息');
- return;
- }
- // 这里应该发送AJAX请求保存评论
- // 模拟添加评论到页面
- const newComment = `
- <div class="comment-item mb-4">
- <div class="d-flex">
- <div class="flex-shrink-0">
- <img src="images/acg.jpg" alt="用户头像" class="rounded-circle" width="40" height="40">
- </div>
- <div class="flex-grow-1 ms-3">
- <div class="d-flex justify-content-between">
- <h6 class="mb-1">${name}</h6>
- <small class="text-muted">刚刚</small>
- </div>
- <p class="mb-1">${content}</p>
- <div class="d-flex gap-3 mt-2">
- <a href="#" class="text-decoration-none small">回复</a>
- <a href="#" class="text-decoration-none small">点赞(0)</a>
- </div>
- </div>
- </div>
- </div>
- `;
- $('.comments-list').prepend(newComment);
- // 清空表单
- $('#commentName').val('');
- $('#commentEmail').val('');
- $('#commentContent').val('');
- alert('评论提交成功!');
- });
- // 点赞功能
- $(document).on('click', '.comment-item a:contains("点赞")', function (e) {
- e.preventDefault();
- const likeLink = $(this);
- const likeText = likeLink.text();
- const likeCount = parseInt(likeText.match(/\d+/)[0]);
- likeLink.text(`点赞(${likeCount + 1})`);
- });
- // 回复功能
- $(document).on('click', '.comment-item a:contains("回复")', function (e) {
- e.preventDefault();
- const commentItem = $(this).closest('.comment-item');
- const commenterName = commentItem.find('h6').first().text();
- $('#commentContent').val(`@${commenterName} `).focus();
- });
- });
- </script>
- </body>
- </html>
|