首页IT科技浏览器字体最小12px(设置浏览器显示小于12px以下字体的三种方法)

浏览器字体最小12px(设置浏览器显示小于12px以下字体的三种方法)

时间2025-06-15 09:01:15分类IT科技浏览8358
导读:使用场景: 以往设计图给的字号一般最小就是12px, 开发人员一般是使用谷歌浏览器来进行调试运行。...

使用场景:

以往设计图给的字号一般最小就是12px                , 开发人员一般是使用谷歌浏览器来进行调试运行                。

谷歌浏览器上显示字体最小为12px                          ,css设置font-size:10px         ,运行代码显示结果仍然是12px大小            ,但是挡不住甲方有时就是强调使用的字号                         ,必须是特别小的字号              ,就比如说某些网站设计的噱头–“买房送老婆                ”        ,但其实你不知道的是                        ,在“老婆                          ”两个字之后                  ,还有一个小到你需要用放大镜去看的“         ”字    ,就问你惊不惊喜                        ,意不意外?

问题描述

谷歌浏览器                      ,以及最近将取代IE的Edge浏览器,显示小于12px字号的解决办法

了解一点开发的人都知道                    ,谷歌浏览器显示的最小字号就是12px                          ,即使你设定的字体为10px    ,默认显示的也是12px                ,当然除了谷歌之外                          ,新出的Edge浏览器也有同样的问题         ,主要原因还是因为内核使用的是同一个            ,常用的浏览器除了这两个之外                         ,其实IE                、火狐浏览器                          、移动端等小于12px的字号大小还是可以正常显示的                          。下图是我自己做的一个实验              ,结果如图所示:

试想若是全篇文字8px大小        ,阅读的时候得有多费眼睛                        ,估计大多数人看到这么小的字体之后                  ,都会自觉放大页面也去看吧?其实最小字号12px只是谷歌浏览器的一个默认的基础值设定    ,只是为了不影响正常阅读而已                        ,既然是设定值                      ,那理所当然是可以更改的         。

解决方案一:

更改谷歌浏览器的基础设定12px值,用来解决开发人员的调试问题

步骤:

点开浏览器右上角的三个点                    ,点击“设置            ” 选择“外观                         ”                          ,找到“自定义字体              ”    ,在自定义字体中找到“最小字号        ”                ,将最小字号的进度条直接拉到最左边                          ,这就表示最小字号是多少由你说了算            。 如果你找不到自定义字体这个选项         ,你也可以直接在设置页面最上面的搜索框里            ,直接输入字号                         ,回车              ,页面会自动筛选出相应设置项        ,然后一样修改就可以了                         。在这个页面你可以看到                        ,不仅可以修改默认的最小字号                  ,还可以修改默认显示的字号         、字体样式等 老版本的可能是在“显示高级设置…                        ”里    ,如果根据我的提示                        ,你还是找不到                      ,那我还是建议你更新浏览器版本吧              。

在这之前有人说使用-webkit-text-size-adjust: none;解除字号限制,不过不知道为啥                    ,我看着页面并没有效果                          ,可能是现在已经废除了这种写法        。

第一种解决方法是让开发人员用来调试代码    ,这样可以更直观的观察                ,其他浏览器小于12px字号的显示大小效果                          ,因为除了谷歌            、edge之外         ,常用的浏览器字号是能正常显示的                        。

但是这种方法并没有解决谷歌浏览器在普通用户页面的显示效果            ,接下来                         ,我们使用第二种办法                  。

解决方案二:

使用缩放transform:scale()              ,使用较为广泛

优点:单行                         、多行文本都可使用

缺点:只是视觉效果变小        ,并不会改变盒子的实际占位                        ,在对齐其他盒子时不太友好

步骤:

文本

文本嵌套块标签                  ,这是因为缩放只对有宽高的标签有效    ,缩放的时候也是将标签一起缩放                        ,而不仅仅是缩放文本                      ,所以如果使用span等行内标签时,还需要将行内标签进行元素转换为块元素(display:block;) font-size:12px;

