css 排版_Web排版的未来:CSS字体4级

css 排版

Web字体为设计注入了生命,帮助我们避免了在Web设计初期广泛使用的系统默认设置。 当今有许多可用的选项,我们有很多技巧可以提供和设置自定义字体。 CSS字体模块的第4级概述了您会喜欢的更多有趣选项,包括一些令人兴奋的属性,例如font-min / max-size。 本文不会揭示第4级的所有细节,而是将重点介绍仍处于起步阶段的有趣部分。 冒险从现在开始!

现状

目前,我们位于两个级别的规范之间。 一方面我们有3级 ; 自2013年10月以来一直在“候选推荐”中使用的规范。展望未来,我们的等级为4 ; 自2017年7月以来一直在“工作草案”中使用的规范。如果您需要提醒有关W3C规范阶段的顺序,请花一点时间来回顾一下它们:

  1. 工作草案 (WD):已发布,供社区(包括W3C成员,公众和其他技术组织)审查。 不代表工作组的共识,也不代表W3C的任何认可。
  2. 候选建议书 (CR):经过广泛审查并准备实施。 并不意味着得到W3C的认可。 向广大社区发出信号,是时候进行最终审查了。
  3. 拟议建议书 (PR):已发送给W3C咨询委员会以最终认可的成熟技术报告。
  4. W3C建议书 (REC):得到W3C成员和总监的认可。 建议广泛部署规范指南。

现在,我们了解了规范阶段,让我们深入了解第4级的要点,并介绍该模块新的一些已知和已记录的功能。

字体模块级别4

级别3的标准化部分将被移植到级别4,但级别4也将包含其自己的独特添加项。 诸如字体变体,字体渲染控件,颜色字体支持,基本字体属性等部分 和   字体资源将包含许多开发人员会发现有用的全新项目。

基本字体属性

呈现的特定字体由font-family和应用于给定元素的其他字体属性(例如, font-weight和font-style确定。 这种结构允许设置彼此独立地变化,并且包含基本字体属性 。 那么这个小组有什么计划呢?

📌font-min-size和font-max-size

.element {
    font-min-size: 0.875rem;
    font-max-size: 5rem;
}

在第4级概述的所有内容中,这两个属性是我最喜欢的,因为这两个属性都将允许元素的font-size “固定”在提供的值之间。 对于响应性设计迷来说,这无疑是一个了不起的消息。 值可以是绝对大小 , 相对大小或长度百分比 。

目前没有任何文档说明浏览器的resize事件如何触发这两个属性,并且如果您要使用Chrome中的实验性Web平台功能标志来尝试使用此功能,那么您就不走运了。

字体资源

本节概述的大多数项目都有助于控制与获取,引用和显示您选择的字体系列有关的方面。

📌 字体显示

@font-face {
    font-display: auto | block | swap | fallback | optional;
}

此属性根据是否以及何时下载字体并可供浏览器使用来确定字体的显示方式。 它也可以在@font-face或@font-feature-values声明中使用。

  • auto :字体显示策略是用户代理定义的(即浏览器),除非在CSS中明确定义。
  • block :赋予字体较短的阻止时间 (大多数情况下建议3 s )和无限的交换时间 。
  • swap :为字体提供一个0s的 块周期和一个无限的交换周期 。
  • fallback :为字体提供极小的块周期 (大多数情况下建议100ms或更短)和较短的交换周期 (大多数情况下建议3s )。
  • optional :为字体提供极小的块周期 (大多数情况下建议为100ms或更短)和0s 交换周期 。

对于那些密切关注Web字体性能并且每天忙于辩论FOUT或FOIT的人 ,那么此属性将使您非常满意。

📌 @ font-feature-values

@font-feature-values {
    font-display: auto | block | swap | fallback | optional;
}

如果@font-face规则中省略了font-display ,则用户代理将通过@font-feature-values设置的font-display @font-feature-values用于相关的font-family如果已设置),否则默认为font-display: auto 。 请参阅有关font-display值的先前说明。

该规则集非常适合通过第三方提供字体并且您无法控制@font-face规则,但仍能够为提供的font-family设置默认font-display策略的情况。 对于那些采取不间断第三方行动的建筑工地来说,这是个好消息。

@font-feature-values {
    font-family: "Custom Font Name", sans-serif;
    font-display: fallback;
}

尽管仍然很新并且有点模糊,但我只能假设为了控制特定的font-family显示行为,开发人员必须在此规则集中使用font-family属性才能定位所需的字体。 同样,这只是我的一个假设,绝不是事实。

