You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React旧项目引入自定义字体后竖线光标过小问题咨询

解决旧React项目中自定义字体光标过小问题
  • 确保字体正确加载并配置
    先检查旧项目中@font-face的配置是否和新项目一致,确认字体路径、格式和加载策略:

    @font-face {
      font-family: 'CorporateLogo';
      src: url('../fonts/Corporate-Logo-Bold-ver3.woff') format('woff');
      font-weight: bold;
      font-style: normal;
      font-display: swap; /* 避免字体未加载时用 fallback 字体导致光标异常 */
    }
    
  • 直接调整输入框与光标样式
    不要仅依赖line-height,尝试组合设置输入框的高度、内边距,或直接针对光标调整:

    /* 目标输入框/文本域样式 */
    .custom-input {
      font-family: 'CorporateLogo', sans-serif;
      font-size: 16px; /* 明确字体大小 */
      height: 2.4em; /* 匹配字体的视觉高度 */
      padding: 0.4em 0.6em; /* 增加内边距让光标有足够空间 */
      box-sizing: border-box;
    }
    
    /* WebKit内核浏览器可直接调整光标高度 */
    .custom-input::-webkit-caret {
      height: 1.8em;
    }
    
    /* 部分浏览器支持设置光标为块状,提升视觉大小 */
    .custom-input {
      caret-shape: block;
    }
    
  • 排查全局样式冲突
    旧项目可能存在全局CSS重置或继承样式,比如对input/textarea设置了固定line-height、height或font-family覆盖,检查全局样式文件,确保自定义字体优先级更高(比如使用类名或ID选择器)。

  • 调整字体度量适配
    部分自定义字体的内置度量(如ascender/descender)特殊,导致浏览器计算光标高度异常,可尝试用font-size-adjust调整:

    .custom-input {
      font-size-adjust: 0.6; /* 根据新项目中字体的渲染比例调整,需多次测试 */
    }
    

内容的提问来源于stack exchange,提问作者TanTan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 05:01:32