让Chrome支持小于12px 的文字方式有哪些?区别?

简介: 让Chrome支持小于12px 的文字方式有哪些?区别?

3f35a54f249cf22a09e343a282bfaf2d.png

一、背景


Chrome 中文版浏览器会默认设定页面的最小字号是12px,英文版没有限制


原由 Chrome 团队认为汉字小于12px就会增加识别难度


中文版浏览器

与网页语言无关,取决于用户在Chrome的设置里(chrome://settings/languages)把哪种语言设置为默认显示语言


系统级最小字号

浏览器默认设定页面的最小字号,用户可以前往 chrome://settings/fonts 根据需求更改


而我们在实际项目中,不能奢求用户更改浏览器设置


对于文本需要以更小的字号来显示,就需要用到一些小技巧


二、解决方案


常见的解决方案有:


  • zoom
  • -webkit-transform:scale()
  • -webkit-text-size-adjust:none


1、Zoom


zoom 的字面意思是“变焦”,可以改变页面上元素的尺寸,属于真实尺寸


其支持的值类型有:


zoom:50%,表示缩小到原来的一半

zoom:0.5,表示缩小到原来的一半

使用 zoom 来”支持“ 12px 以下的字体


代码如下:


<style type="text/css">
    .span1{
        font-size: 12px;
        display: inline-block;
        zoom: 0.8;
    }
    .span2{
        display: inline-block;
        font-size: 12px;
    }
</style>
<body>
    <span class="span1">测试10px</span>
    <span class="span2">测试12px</span>
</body>


效果如下:


需要注意的是,Zoom 并不是标准属性,需要考虑其兼容性


caca6f0851735385a675c8f179664ba6_7fb7f554f1c494f28b3a17065dbc3605.png


2、-webkit-transform:scale()


针对chrome浏览器,加webkit前缀,用transform:scale()这个属性进行放缩


注意的是,使用scale属性只对可以定义宽高的元素生效,所以,下面代码中将span元素转为行内块元素


实现代码如下:


<style type="text/css">
    .span1{
        font-size: 12px;
        display: inline-block;
        -webkit-transform:scale(0.8);
    }
    .span2{
        display: inline-block;
        font-size: 12px;
    }
</style>
<body>
    <span class="span1">测试10px</span>
    <span class="span2">测试12px</span>
</body>


效果如下:


b27e7b59118b166fc4725b0f06a63678_5d45a08b33a278bb1601678d3a27976f.png


3、-webkit-text-size-adjust:none


该属性用来设定文字大小是否根据设备(浏览器)来自动调整显示大小


属性值:


  • percentage:字体显示的大小;
  • auto:默认,字体大小会根据设备/浏览器来自动调整;
  • none:字体大小不会自动调整


html { -webkit-text-size-adjust: none; }


这样设置之后会有一个问题,就是当你放大网页时,一般情况下字体也会随着变大,而设置了以上代码后,字体只会显示你当前设置的字体大小,不会随着网页放大而变大了


所以,我们不建议全局应用该属性,而是单独对某一属性使用


需要注意的是,自从chrome 27之后,就取消了对这个属性的支持。同时,该属性只对英文、数字生效,对中文不生效


总结


Zoom 非标属性,有兼容问题,缩放会改变了元素占据的空间大小,触发重排


-webkit-transform:scale() 大部分现代浏览器支持,并且对英文、数字、中文也能够生效,缩放不会改变了元素占据的空间大小,页面布局不会发生变化


-webkit-text-size-adjust对谷歌浏览器有版本要求,在27之后,就取消了该属性的支持,并且只对英文、数字生效


目录
相关文章
|
1月前
|
Web App开发 编解码 JavaScript
让Chrome支持小于12px的文字方式
【10月更文挑战第24天】不同的方式可能适用于不同的场景和需求,在实际应用中需要根据具体情况进行选择和权衡。同时,也要密切关注不同浏览器对这些方式的支持情况和可能出现的兼容性问题,以确保文字在各种环境下都能得到良好的显示。
|
Web App开发 前端开发
前端:让Chrome浏览器支持小于12px 的文字方式
前端:让Chrome浏览器支持小于12px 的文字方式
119 0
|
Web App开发 JavaScript 前端开发
Chrome 控制台新玩法-console显示图片以及为文字加样式
  有兴趣的同学可以文章最后的代码复制贴到控制台玩玩。 Go for Code   在正常模式下,一般只能向console 控制台输出简单的文字信息。但为了把信息输出得更优雅更便于阅读,除了cosole.log()方法外还可以调用 cosole.warn() 来输出警告信息,在控制台中出来的效果如下: 在输出信息前面会有一个带感叹号的黄色三角警告符号。
1127 0
|
3月前
|
Web App开发 数据采集 存储
WebDriver与Chrome DevTools Protocol:如何在浏览器自动化中提升效率
本文探讨了如何利用Chrome DevTools Protocol (CDP) 与 Selenium WebDriver 提升浏览器自动化效率,结合代理IP技术高效采集微博数据。通过CDP,开发者可直接操作浏览器底层功能,如网络拦截、性能分析等,增强控制精度。示例代码展示了如何设置代理IP、cookie及user-agent来模拟真实用户行为,提高数据抓取成功率与稳定性。适用于需要频繁抓取互联网数据的应用场景。
539 3
WebDriver与Chrome DevTools Protocol:如何在浏览器自动化中提升效率
|
1月前
|
Web App开发 缓存 安全
WIN11 Chrome 双击打不开闪退及Chrome浏览器不能拖拽文件crx
【11月更文挑战第6天】本文介绍了 WIN11 系统中 Chrome 浏览器双击打不开闪退及不能拖拽文件 crx 的原因和解决方法。包括浏览器版本过旧、扩展程序冲突、硬件加速问题、缓存过多、安全软件冲突、系统文件损坏、用户配置文件损坏等问题的解决方案,以及 crx 文件的屏蔽、权限问题和文件格式问题的处理方法。
108 2
|
1月前
|
Web App开发 Linux iOS开发
Chrome浏览器如何导出所有书签并导入书签
【11月更文挑战第4天】本文介绍了如何在 Chrome 浏览器中导出和导入书签。导出时,打开书签管理器,点击“整理”按钮选择“导出书签”,保存为 HTML 文件。导入时,同样打开书签管理器,点击“整理”按钮选择“导入书签”,选择之前导出的 HTML 文件即可。其他主流浏览器也支持导入这种格式的书签文件。
168 2
|
1月前
|
Web App开发 JavaScript 前端开发
使用 Chrome 浏览器的内存分析工具来检测 JavaScript 中的内存泄漏
【10月更文挑战第25天】利用 Chrome 浏览器的内存分析工具,可以较为准确地检测 JavaScript 中的内存泄漏问题,并帮助我们找出潜在的泄漏点,以便采取相应的解决措施。
250 9
|
2月前
|
Web App开发 开发者
|
2月前
|
Web App开发 JSON 安全
Chrome浏览器的跨域问题
【10月更文挑战第6天】