字体变化

本部分是100%新增的,特定于第4级。当前记录的大多数功能与每个字体的大小和设置有关。

📌 字体光学设置

使用此属性是为了保持样式特征并提高在不同光学尺寸下的可读性。 使用数字字体,我们可以将字体缩放为任意大小,但这并未考虑这些变化尺寸下字体的外观。

“以不同大小呈现的文本通常受益于略有不同的视觉表示。 例如,为了帮助以较小的文本尺寸阅读,较大的衬线笔划通常较粗。 较大的文本通常具有更细腻的图形,在较粗和较细的笔划之间具有更大的对比度。” 〜4级工作草案
.element {
    font-optical-sizing: auto | none
}
  • auto :用户代理可以根据屏幕的font-size和像素密度来修改字形的形状。 对于使用字体变体的OpenType和TrueType字体,通常通过使用opsz字体变体来完成。
  • none :用户代理不得针对光学尺寸修改字形的形状。

📌 字体变化设置

.element {
    font-variation-settings: normal | [ <string> <number>]
}

此属性提供对OpenType或TrueType字体变体的低级控制。 它旨在提供一种访问未广泛使用但特定用例需要的字体变体的方式。

  • normal :使用默认设置对文本进行布局。
  • <string> <number> :呈现文本时, OpenType轴名称列表将传递到文本布局引擎以启用或禁用字体功能。 每个设置始终是4个ASCII字符的<string> ,后跟<number>指示轴值。 如果<string>具有更多或更少的字符或包含U + 20-U + 7E代码点范围之外的字符,则整个属性无效。 <number>可以是小数或负数。
.element {
    /* four letter axis name and number */
    font-variation-settings: "opsz" 0.5;
}

上面代码中使用的字符串值称为四字母轴名称 ,它描述您希望更改的功能,以及通常在0-1范围内的变化值,但在需要时也可以为负值。 允许的变化将始终取决于所选的字体。

彩色字体支持

📌 字体调色板

.element {
    font-palette: normal | light | dark | <palette-identifier>;
}

许多彩色字体文件格式都允许对字形中的颜色进行参数化 。 在这些字体中,颜色在描述每个字形的几何图形时由索引引用。 这些索引是使用字体内的查找表在当前活动调色板中解析的。 但是,许多字体包含多个调色板,每个调色板包含一组由字体设计人员选择的互补色,以提供令人满意的视觉效果。 开发人员可以使用下一节中提到的@font-palette-values规则定义调色板。

📌 @ font-palette-values

/*Syntax*/
@font-palette-values <custom-identifier> {
  <declaration-list>
}

/*Example*/
@font-palette-values Augusta {
  font-family: Handover Sans;
  base-palette: 3;
  1: rgb(43, 12, 9);
  3: var(--highlight);
}

这表示字体中使用的调色板。 它定义一个调色板,并将该调色板与特定字体相关联。 这样一来,网络作者就可以选择要在颜色字体内使用的任意颜色,而不仅限于字体文件内预先存在的调色板。

📌字体介绍

.element {
    font-family: 'Custom Font Name';
    font-presentation: auto | text | emoji;
}

该属性允许网络作者选择是将表情符号表示形式还是文本表示形式用于某些表情符号代码点。 表情符号狂热者获得巨大胜利😎

结论

Web字体肯定会有许多令人兴奋的新功能,我鼓励您在收藏夹可用时开始尝试。 如果您有第4级甚至第3级的特别喜欢的内容,请在评论中告知我们,包括您可能对我们讨论的功能有任何意见。

我还建议开发人员研究一下css-font-loading规范 ,以了解加载性能是否值得关注。 您可以监视支持,因为在所有浏览器供应商中采用率都不错 。 享受网络字体和编码愉快的新时代!

翻译自: https://webdesign.tutsplus.com/articles/the-future-of-web-typography-css-fonts-level-4--cms-29911

css 排版

前端 React.js 自适应字体与排版技巧 在当今多设备、多屏幕尺寸的Web环境中,实现完美的字体和排版自适应已成为前端开发的核心挑战。本文旨在为React.js开发者提供一套完整的自适应字体与排版解决方案,涵盖从基础概念到高级技巧的全方位知识。现代Web排版的核心原理React.js生态中的最佳实践性能优化策略可维护性架构设计文章首先介绍核心概念,然后深入技术实现,接着通过实战项目演示完整解决方案,最后讨论未来发展趋势。每个部分都包含详细代码示例和性能考量。自适应字体(Adaptive Typography) 阅读详情

