Vue.js中全局替换字体及font-family 自定义字体
- html
- 1天前
- 6热度
- 0评论
全局字体替换
-
添加自定义字体
首先,你需要将自定义字体文件(如.ttf, .woff, .woff2等格式)添加到项目的静态资源目录,通常是src/assets下。 -
链接字体文件
接下来,在项目的主入口文件(通常是src/main.js)或者在public/index.html头部添加CSS链接,以加载字体文件。如果是在Vue CLI项目中,你可能需要在public目录下的index.html中添加:<link rel="stylesheet" href="<path-to-your-fonts-css>"> 或 import '@/assets/css/index.css'
这里的
- 编写@font-face规则
在你的CSS文件中,编写@font-face规则来定义自定义字体:@font-face { font-family: 'YourFontName'; src: url('<path-to-your-font-file>.woff2') format('woff2'), url('<path-to-your-font-file>.woff') format('woff'); font-weight: normal; font-style: normal; }
确保路径正确指向字体文件。
如:
@font-face {
font-family: 'NotoSans-SC'; /* 定义一个新的字体名称 */
src: url('/src/assets/font/NotoSans-SC.ttf'); /* 指定字体文件的URL和格式 */
font-weight: normal; /* 设置字体的粗细 */
font-style: normal; /* 设置字体的样式(如斜体) */
}
- 设置全局font-family
在Vue项目中,你可以通过在src/App.vue或全局样式文件(如src/styles/global.css)中设置font-family属性来全局应用自定义字体:body { font-family: 'YourFontName', sans-serif; }
这样,整个应用将使用YourFontName字体,如果该字体不可用,则回退到默认的无衬线字体。
使用自定义字体图标
-
引入字体图标库
对于字体图标,如Font Awesome或Iconfont,你同样需要将图标库的字体文件添加到项目中,并在CSS中定义使用规则。 -
在组件中使用字体图标
在Vue组件中使用字体图标时,可以像使用普通HTML元素一样使用标签,并添加相应的类名:<i class="fa fa-windows"></i>
确保你的CSS中包含了对字体图标的定义,如:
.fa-windows:before { content: "\f1eb"; }
其中\f1eb是该图标在字体库中的Unicode字符编码。
字体格式比较
OTF (OpenType Font):
特点:支持高级排版特性,如连字、替代字符。
优点:兼容性好,适用于复杂排版需求。
选择原因:适合需要高质量排版的项目。
TTF (TrueType Font):
特点:广泛使用,支持大多数操作系统。
优点:良好的可读性,适合屏幕显示。
缺点:文件相对较大,不支持部分高级排版特性。
WOFF/WOFF2 (Web Open Font Format):
特点:专为网页设计,基于压缩的 TTF/OTF。
优点:文件小,加载快,支持现代浏览器。
缺点:不兼容较旧的浏览器。
EOT (Embedded OpenType):
特点:微软开发,主要用于旧版 IE 浏览器。
优点:支持 IE 浏览器。
缺点:逐渐被淘汰,不支持其他浏览器。