在HTML5中使用Noto Sans CJK字体的详细指南

在HTML5中使用Noto Sans CJK字体的详细指南

    • 方法一:通过Google Fonts在线加载Noto Sans CJK
      • 步骤 1:访问Google Fonts并获取字体链接
      • 步骤 2:获取字体的`<link>`标签
      • 步骤 3:在HTML文件中引入字体
    • 方法二:下载并本地托管Noto Sans CJK
      • 步骤 1:下载字体文件
      • 步骤 2:使用 `@font-face` 在CSS中加载字体
      • 步骤 3:在HTML文件中应用字体
    • 总结

在网页设计中,字体选择对用户体验至关重要。Noto Sans CJK 是 Google 提供的一个优秀的免费字体系列,支持中文简体、繁体以及日文字符,具有简洁现代的风格。本文将详细介绍如何在HTML5项目中使用 Noto Sans CJK 字体,包括在线加载和本地托管两种方式。

方法一:通过Google Fonts在线加载Noto Sans CJK

这种方法无需下载字体文件,直接通过 Google Fonts 提供的链接在线加载字体,非常方便。

步骤 1:访问Google Fonts并获取字体链接

  1. 打开 Google Fonts.
  2. 在搜索框中输入 “Noto Sans CJK”。
  3. 根据需要选择字体的语言版本:
    • Noto Sans SC(简体中文)
    • Noto Sans TC(繁体中文)
    • Noto Sans JP(日文)

步骤 2:获取字体的<link>标签

选择所需的字重(如常规、加粗),Google Fonts 会生成一个包含字体的 <link> 标签。例如,选择 Noto Sans SC,Google Fonts 生成如下链接:

<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;700&display=swap" rel="stylesheet">

步骤 3:在HTML文件中引入字体

将复制的 <link> 标签添加到 HTML 文件的 <head> 部分中。然后在 CSS 中使用 font-family 应用字体:

<!DOCTYPE html>
<html lang="zh">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>使用 Noto Sans CJK 字体</title><link href="https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;700&display=swap" rel="stylesheet"><style>body {font-family: 'Noto Sans SC', sans-serif;}</style>
</head>
<body><h1>这是 Noto Sans SC 字体的标题</h1><p>这是使用 Noto Sans SC 字体的段落内容。</p>
</body>
</html>

这样,网页就会加载并使用 Google Fonts 提供的在线字体。


方法二:下载并本地托管Noto Sans CJK

如果你希望在本地项目中托管字体(例如,确保字体在没有网络连接时也能使用),可以下载字体文件并通过 @font-face 引入。

步骤 1:下载字体文件

前往 Google Noto Fonts GitHub,下载你需要的字体文件。根据需要选择语言版本:

  • NotoSansSC-Regular.otf(简体中文)
  • NotoSansTC-Regular.otf(繁体中文)
  • NotoSansJP-Regular.otf(日文)

将下载的字体文件保存在项目的 fonts 文件夹中,例如:

/project/fontsNotoSansSC-Regular.otf

步骤 2:使用 @font-face 在CSS中加载字体

在你的 CSS 文件中通过 @font-face 引入字体文件:

@font-face {font-family: 'Noto Sans SC';src: url('fonts/NotoSansSC-Regular.otf') format('opentype');font-weight: normal;font-style: normal;
}

步骤 3:在HTML文件中应用字体

接下来,在 HTML 文件的样式中引用该字体:

<!DOCTYPE html>
<html lang="zh">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>本地托管 Noto Sans CJK 字体</title><style>@font-face {font-family: 'Noto Sans SC';src: url('fonts/NotoSansSC-Regular.otf') format('opentype');font-weight: normal;font-style: normal;}body {font-family: 'Noto Sans SC', sans-serif;}</style>
</head>
<body><h1>这是本地托管的 Noto Sans SC 字体标题</h1><p>这是使用本地托管 Noto Sans SC 字体的段落内容。</p>
</body>
</html>

这种方法非常适合需要离线访问的项目,或者希望完全掌控字体加载的开发场景。


总结

通过本文,你学到了两种使用 Noto Sans CJK 字体的方法:

  1. 在线加载:通过 Google Fonts 提供的链接加载字体,方便快捷。
  2. 本地托管:下载字体文件并在项目中使用 @font-face 引入字体,适合离线或对字体加载有更高控制要求的项目。

