当前位置:首页 > CSS

css 制作字库

2026-02-27 06:57:44CSS

制作自定义字库的方法

使用CSS制作自定义字库通常涉及@font-face规则,允许引入非系统字体。以下是具体实现方式:

准备字体文件 确保拥有字体文件的合法使用权,常见格式包括.woff.woff2.ttf.eot。推荐使用woff2格式,因其压缩率高且现代浏览器普遍支持。

定义@font-face规则 在CSS中声明字体家族和源文件路径:

@font-face {
  font-family: 'MyCustomFont';
  src: url('fonts/custom-font.woff2') format('woff2'),
       url('fonts/custom-font.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

应用自定义字体 通过CSS选择器指定使用该字体:

body {
  font-family: 'MyCustomFont', sans-serif;
}

性能优化建议

字体子集化 使用工具如glyphhanger或在线服务提取仅需要的字符集,减少文件体积。例如仅保留中文字符或特定符号。

预加载关键字体 在HTML头部添加预加载提示:

<link rel="preload" href="fonts/custom-font.woff2" as="font" type="font/woff2" crossorigin>

设置font-display 控制字体加载期间的渲染行为,swap值确保文本始终可见,避免布局偏移:

@font-face {
  font-display: swap;
}

动态加载字体技术

JavaScript动态加载 通过事件监听实现按需加载:

document.fonts.load('1em MyCustomFont').then(() => {
  document.body.classList.add('fonts-loaded');
});

CSS变量控制 结合CSS变量实现主题字体切换:

:root {
  --main-font: 'MyCustomFont';
}
body.dark-theme {
  --main-font: 'AnotherCustomFont';
}

浏览器兼容性处理

多格式备用 为兼容旧版浏览器提供多种字体格式:

@font-face {
  src: url('font.eot?#iefix') format('embedded-opentype'),
       url('font.woff2') format('woff2'),
       url('font.woff') format('woff'),
       url('font.ttf') format('truetype');
}

检测字体加载 使用Font Face Observer库检测加载状态:

const font = new FontFaceObserver('MyCustomFont');
font.load().then(() => console.log('Font loaded'));

可变字体实现

单文件多字重 利用可变字体技术减少HTTP请求:

@font-face {
  font-family: 'VariableFont';
  src: url('font.woff2') format('woff2-variations');
  font-weight: 100 900;
  font-stretch: 75% 125%;
}

CSS控制字轴 精细调整可变字体参数:

css 制作字库

h1 {
  font-variation-settings: 'wght' 850, 'slnt' -10;
}

标签: 字库css
分享给朋友:

相关文章

如何制作css

如何制作css

创建CSS文件 新建一个纯文本文件,将文件扩展名改为.css,例如style.css。确保文件名不含空格或特殊字符,使用连字符或下划线分隔单词。 编写CSS语法 CSS规则由选择器和声明块组成。选择…

用css制作下拉菜单

用css制作下拉菜单

使用纯CSS制作下拉菜单 HTML结构 基础的下拉菜单需要嵌套的HTML结构,通常使用<ul>和<li>标签实现层级关系: <div class="dropdown"&…

css 制作箭头

css 制作箭头

使用 CSS 边框制作箭头 通过调整元素的边框宽度和颜色,利用透明边框的特性可以创建箭头效果。例如,制作一个向右的箭头: .arrow-right { width: 0; height: 0…

css制作导航栏

css制作导航栏

水平导航栏 使用 display: inline-block 或 flexbox 创建水平导航栏是最常见的方法。 <nav class="horizontal-nav"> <u…

css 制作三角形

css 制作三角形

使用边框制作三角形 通过设置元素的边框属性,利用边框交汇处的斜切特性生成三角形。将元素的宽高设为0,通过调整不同方向边框的宽度和颜色实现。 .triangle { width: 0; hei…

css表单制作

css表单制作

表单基础结构 使用HTML创建表单容器,包含<form>标签及输入字段。表单通常需要<input>、<label>、<textarea>等元素。…