相关推荐

揭秘前端 CSS3 字体特效的实现方法

核心概念回顾字体加载是特效基础阴影叠加制造立体感动画赋予生命力思考题如何实现文字燃烧效果?怎样让文字像水流一样波动?如何制作抖音风格的文字故障效果?

小白菜的博客 2031

html font size 最小值,html – 有这样的事情,如min-font-size和max-font-size?

我想在响应于浏览器窗口的div中创建一个字体。到目前为止,它已经工作完美,但父div的最大宽度为525px。调整浏览器大小将不会使字体停止调整大小。这使我想知道是否有这样的事情,如min-font-size或max-font-size,如果这样的事情不存在,如果有一种方法来实现类似的东西。我认为使用在font-size的百分比将工作,但是文本的位不会相应地缩放到父div。这里是我有:父div的CS...

weixin_28694169的博客 1202

字体优化:Web 排版最佳实践

Next.js 作为一个基于 React 的全栈框架,在 Web 排版方面提供了强大的字体优化功能,通过内置的 next/font 模块实现了高效的字体加载和渲染。字体是 Web 设计的核心元素,影响可读性、品牌一致性和用户体验,但传统字体加载往往导致页面闪烁(FOUT/FOIT)、性能瓶颈和带宽浪费。next/font 通过预加载、子集化和自动优化解决了这些问题,支持 Google Fonts、本地字体和自定义字体,简化了排版流程。

zimin的专栏 1339

【css】各个字号大小对照表

中文字号英文字号(pt)毫米(mm)像素(px)1英寸72pt25.30mm95.6px大特号63pt22.14mm83.7px特号54pt18.97mm71.7px初号42pt14.82mm56px小初36pt12.70mm48px一号26pt9.17mm34.7px小一24pt8.47mm32px二号22pt7.76mm29.3px小二18pt6.35mm24px三号16pt5.64mm21.3px小三15pt5.29mm20px四号14pt4.94mm18.7px小四12pt4.23mm16px五号1

qq_38220077的博客 1万+

【CSS in Depth 2 精译_075】12.2 Web 字体简介 + 12.3 谷歌字体的用法

本篇为《CSS in Depth》全新第2版12.2节与12.3节内容,主要介绍了 CSS 中的 Web 字体的相关背景及谷歌线上字体服务的具体用法与相关注意事项。新版对上一版中的插图做了全面更新,深度解析了 Web 字体诞生的前因后果,非常适合对 CSS 基础有巩固需求的朋友,建议收藏、转发并实操练习。

PeacefulWinter的博客 1493

min-max-font-size:使用 vw 或 vh CSS 单位? 为您的类型设置最小或最大字体大小

最小最大字体大小 使用 vw 或 vh CSS 单位设置字体大小? 为您的类型设置最小或最大字体大小。 设置 在 HTML 页面的末尾添加mm-fontsize.js ,就在结束body标记之前。 … < script src =" ./path-to-js/mm-fontsize.js " type =" text/javascript " > </ script > </ body > </ html > 现在您可以开始在您自己的 CSS 中手动调整字距。 CSS 语法 要使用 min-font-size 或 max-font-size 属性,只需像任何其他属性一样在 CSS 中编写它: h1 { font-size : 4 vw max-font-size: 50 px ; min-font-size : 20 px ; } 笔记: 这仅适用于使用 v

CSS4 字体

<!DOCTYPE html> <html lang="zh-CN"> <head> <title> 我的页面 </title> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, i.

flyzer的博客 203

WEB排版+.CSS

关于服装的网站设计,包含.css样式,web排版,易懂明了,很不错。

CSS基础教程: 字体(一)

字体是一组具有一致设计和风格的文本字符。它包括字体的形状、大小、粗细和其他属性。字体用于在各种媒介中显示和表示文本,例如印刷品、数字屏幕和平面设计。可以选择字体来传达特定的情绪或美学,增强可读性,或与品牌的身份相一致。字体在沟通和设计中起着至关重要的作用。字体可以唤起不同的情感,并向观众传达特定的信息。本章演示如何设置 HTML 元素中的内容字体。

m0_65012566的博客 283

CSS中的font-size属性使用教程

