CSS的font-stretch属性与字符胖瘦控制

font-stretch CSS 属性用于选择字体的一个更宽(expanded)或更窄(condensed)的版本,以控制字符的"胖瘦"。然而,需要注意的是,并非所有的字体都支持多种拉伸变体(stretch variants)。如果指定的字体没有可用的拉伸变体,那么浏览器将使用字体的默认样式。

font-stretch 属性可以设置为以下几种值之一,这些值按照从窄到宽的顺序排列:

  • normal:字体的默认宽度。
  • condensed:比正常宽度窄的字体。
  • semi-condensed:比 condensed 宽,但比 normal 窄的字体。
  • expanded:比正常宽度宽的字体。
  • semi-expanded:比 normal 宽,但比 expanded 窄的字体。
  • extra-condensedextra-expandedultra-condensedultra-expanded:这些值提供了比 condensedexpanded 更极端的变体,但并非所有字体都支持这些值。

使用示例

假设你有一个网页,想要改变某个段落文本的字体宽度:

html 复制代码
<!DOCTYPE html>
<html>
<head>
    <style>
        .normal {
            font-family: Arial, sans-serif;
            font-stretch: normal;
        }
        
        .condensed {
            font-family: Arial, sans-serif;
            font-stretch: condensed;
        }
        
        .expanded {
            font-family: Arial, sans-serif;
            font-stretch: expanded;
        }
    </style>
</head>
<body>

<p class="normal">这是一段使用正常字体宽度的文本。</p>
<p class="condensed">这是一段使用窄字体宽度的文本。</p>
<p class="expanded">这是一段使用宽字体宽度的文本。</p>

</body>
</html>

注意 :在上面的示例中,Arial 字体可能不支持 condensedexpanded 拉伸变体,所以这些值可能不会按预期改变文本的宽度。为了看到 font-stretch 的效果,你可能需要使用一个支持多种拉伸变体的字体,例如某些 Web 字体服务(如 Google Fonts)提供的字体。

兼容性

font-stretch 属性在大多数现代浏览器中都有良好的支持,但在旧版本的浏览器中可能不受支持或表现不一致。因此,在设计网站时,考虑目标用户的浏览器兼容性是很重要的。

总之,font-stretch 属性提供了一种控制字符胖瘦(即字体宽度)的方法,但需要注意字体的可用性和浏览器的兼容性。

相关推荐
吴声子夜歌1 分钟前
Vue3——Vue实例与数据绑定
前端·javascript·vue.js
我是若尘31 分钟前
Harness Engineering:2026 年 AI 编程的核心战场
前端·后端·程序员
weixin199701080161 小时前
《快手商品详情页前端性能优化实战》
前端·性能优化
IT_陈寒2 小时前
折腾一天才明白:Vite的热更新为什么偶尔会罢工
前端·人工智能·后端
AI茶水间管理员3 小时前
学习ClaudeCode源码之Agent核心循环
前端·人工智能·后端
CodeAI3 小时前
TailwindCSS 核心概念与实用技巧:从传统CSS到Utility-First迁移指南
css
挖稀泥的工人3 小时前
AI聊天界面的布局细节和打字跟随方法
前端·javascript·面试
竹林8183 小时前
从“连接失败”到丝滑登录:我用 ethers.js 连接 MetaMask 的完整踩坑记录
前端·javascript
颜酱3 小时前
图片大模型实践:可灵(Kling)文生图前后端实现
前端·javascript·人工智能
木斯佳3 小时前
前端八股文面经大全:腾讯CSIG实习面(2026-04-10)·面经深度解析
前端·ai·xss·埋点·实习面经