2025-05-16
@font-face
引入自定義字體文件:
@font-face {
font-family: 'Inter';
src: url('/fonts/inter-variable.woff2') format('woff2-variations');
font-weight: 100 900; /* 可變字體范圍 */
font-display: swap; /* 控制字體加載時(shí)的顯示策略 */
}
body {
font-family: 'Inter', system-ui, sans-serif;
}
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;700&display=swap" rel="stylesheet">
<style>
body {
font-family: 'Inter', sans-serif;
}
</style>
@font-face {
font-family: 'Inter';
src: url('/fonts/inter.woff2') format('woff2');
font-weight: 100 900; /* 支持100-900范圍內(nèi)任意字重 */
}
h1 {
font-weight: 800; /* 使用可變范圍內(nèi)的任意值 */
}
/* 僅包含英文和數(shù)字 */
@font-face {
font-family: 'Inter';
src: url('/fonts/inter-subset.woff2') format('woff2');
unicode-range: U+0020-007E, U+00A0-00FF; /* ASCII字符范圍 */
}
<link rel="preload">
優(yōu)先加載核心字體:
<link rel="preload" href="/fonts/inter.woff2" as="font" type="font/woff2" crossorigin>
font-display
屬性優(yōu)化字體加載時(shí)的顯示行為:
@font-face {
font-family: 'Inter';
src: url('/fonts/inter.woff2') format('woff2');
font-display: swap; /* 先顯示系統(tǒng)字體,字體加載后替換 */
}
:root {
--font-primary: 'Inter', sans-serif;
--font-secondary: 'Merriweather', serif;
--text-xs: clamp(0.75rem, 0.9vw, 0.875rem); /* 12-14px */
--text-sm: clamp(0.875rem, 1vw, 1rem); /* 14-16px */
--text-base: clamp(1rem, 1.2vw, 1.125rem); /* 16-18px */
--text-lg: clamp(1.125rem, 1.5vw, 1.25rem); /* 18-20px */
--text-xl: clamp(1.25rem, 2vw, 1.5rem); /* 20-24px */
--text-2xl: clamp(1.5rem, 3vw, 2rem); /* 24-32px */
--text-3xl: clamp(2rem, 4vw, 2.5rem); /* 32-40px */
--text-4xl: clamp(2.5rem, 6vw, 3.5rem); /* 40-56px */
}
body {
line-height: 1.5; /* 正文理想行高 */
letter-spacing: 0.02em; /* 適當(dāng)字間距 */
}
h1, h2, h3 {
line-height: 1.2; /* 標(biāo)題更緊湊的行高 */
}
clamp()
或媒體查詢適配不同屏幕:
h1 {
font-size: clamp(1.5rem, 3vw, 2.5rem); /* 隨視口變化的字體大小 */
}
@media (max-width: 600px) {
body {
font-size: 0.9rem; /* 小屏幕調(diào)整基準(zhǔn)字體大小 */
}
}
body {
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
<script src="https://cdn.jsdelivr.net/npm/fontfaceobserver@2.1.0/fontfaceobserver.standalone.js"></script>
<script>
const interFont = new FontFaceObserver('Inter');
interFont.load().then(() => {
document.documentElement.classList.add('font-loaded');
}).catch(() => {
console.log('Inter font failed to load');
});
</script>
system-ui
),加載最快。
品牌策略與規(guī)劃
品牌形象識(shí)別設(shè)計(jì)
品牌傳播設(shè)計(jì)
宣傳物料體系設(shè)計(jì)
品牌包裝體系設(shè)計(jì)
信息與導(dǎo)視系統(tǒng)設(shè)計(jì)
網(wǎng)絡(luò)/新媒體設(shè)計(jì)
專賣店/展會(huì)空間設(shè)計(jì)