基本语法结构: Font-size+字体大小数值+单位单词:font-size语法:font-size : absolute-size | relative-size | length取值:xx-small | x-small | small | medium | large | x-large | xx-largexx-small:最小x-small:较小small:小medium:正常(默认值),根据字体进行调整large:大x-large:较大xx-large:最大也可取具体长度单位值 可用的单位 有几种不同的方法可以在CSS中声明字体大小。总的来说,这些单位分为两类——相对和绝对。 绝

实战教程:用YOLOv11+PyQt5打造工地安全帽检测系统(附完整数据集)

本文提供了一份完整的实战指南,详细介绍了如何利用YOLOv11目标检测模型与PyQt5界面库,从零开始构建一个智能工地安全帽检测桌面应用。内容涵盖高质量数据集的准备与标注、YOLOv11模型训练与调优,以及如何使用PyQt5开发流畅、专业的图形用户界面,最终实现一个可实际部署的AI安全监控系统。

plum99的博客 738

js字体溢出字体变小_可变字体:它们是什么,以及如何使用它们

js字体溢出字体变小In this article, we’ll take a look at the exciting new possibilities surrounding variable fonts — now bundled with the OpenType scalable font format — which allows a single font to behave li...

culi3182的博客 887

EPLAN中3D宏文件的创建与优化技巧(以开关电源为例)

本文以开关电源为例,详细讲解了在EPLAN中创建和优化3D宏文件(.ema)的全流程。从搭建宏项目、导入模型,到精确定义安装面、调整视野方向,再到定义3D连接点并关联部件库,旨在帮助电气工程师在设计阶段实现精准布局、避免安装冲突,从而提升设计效率与质量。

weixin_29219539的博客 549

CSS字体模块Level 4深度解析:Web排版的艺术与科学

CSS字体模块Level 4是现代Web排版技术的重要里程碑,它为开发者提供了前所未有的字体控制能力。作为CSS字体规范的最新演进,这个模块不仅继承了前代的所有功能,还引入了多项革命性特性,包括颜色字体支持、字体变体增强、变量字体控制等,让Web排版真正实现了艺术与科学的完美融合。🚀 ## 为什么CSS字体模块Level 4如此重要? 在当今的Web开发环境中,**字体渲染质量**和**排版

gitblog_00103的博客 1012

免费大容量国外网盘测评:冷数据归档与rclone加密接入

云存储的本质,是通过对象存储、冗余编码和分层缓存,把本地磁盘容量问题转化为网络访问与数据管理问题。免费大容量国外网盘常以空间换用户规模或付费转化,容量政策、传输策略、协议支持和退出成本,往往比标称容量更决定长期可用性。支持 WebDAV、S3 兼容和命令行工具的服务,可接入 rclone 等自动化流程,再配合客户端加密与冷热分层,用于冷数据归档、老项目备份和家庭影像保存。理解带宽换算、单文件上限、保活机制与传输一致性后,评估话题型大容量网盘与专业向协议网盘,就能把免费空间纳入可靠存储层。围绕免费大容量国外网

weixin_31292729的博客 215

用74LS194和555定时器DIY流水灯:一个经典的数字电路课程设计复盘(附Multisim仿真文件)

本文详细介绍了使用74LS194移位寄存器和555定时器搭建八路彩灯控制器的完整过程,包括硬件选型、电路设计、调试技巧及常见问题解决方案。作为经典的数字电路课程设计,该项目涵盖了EDA工具应用、电路原理图设计和Multisim仿真等核心技能,适合电子工程学习者实践参考。

weixin_29185199的博客 428

网页字体不随系统字体大小_精通CSS第4章 网页排版

《精通 CSS》往期陪读章节:第 1 章 基础知识第 2 章 添加样式第 3 章 可见格式化模型或许大家会觉得排版都是设计师的工作,前端开发按照已经排版好的设计稿复原就行。当然,这样理解也没有太大问题,但是过于依赖于设计师往往会限制我们的脚步。作为前端开发,对于排版我们要有自己的认知,而且更好地理解 CSS 中关于网页排版的技术,我们也能更得心应手地还原设计稿。本章原书用了近 40 页的...

weixin_39562928的博客 1057

LCD驱动芯片——BL55072A驱动程序

初始化子程序: START 0x7C; I2C子地址 0xEA;ICSET,软件复位芯片 0xC0;MODSET,关显示 0xF0;BLKCTL,关闪烁 0xA3;DISCTL,80Hz Line inversion,High Power mode 0xE8;ICSET,清复位bit1 STOP 显示刷新子程序: START 0x7C;I2C子地址 0xF0;BLKCTL,关闪烁 0xA3;DISCTL,80Hz Line inversion,High Power mode 0xE8或0xEC;ICSE