这两种方式都可以根据项目的具体需求来选择使用,让你能够轻松地为网页项目添加优美的中文和日文字体。

refer:

  • https://github.com/notofonts/noto-cjk
  • https://fonts.google.com/
  • https://fonts.google.com/specimen/Roboto

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/53451.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

agentuniverse快速开始和踩坑

https://github.com/alipay/agentUniverse/tree/mastergithub地址:https://github.com/alipay/agentUniverse/tree/master 老大看了演示demo也想跟着做个agent工具,但踩坑太多,含泪写下博客 前置环节 git clone https://github.com/alipay/agentUniverse.git conda create -n…

AndroidStudio清除重置Http Proxy代理的方式

问题背景 在国内做代码开发的都知道&#xff0c;在国际互联网我们存在看不见的墙&#xff0c;导致无法访问一些代码库和资源&#xff0c;所以在使用开发工具拉取第三方库的时候总会遇到无法连接或者连接超时的情况&#xff0c;所以就会使用一些安全的网络代理工具&#xff0c;辅…

【JavaSE】Java基本数据类型缓存池

new Integer(18) 、 Integer.valueOf(18) 、Integer.valueOf(300) 的区别 new Integer(18) &#xff1a;每次都会创建一个新对象Integer.valueOf(x)&#xff1a; x in [-128, 127]&#xff1a;使用缓存池中的对象x not in [-128, 127]&#xff1a;创建新对象 Integer缓存池大…

windows清理图标缓存

方法一 删除 IconCache.db 文件 进入 C:\Users\用户名\appdata\local 目录&#xff0c;直接删除 IconCache.db 文件&#xff0c;重启电脑。 需要注意的是&#xff0c;这一步中 appdata 文件夹和 IconCache.db 文件都是隐藏的系统文件&#xff0c;需要手动输入地址或者显示隐藏…

【Qt】事件分发器

事件分发器 概述 在 Qt 中&#xff0c;事件分发器(Event Dispatcher) 是⼀个核⼼概念&#xff0c;⽤于处理 GUI 应⽤程序中的事件。事件分发器负责将事件从⼀个对象传递到另⼀个对象&#xff0c;直到事件被处理或被取消。每个继承⾃ QObject类 或 QObject类 本⾝都可以在本类中…

《纳瓦尔宝典》的核心思想在于阐述如何通过智慧和策略实现财富自由和生活幸福

《纳瓦尔宝典》概况 图书概况 《纳瓦尔宝典》是2022年5月10日由中信出版社出版的一本书籍&#xff0c;作者是美国作家埃里克乔根森。该书通过收集和整理硅谷知名天使投资人纳瓦尔拉维坎特在推特、博客和播客等平台上的智慧箴言&#xff0c;形成了一本关于财富积累和幸福人生的…

如何在红米手机中恢复已删除的照片?(6 种方式可供选择)

凭借出色的相机和实惠的价格&#xff0c;小米红米系列已成为全球知名品牌。但是&#xff0c;最近有些人抱怨他们在 红米设备上丢失了许多珍贵的图片或视频&#xff0c;并希望弄清楚如何从小米手机恢复已删除的照片。好吧&#xff0c;在小米设备上恢复已删除的视频/照片并不难。…

AI预测福彩3D采取888=3策略+和值012路或胆码测试9月8日新模型预测第81弹

经过80期的测试&#xff0c;当然有很多彩友也一直在观察我每天发的预测结果&#xff0c;得到了一个非常有价值的信息&#xff0c;那就是9码定位的命中率非常高&#xff0c;70多期一共只错了8次&#xff0c;这给喜欢打私房菜的朋友提供了极高价值的预测结果~当然了&#xff0c;大…

接口(Interface)和端点(Endpoint)的区别

在软件开发和相关的文档中&#xff0c;我们经常会看到两个专有名词&#xff1a;接口&#xff08;Interface&#xff09;和端点&#xff08;Endpoint&#xff09;。而它们的使用场景有很大的重合部分&#xff0c;让人有些分不清到底用哪个。那么&#xff0c;这两者到底有什么区别…

牛客周赛 Round 59(下)

逆序数 题目描述 登录—专业IT笔试面试备考平台_牛客网 运行代码 #include<bits/stdc.h> using namespace std; typedef long long ll; int main() {ll n,k;cin>>n>>k;ll sum(n*(n-1))/2;cout<<sum-k<<endl;return 0; } 代码思路 组合数的计…

