【问题标题】:inconsistent font size when using media queries and browser zoom使用媒体查询和浏览器缩放时字体大小不一致
【发布时间】:2016-11-27 20:12:12
【问题描述】:

我创建了以下 html 页面:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <meta name="viewport" content="width=device-width"  />
    <style>
        @media only screen and (max-width: 320px)
        {
            .text
            {                
                font-size:0.3em;
            }
        }
        @media only screen and (min-width: 321px) and (max-width: 480px)
        {
            .text
            {                
                font-size:0.6em;
            }
        }
        @media only screen and (min-width: 481px) and (max-width: 600px)
        {
            .text
            {                
                font-size:0.9em;
            }
        }
        @media only screen and (min-width: 601px) and (max-width: 768px)
        {
            .text
            {                
                font-size:1.2em;
            }
        }
        @media only screen and (min-width: 769px) and (max-width: 1024px)
        {
            .text
            {                
                font-size:1.5em;
            }
        }
        @media only screen and (min-width: 1025px) and (max-width: 1200px)
        {
            .text
            {                
                font-size:1.8em;
            }
        }
        @media only screen and (min-width: 1201px)
        {
            .text
            {                
                font-size:2em;
            }
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
        <div class="text">            
            text text text text
        </div>
    </form>
</body>
</html>

当我使用浏览器默认步骤(100%、110%、125%...)从 100% 放大到 500% 时,字体大小在最初的几个步骤中会增加,然后在以下一些步骤中会减小以不一致的方式。这发生在所有主要浏览器中: - 铬 51.0.2704.103 - 即 11 - 火狐 43.0.1 任何帮助将不胜感激 谢谢

【问题讨论】:

    标签: html css media-queries font-size zooming


    【解决方案1】:

    缩放使字体更大。您的媒体查询使字体变小。这两个人互相打架。

    发生这种情况是因为当缩放使像素变大时,窗口中适合的像素更少,这使得较小窗口的媒体查询匹配。

    此行为特定于桌面浏览器。移动浏览器不使用窗口大小进行媒体查询,而是使用屏幕大小 (roughly)。


    在其他字体大小奇怪的情况下,可能是因为text-size-adjust。

    【讨论】:

    • 感谢您的回答,媒体查询的目的是创建断点并使页面响应桌面上的窗口大小调整,但问题是(如前所述)浏览器缩放功能不是与媒体查询配合得很好,有没有办法在不使用 javascript 的情况下同时实现它们?
    • 缩放功能完全按照预期与媒体查询一起工作。不要忘记CSSpx单元不是屏幕像素,而是一个可变大小的抽象点,通过缩放来变大或变小。
    • 我知道它在定义上可以正常工作,但在某些情况下,当用户放大字体大小减小与用户预期结果相矛盾时,有没有办法防止这种情况并在缩放时达到用户预期结果在?
    • 不,我不这么认为,因为浏览器会按照您(无意中)告诉它的操作。您的代码说“当窗口中的像素较少时,使字体更小”,放大会使窗口中的像素减少。您将不得不停止在较小的视口上缩小字体(从您的媒体查询中删除 font-size)。
    猜你喜欢
    • 2014-10-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 2014-04-09
    • 2013-12-09
    • 2011-07-08
    • 2016-10-02
    • 2014-11-14
    相关资源
    最近更新 更多