love421的博客 3177

《精通CSS》第4章 网页排版

《精通 CSS》往期陪读章节:第 1 章 基础知识第 2 章 添加样式第 3 章 可见格式化模型或许大家会觉得排版都是设计师的工作,前端开发按照已经排版好的设计稿复原就行。当然,这样理解...

奇舞周刊 1066

用SOEM库搞定汇川SV660N伺服电机:一个Linux C程序员的EtherCAT实战笔记

本文详细介绍了如何在Linux系统下使用SOEM库驱动汇川SV660N伺服电机,包括环境搭建、EtherCAT从站设备识别、PDO映射配置、状态机切换与运动控制等关键步骤。通过实战代码示例和常见问题排查指南,帮助开发者快速掌握工业自动化中的EtherCAT通信技术,实现对伺服电机的精准控制。

weixin_29185199的博客 426

【异常】OpenClaw 项目 `fetch failed` 报错问题排查与解决方案Response interrupted: TypeError: fetch failed

针对无超时控制、异常兜底缺失导致的请求中断,封装标准化的安全请求工具,一次性解决超时控制、异常捕获、日志埋点三大问题,全项目替换原生。:将项目运行的 Node.js 版本升级至 18.x 及以上 LTS 版本,使用 Node.js 内置的稳定版。实现的网络请求环节,包括但不限于:第三方开放接口调用、内部服务接口通信、跨域资源请求、外部配置拉取等场景。:针对无法升级 Node.js 版本的存量环境,通过社区稳定兼容包替换原生。类型异常,直接造成业务请求响应中断。第二步:业务代码改造,替换原生。

奶爸的编程之路,也就一周冷个三天 368

全面解析Source Serif 4:从极细到黑体的专业排版字体解决方案

Source Serif 4是一款功能强大的开源衬线字体家族,专为满足现代数字排版需求而设计。作为Adobe开源字体系列的重要组成部分,它提供了从ExtraLight到Black的完整字重范围,支持多种光学尺寸优化,能够完美适应从小尺寸正文到大标题的各种排版场景。这款字体不仅与Source Sans无缝搭配,还提供了丰富的格式支持,包括OTF、TTF、WOFF和WOFF2等,是现代网页设计和印刷排

gitblog_00686的博客 1135

SAP-ABAP:FI财务会计模块常用BAPI及核心用途实例说明

SAP FI模块的BAPI覆盖了从主数据管理、凭证过账到财务关账的全流程操作,是系统集成与自动化的重要工具。实际应用中需结合业务场景选择合适的BAPI,并严格遵循事务控制与校验规则。如需扩展功能,可通过BAdI或用户出口增强标准逻辑。

baidu_35680696的博客 1601

Normalize-OpenType.css与原生CSS:5个让字体排版脱颖而出的关键差异

Normalize-OpenType.css是一款基于Normalize.css扩展的字体排版增强工具,它通过添加OpenType特性(如连字、字距调整等),让网页字体在不同浏览器中呈现更专业、一致的排版效果。对于追求精致排版细节的开发者来说,这款工具能显著提升文本的可读性和视觉吸引力。 ## 1. 智能连字系统:从"ff"到"stand"的视觉革命 原生CSS默认不会启用字体的连字功能,导致

gitblog_00898的博客 707

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

深入解析CSS字体属性:从font-family到高级排版技巧

本文全面解析了CSS中与字体相关的属性,从基础到高级应用。首先介绍了字体在Web设计中的重要性,包括提升可读性、建立视觉层次和增强品牌形象等作用。然后详细讲解了font-family、font-size、font-weight、font-style等基础属性的使用方法和最佳实践。在高级属性部分,深入探讨了line-height、font-variant、font-stretch以及@font-face自定义Web字体的应用技巧。文章还涵盖了CSS3新增的文字阴影、高级排版控制和可变字体等现代特性。最后提供了

独立开发者阿乐 — AI 搜索优化(GEO)· 全栈开发 · 站点增长实战 1053

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

精通CSS-网页排版

精通CSS-网页排版

qq_36973122的博客 1326

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

上一篇: 父组件修改子组件css_如何在纯CSS中构建过滤组件
下一篇: 使用CSS和jQuery选择父元素
daique1908
博客等级 码龄10年 29粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值