html - 使用 rem 的 Chrome 和 Firefox 之间的字体大小差异

标签 html css google-chrome firefox

我正在使用 Bootstrap 从事一个网络元素我在字体大小方面遇到了一些麻烦。

尝试运行此HTML在 Chrome 中,然后在 Firefox 中使用 移动 View (例如 iPhone 7)中的代码片段:

<!DOCTYPE html>
<html>

<head>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
        integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">

    <style>
        html {
            font-size: 40px;
            font-size-adjust: none;
        }

        h1 {
            font-size: 2rem;
        }
    </style>

</head>

<body>

    <div>
        <h1>
            test
        </h1>
    </div>

    <button type="button" class="btn btn-primary">Send</button>

</body>

</html>

你会看到,在 Firefox 移动 View 中,字体大小比在 chrome 下大得多。但是我很好地初始化了 <html> 的字体大小到像素值(这里是 40px),然后我只使用 rem有字体大小值( Bootstrap 也使用 rem 值作为字体大小)。

为什么渲染效果如此不同?

最佳答案

编辑

这很烦人。

在 Firefox 上,40px = 40 桌面大小的像素,不尊重您的模拟设备。

不确定 Chrome 的作用,但在设置为 iPhone 6(1920px) 的 667px 窗口中,40px = ~17px。

响应式设计可以缓解这些问题。

如果响应式设计不可行,请根据 vh 设置字体大小,而不是 px。

        html {
            font-size: 10vh;
            font-size-adjust: none;
        }

旧答案

在我的机器上,代码片段在移动模式下的两个浏览器上的大小相同。

您更改了缩放系数吗?这将改变 rem/em 的大小。

您的操作系统的 DPI 设置也可能会改变这一点。

为了保持大小一致,请使用响应式设计,例如 flexbox 和 % css 单元。

关于html - 使用 rem 的 Chrome 和 Firefox 之间的字体大小差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57279199/

相关文章:

javascript - anchor 标记上的 onclick 事件在 IE 中有效,但在 Firefox 和 Chrome 中无效

google-chrome - Chrome 扩展程序可以访问本地存储吗?

html - Safari 负边距顶部

html - 隐形边框无法正常工作

javascript - 隐藏较低 z-index 的元素 "beneath"div

javascript - HTML5 Canvas 脏矩形错误问题

html - 如何为 Safari 编写 CSS 条件规则?

javascript - 多站点不在一个站点上显示标题/导航

html - 列表样式在不同的浏览器中呈现不同的外观

javascript - 悬停在导航栏上时下拉菜单?