手机到了外地ip地址就变了吗

手机到了外地IP地址就变了吗&#xff1f;随着智能手机的普及&#xff0c;人们越来越频繁地使用手机进行各种网络活动。然而&#xff0c;关于手机IP地址是否会随着地理位置的变化而改变&#xff0c;许多用户仍心存疑惑。本文将深入探讨这一问题&#xff0c;揭示IP地址变化的奥秘…

vue原理分析(八)研究new Vue()中的initProxy

在Vue.prototype._init 中有一些init函数&#xff0c;今天我们来研究这些init函数 Vue.prototype._init function (options) {......{initProxy(vm);}......initLifecycle(vm);initEvents(vm);initRender(vm);callHook$1(vm, beforeCreate, undefined, false /* setContext *…

【C/C++】“秒懂”学C/C++不可错过的“经典编程题” — 日期类的经典运用 (含题链接)

“秒懂”学C/C不可错过的“经典编程题” — 日期类的经典运用 (含题链接&#xff09; 1. 计算日期到天数转换(1). 解题思路&#xff1a;(2). 代码实现&#xff1a; 2. 打印日期(1). 解题思路&#xff1a;(2). 代码实现&#xff1a; 3. 日期累加(1). 解题思路&#xff1a;(2). 代…

JS笔记

9.7 1.流程控制 1.1.for..in..循环 1.for...in 语句用来遍历对象的每一个属性。每次都将属性名作为字符串保存在变量里 2.在无法预知对象的任何信息&#xff0c;和循环次数的时候使用 书写格式如下 for (变量 in 对象) {代码段 } 1.2.whil语句 while 循环会在指定条件…

顶点照明渲染路径

1. 顶点照明渲染路径处理光照的方式 基本思想就是所有的光都按照逐顶点的方式进行计算的&#xff0c;在内置渲染管线中&#xff0c;它只会最多记录8个光源的数据&#xff0c;只会将光相关的数据填充到那些逐顶点相关的内置光源变量 顶点照明渲染路径仅仅是前向渲染路径的一个…

【数据结构】希尔排序(缩小增量排序)

目录 一、基本思想 1.1 引入希尔排序的原因 1.2 基本思想 二、思路分析 三、gap分组问题 四、代码实现 4.1 代码一&#xff08;升序&#xff09; 4.2 代码二&#xff08;升序&#xff09; 五、易错提醒 六、时间复杂度分析 七、排序小tips 一、基本思想 1.1 引入希尔…

【即时通讯】轮询方式实现

技术栈 LayUI、jQuery实现前端效果。django4.2、django-ninja实现后端接口。 代码仓 - 后端 代码仓 - 前端 实现功能 首次访问页面并发送消息时需要设置昵称发送内容为空时要提示用户不能发送空消息前端定时获取消息&#xff0c;然后展示在页面上。 效果展示 首次发送需要…

【老课推荐】基于LangChain和知识图谱的大模型医疗问答机器人项目

在当今数据驱动和人工智能主导的时代&#xff0c;大模型和知识图谱的结合是一个重要的研究和应用方向。大模型实战课程通过48课时&#xff0c;分为六个主要章节&#xff0c;涵盖了从基本概念到高级应用的多方面内容。学员将通过本课程学习如何使用LangChain和OpenAI进行开发&am…

windows10-VMware17-Ubuntu-22.04-海康2K摄像头兼容问题,求解(已解决)

文章目录 1.webrtc camera测试2.ffmpeg 测试3.Ubuntu 自带相机4.解决办法 环境&#xff1a;windows10系统下&#xff0c;VMware的Ubuntu-22.04系统 问题&#xff1a;摄像头出现兼容问题&#xff0c;本来是想开发测试的&#xff0c;Ubuntu方便些。买了海康2K的USB摄像头&#xf…

自动驾驶ADAS算法--使用MATLBA和UE4生成测试视频

原文参考&#xff1a;金书世界 环境搭建参考&#xff1a;用MATLAB2020b和虚拟引擎&#xff08;Unreal Engine&#xff09;联合仿真输出AVM全景测试视频----Matlab环境搭建 matlab参考&#xff1a; https://ww2.mathworks.cn/help/driving/ug/simulate-a-simple-driving-sce…