让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之后,就取消了该属性的支持,并且只对英文、数字生效


目录
相关文章
|
Web App开发 前端开发
前端:让Chrome浏览器支持小于12px 的文字方式
前端:让Chrome浏览器支持小于12px 的文字方式
105 0
|
Web App开发 JavaScript 前端开发
Chrome 控制台新玩法-console显示图片以及为文字加样式
  有兴趣的同学可以文章最后的代码复制贴到控制台玩玩。 Go for Code   在正常模式下,一般只能向console 控制台输出简单的文字信息。但为了把信息输出得更优雅更便于阅读,除了cosole.log()方法外还可以调用 cosole.warn() 来输出警告信息,在控制台中出来的效果如下: 在输出信息前面会有一个带感叹号的黄色三角警告符号。
1103 0
|
15天前
|
Web App开发 数据采集 存储
WebDriver与Chrome DevTools Protocol:如何在浏览器自动化中提升效率
本文探讨了如何利用Chrome DevTools Protocol (CDP) 与 Selenium WebDriver 提升浏览器自动化效率,结合代理IP技术高效采集微博数据。通过CDP,开发者可直接操作浏览器底层功能,如网络拦截、性能分析等,增强控制精度。示例代码展示了如何设置代理IP、cookie及user-agent来模拟真实用户行为,提高数据抓取成功率与稳定性。适用于需要频繁抓取互联网数据的应用场景。
WebDriver与Chrome DevTools Protocol:如何在浏览器自动化中提升效率
|
3月前
|
Web App开发 前端开发 JavaScript
Chrome 浏览器中执行 JavaScript
Chrome 浏览器中执行 JavaScript
204 0
|
8天前
|
Web App开发 存储 前端开发
Chrome浏览器的跨域问题
Chrome浏览器的跨域问题
|
1月前
|
Web App开发
Chrome——谷歌浏览器chrome如何模拟其他客户端
Chrome——谷歌浏览器chrome如何模拟其他客户端
75 1
Chrome——谷歌浏览器chrome如何模拟其他客户端
|
1月前
|
Web App开发 JSON 安全
【跨域难题终结者】:一键解锁Chrome浏览器神秘设置,彻底告别开发阶段的跨域烦恼!
【8月更文挑战第20天】跨域是前端开发常遇难题,尤其在前后端分离项目中。浏览器因安全考量会阻止不同源间的请求。本文对比CORS、JSONP、代理服务器等解法,并介绍开发阶段通过调整Chrome设置来临时禁用跨域限制的方法,提供启动Chrome及使用`fetch`API示例,适合快速测试。但请注意这不适用于生产环境,存在一定安全风险。
110 1
|
1月前
|
Web App开发
成功解决Chrome浏览器 控制台下看不到接口信息的问题
这篇文章提供了解决Chrome浏览器控制台不显示接口信息问题的方法,包括检查过滤设置和确保“保留日志”开关已打开。
成功解决Chrome浏览器 控制台下看不到接口信息的问题
|
1月前
|
Web App开发 前端开发 JavaScript
手摸手教你,从0到1开发一个Chrome浏览器插件
开发 Chrome 插件既有趣又具成就感。本教程将引导你从零开始,逐步创建一个简单的 Chrome 插件。首先了解 Chrome 插件是可增强浏览器功能的小程序。以一个基础示例开始,你将学习如何设置开发环境,包括安装 Chrome 和准备文本编辑器,并掌握 HTML、CSS 和 JavaScript 的基础知识。接着,我们将构建插件的基本结构,涉及 `manifest.json` 配置文件、`background.js` 后台脚本、`popup.html` 用户界面以及 `style.css` 样式表。
141 8

热门文章

最新文章