应采用语义化标签配合CSS实现诗歌排版:一用保留换行;二用控制单行样式;三用实现字级高亮;四用white-space与inline-block响应式分行;五用@font-face引入古典字体。
css设字体样式编诗歌内容【编写】">
如果您希望使用 HTML5 编写一首诗歌,并通过 CSS 控制分行与字体样式,则需避免依赖换行符直接渲染,而应采用语义化标签配合样式规则实现整齐、美观的排版效果。以下是具体实现方式:
一、使用 标签保留原始换行与空格
标签天然保留文本中的空格和换行,适合呈现格式固定的诗歌,且无需额外 CSS 即可维持分行结构。1、在
中插入标签,并将诗歌逐行写入其中。2、为
添加 CSS 样式,设置字体为等宽或衬线字体,如 font-family: "Songti SC", "Noto Serif CJK SC", serif;立即学习“前端免费学习笔记(深入)”;
3、设置 font-size 为 18px,line-height 为 1.6,确保行距舒展。
4、添加 text-align: center 使诗句居中对齐。
二、使用
标签包裹每行诗句
将每一句诗单独放入一个
标签,可完全掌控每行样式,便于后续为不同诗句添加颜色、动画或交互效果。
1、为每句诗创建独立的
标签,例如
山高水远路漫漫
。2、对所有诗句的
标签统一设置 margin: 0.5em 0,避免默认上下边距过大。
3、设置 font-family: "KaiTi", "STKaiti", cursive; 以模拟手写体风格。
4、为偶数行诗句添加 background-color: #f9f9f9; 实现隔行底色区分。
三、使用
+ 实现字级样式控制当需要对单字、词或特定字符(如诗眼、韵脚)进行高亮或变形时,应将诗句拆解为嵌套的 元素,再通过类名绑定 CSS 规则。
1、将整首诗放入一个
容器中。2、每句诗用
包裹,每个字或关键词用 或 包裹。3、为 .rhyme 类设置 color: #c00; 和 font-weight: bold; 突出押韵字。
4、为 .char 类添加 transition: transform 0.2s; 并在 hover 时触发 transform: scale(1.2); 实现悬停放大效果。
四、使用 CSS 的 white-space 和 display: inline-block 控制分行
当诗歌需响应式适配多端宽度,又须严格保持“一句一行”时,可结合 white-space: pre-line 与 display: inline-block 布局实现弹性分行。
1、将整首诗放入
,内部每句用 包裹。2、为 .poem-responsive 设置 width: 100%; max-width: 600px; margin: 0 auto;
3、为 .line 设置 display: inline-block; width: 100%; white-space: pre-line;
4、为防止小屏幕下文字溢出,添加 word-break: keep-all; 和 font-size: clamp(14px, 4vw, 18px);
五、引入 @font-face 加载古典中文字体
为增强诗歌的文学气质,可引入支持繁体、异体字的开源中文字体(如“霞鹜文楷”),避免系统默认字体缺失导致渲染异常。
1、下载霞鹜文楷 Light 字体文件(.woff2 格式),存放于项目 fonts/ 目录下。
2、在
3、在 .poem 选择器中设置 font-family: "LXGW WenKai", "Noto Serif CJK SC", serif;
4、添加 font-feature-settings: "liga" on, "clig" on; 启用连字特性,提升“之乎者也”等虚词显示效果。











