html - 媒体查询问题 : Safari not scaling elements in REM

标签 html css safari media-queries mobile-safari

我的布局是基于 rem 的,最近我注意到,Safari(桌面和移动)只缩放字体大小,但不缩放其他元素。 具体来说,它使用第一个媒体查询缩放元素。

在 Chrome 和 Firefox 中一切正常。

HTML

<h1>Hello Circle</h1>
<div class="circle"></div>

CSS

html,
body {
  font-size: 62.5%;
  background-color: red;
}

@media (max-width: 900px) {
  html,
  body {
    font-size: 50%;
    background-color: green;
  }
}

@media (max-width: 579px) {
  html,
  body {
    font-size: 30%;
    background-color: blue;
  }
}

.circle {
  width: 20rem;
  height: 20rem;
  background-color: yellow;
  border-radius: 50%;
}

h1 {
  font-size: 3rem;
} 

fiddle :http://jsfiddle.net/ew97d4rj (黄色圆圈应该随着每个 MQ 变小——就像文本一样——但在 Safari 中,圆圈不会在最小的 MQ 中缩小。)

我猜媒体查询有问题,因为如果我使用下面的 MQ,它可以工作,但会破坏我的布局,因为正常尺寸仅在 579 像素和 700 像素之间使用。

html,
body {
  font-size: 62.5%;
  background-color: red;
}

@media (max-width: 579px) {
  html,
  body {
    font-size: 30%;
    background-color: green;
  }
}

@media (min-width: 700px) {
  html,
  body {
    font-size: 90%;
    background-color: blue;
  }
}

最佳答案

在 head 标签中使用 meta。 <meta name="viewport" content="width=device-width, initial-scale=1">

并且比使用这样的 css 媒体查询和字体大小仅适用于 body 标签而不适用于 html @media only screen and (max-width: 900px){

body {
    font-size: 50%;
    background-color: green;
  }

关于html - 媒体查询问题 : Safari not scaling elements in REM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52001765/

相关文章:

ios - 在 iOS 应用程序中加载网页

html - Angular 5 文件上传 : Failed to set the 'value' property on 'HTMLInputElement'

jquery - 获取已下载的 srcset 图片

javascript - 如何更改代码以从右向左移动?

css - 是否有任何浏览器开发工具可以向您显示元素的 DOM 级别,以便我知道如何使用 CSS 选择它?

Chrome 和 Safari 中的 CSS 链接显示问题

css - 是否有内部分页不适用于 safari 打印的解决方案?

php - PHP登录后进入下一页

javascript - 如何从下拉菜单中显示/隐藏选定的容器?

javascript - 获取溢出隐藏页面中滚动的像素数量