前端如何保证设置的font-family成功生效?

背景

最近开发的一个新页面,在产品验收的时候跟我反馈说页面里的字体跟设计稿中的字体不一样;

问题的关键是我明明记得我有单独设置过 font-family属性,于是我通过Chorme浏览器的调试工具查看了一下DOM的生效样式;

在这里插入图片描述

明明是已经设置了字体样式的,但是为什么没有生效呢?

作为前端开发者,我们知道如果设置的字体不生效,浏览器是会使用操作系统的兜底字体的,那么我们该怎么确认设置的字体是真正生效了呢?

解决方案

其实Chorme的调试工具已经提供了核实的功能:Computed => Rendered Fonts

通过Rendered Fonts功能,我核实了一下,当前DOM的字体确实没有生效,可以通过Rendered Fonts下面的 PingFang SC 看出来当前生效的字体是系统兜底的字体;

在这里插入图片描述

通过代码的排查,发现是我自己把font-family设置的有问题,于是我做了修改后再来通过Rendered Fontd 核实一下

在这里插入图片描述

可以看出来我们修改后的字体确实是生效了,于是完美解决一个BUG.

最后我们看一下正确设置字体前后的对比

在这里插入图片描述
在这里插入图片描述

仔细对比还是有区别的,还是得要一个像素眼和细心才能注意到这些细节~

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
确定应用于所选字符串的字体。 ■使用方法 フォント判定したい文字列を選択し、右クリックで「Rendered Font」をクリック。 ※選択文字列の最初の一文字が判定対象となります。 ■ブラウザのフォント適用ロジックについて フォントはfont-familyに指定された順番で優先的に適用されます。また、フォントに該当の文字列が格納されていない場合は次の優先順位のフォントが適用され、いずれも適用できるフォントが無い場合はブラウザに設定されたデフォルトのフォントが適用されます。 つまり同じ文章でも一文字単位で違うフォントが適用される可能性があるため、フォント判定は任意の一文字を対象にする必要があります。 ■フォントの判定プロセス(概要) < 判定対象文字列の指定 > 1.ブラウザ上で判定対象となる文字列を選択し、右クリックで「Rendered Font」をクリック。選択文字列の最初の一文字が判定対象となります。 < font> 2.文字列を格納するDOM要素を取得し、window.getComputedStyleで要素に指定されているfont-familyを取得。 < 判定対象の文字列にfont-family中のどのフォントが適用されているかを調べる > 3.テスト用DOM要素を作成し、判定対象の1文字を10個(任意)ほど格納する。 4.まずは2で取得したfont-familyをそのまま適用したときの要素のwidthとheightを調べる 5.次にfont-familyに設定されたフォント名をそれぞれ単独で適用したときのwidthとheightを調べ、4の値と比較し、値が一致したフォントが実際に適用されているフォントであると判定します。 支持语言:日本語
回答: 在CSS中,可以使用font-family属性来定义文本的字体系列。例如,可以使用以下代码将字体系列设置为"微软雅黑": p { font-family: "微软雅黑"; } 可以使用逗号分隔多个字体系列,以便在某些情况下无法加载指定字体时,可以使用备用字体。例如: div { font-family: Arial, "Microsoft Yahei", "微软雅黑"; } 关于line-height的设置,可以使用具体的数值或者预定义的关键字来定义行高。例如,可以使用以下代码将行高设置为1.5倍字体大小: p { line-height: 1.5; } 也可以使用预定义的关键字,如"normal"表示正常行高,"inherit"表示继承父元素的行高等。 希望以上回答能够解决您的问题。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [CSS字体属性(font-family、font-size、font-weight、font-style)](https://blog.csdn.net/weixin_42579348/article/details/109185395)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【文本】HTML5 Canvas设置字型属性(font-style、font-variant、font-weight、font-size、line-height、font...](https://blog.csdn.net/HuoYiHengYuan/article/details/101677114)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乐闻x

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值