给文本设置字体12px                    ,并设置缩放值为10/12=0.83333                          ,也就是transform:scale(0.83);如果要设置8px    ,那就是8/12=0.66666 transform-origin:0 0;

默认缩放中心点是在盒子的正中心                ,所以如果我们需要文本左对齐                          ,就需要改变中心点         ,也就是transform-origin:0 0;该值有两个参数值            ,第一个是水平方位值                         ,第二个是垂直方位值              ,对应的如果需要右对齐              、或者是有缩进        ,那就改变对应的参数值即可    。 white-space: nowrap;

文本进行缩放后                        ,并不会改变其原来盒子的大小                  ,只是视觉上改变了大小    ,也就是说如果文本有换行的时候                        ,它进行缩放后仍然是折行显示                      ,这显然不符合我们要求,所以我们还需要强制文本在一行显示                    ,也就是 white-space: nowrap; <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> div { width: 300px; height: 30px; margin-bottom: 5px; background: rgb(206, 151, 151); } .box1 { font-size: 12px; } .box2 { font-size: 10px; transform: scale(0.83333); transform-origin: 0 0; white-space: nowrap; } </style> </head> <body> <div class="box1">我是正常的12px的文字大小 Hello world!</div> <div class="box1">我是正常的12px的文字大小 Hello world!</div> <div class="box2">我是正常的10px的文字大小 Hello world!</div> <div class="box2">我是正常的10px的文字大小 Hello world!</div> </body> </html>

解决方案三:

使用SVG 矢量图设置text

优点: 1px-12px任意字号均可设置                          ,可对设计界面进行对齐调整

缺点:不支持多行文本

步骤:

在svg包含text标签    ,给svg设置宽高                ,文本内容写在text标签中;

因为svg是矢量图的概念                          ,也就是说svg其实是一个图片         ,给图片内容进行缩放                        。实际的文本字号大小由text标签设置生效            ,但内容显示多少要看svg设置的宽高是多少                         ,超出区域外的内容不会显示                      。

text标签的x y值这里必须用到的;

text的x和y值默认为0              ,x值表示文字左下角开始的x坐标;y值表示文字左下角开始的y坐标        ,一般文本显示都是左对齐                        ,所以x值为0                  ,y值为字号大小。当然    ,如果是右对齐或者居中对齐的x y的值则需要另外设置对应的值                    。注意:x y的值是写在标签后面                        ,并且无单位!

text文本设置样式的方法和普通标签设置的方法不一样                      ,例如文本颜色填充是用fill设置,并不是color;如果需要文本缩进                    ,或者是距离顶部有多宽的间隙                          ,需要使用dx和dy;

dx:文本在水平方向上移动的像素大小

dy:文本在垂直方向上移动的像素大小

该方法是可以设置任意字号大小    ,还能根据设计图的需要进行对齐调整                ,但svg没有换行符!!!所以文本并不支持换行显示                          ,即使你设置的svg的宽高足够大         ,即使设置文本可以换行white-space: pre;也没有任何效果                          。 也就是说            ,svg默认所有单个或连续多个空格        、换行符等转为一个空格来显示    。

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> div{font-size: 12px;} svg{width: 100px;height: 100px;background-color: chocolate;} svg text {font-size: 8px;} </style> </head> <body> <div>我是最小12px字体大小 hello world!</div> <svg> <!-- svg是矢量图的概念方法                         ,这里的文本并不支持换行显示              ,即使你设置的svg的宽高足够大 --> <!-- text文本设置样式的方法和普通标签设置的方法不一样        ,例如文本颜色填充是用fill设置                        ,并不是color --> <text x="0" y="8" >我是10px字体大小 hello world!</text>> </svg> </body> </html>

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
上班三天辞职可以马上走人吗(刚上班三天就被裁。。还有谁!!) dedecms文章标题长度(解释DEDECMS标签调用中limit=’0,1’和limit=’1,4’的含义)