Gahing's blog Gahing's blog
首页
知识体系
  • 前端基础
  • 应用框架
  • 工程能力
  • 应用基础
  • 专业领域
  • 业务场景
  • 前端晋升 (opens new window)
  • Git
  • 网络基础
  • 算法
  • 数据结构
  • 编程范式
  • 编解码
  • Linux
  • AIGC
  • 其他领域

    • 客户端
    • 服务端
    • 产品设计
软素质
  • 面试经验
  • 人生总结
  • 个人简历
  • 知识卡片
  • 灵感记录
  • 实用技巧
  • 知识科普
  • 友情链接
  • 美食推荐 (opens new window)
  • 收藏夹

    • 优质前端信息源 (opens new window)
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Gahing / francecil

To be best
首页
知识体系
  • 前端基础
  • 应用框架
  • 工程能力
  • 应用基础
  • 专业领域
  • 业务场景
  • 前端晋升 (opens new window)
  • Git
  • 网络基础
  • 算法
  • 数据结构
  • 编程范式
  • 编解码
  • Linux
  • AIGC
  • 其他领域

    • 客户端
    • 服务端
    • 产品设计
软素质
  • 面试经验
  • 人生总结
  • 个人简历
  • 知识卡片
  • 灵感记录
  • 实用技巧
  • 知识科普
  • 友情链接
  • 美食推荐 (opens new window)
  • 收藏夹

    • 优质前端信息源 (opens new window)
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 前端基础

    • 编程语言

      • CSS

      • HTML

        • LearningHTML
        • htmlparser实现
        • inline-block 文本宽度溢出问题
          • 故事是这样的...
          • 一个中文汉字的宽度是多大
          • 当然,有种场景是需要设置宽度的,就是显示省略号那种
            • inline-block 指定宽度导致字体换行
          • 字体比例
          • 系统默认字体
          • 字间距默认设置
        • svg笔记
        • css与js的阻塞关系
        • document-write重写
        • getElementsByClassName遍历时出现的问题
        • 前端小知识-格式化标签
        • 前端监听资源加载错误
        • 浅谈 View Transitions API
        • 通读 HTML Standard
      • JavaScript

      • Rust

      • TypeScript

      • WebAssembly

    • 开发工具

    • 前端调试

    • 浏览器原理

    • 浏览器生态

  • 应用框架

  • 工程能力

  • 应用基础

  • 专业领域

  • 业务场景

  • 大前端
  • 前端基础
  • 编程语言
  • HTML
gahing
2022-05-06
目录

inline-block 文本宽度溢出问题草稿

# 故事是这样的...

深夜 12 点,正当我快睡觉的时候,测试给我发了一条消息:「搜狗浏览器上,我们网站的布局乱了」

那时候我心想,估计是用了什么插件或者代理吧,改变了网站的样式(因为之前有遇到这样的情况),就直接回说:

「你在无痕模式下看看,记得别开代理」

以为事情就这么过去了,直到第二天上班,测试回我说,问题还在

这就让我纳闷了,我赶紧要了

# 一个中文汉字的宽度是多大

# 当然,有种场景是需要设置宽度的,就是显示省略号那种

# inline-block 指定宽度导致字体换行

成因:设计稿直接复制,设置了容器宽度

width: 30px;
1

但实际上字体可能会大于 30px

相同浏览器和操作系统,显示不一致??

设计稿 宽度 30px font-size: 15px

大概率是字体的原因

等宽字体 monospace 宽度比 font-size 大

sans-serif 设置了新宋体。奇数字体宽度为向上取偶数。标准字体为默认字体,即在没有设置family熟悉或者设置了从列表没找到相应字体时使用,再没找到就用系统默认的了。 arial 没有中文字体 10:06 其他两个一般系统默认不会安装

# 字体比例

下载一份新宋体,用 fontforge 打开看下效果

https://www.zhihu.com/question/20420500

https://developer.mozilla.org/zh-CN/docs/Web/CSS/font-family

https://www.w3cplus.com/css/css-font-metrics-line-height-and-vertical-align.html

https://fontforge.org/en-US/ 设计字体

# 系统默认字体

Chrome 浏览器默认字体是 xxx ,有几种选项,一般也不会去动,而搜狗浏览器的默认字体就直接只有一种选项

# 字间距默认设置

letter-spacing

默认值为 normal ,其值与 0 的区别是,用户代理可以设置这个属性的默认值

不过目前 Chrome 上我没找到可以设置的地方

编辑 (opens new window)
上次更新: 2024/09/01, 23:56:56
htmlparser实现
svg笔记

← htmlparser实现 svg笔记→

最近更新
01
浅谈代码质量与量化指标
08-27
02
快速理解 JS 装饰器
08-26
03
Vue 项目中的 data-v-xxx 是怎么生成的
09-19
更多文章>
Theme by Vdoing | Copyright © 2016-2024 Gahing | 闽ICP备19024221号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式