html - 有没有办法在不导致网站在平板电脑上放大的情况下为手机设置最小视口(viewport)大小?

标签 html css responsive-design

我一直致力于制作一些强制 1000 像素布局具有更高响应性的网站。一方面,它可以很好地缩小到 ~500 像素,而另一方面,它可以很好地缩小到 780 像素。我的手机宽 320 像素,我的平板电脑宽 1000 倍左右。问题是:

  • 如果我不设置视口(viewport),两台设备都会呈现约 1000 像素宽的页面,因此我所有漂亮的缩放代码都将被完全忽略,并且该页面在手机上非常庞大。
  • 如果我设置<meta name="viewport" content="width=device-width"> , 页面呈现完美,但它开始在手机上非常放大(缩放到显示 320 像素的布局)。
  • 如果我设置<meta name="viewport" content="width=780"> ,它在手机上呈现和缩放完美,但在平板电脑上放大(将布局缩放到 780 像素宽,即使我有 1000 像素可以使用)。

我还尝试了 JavaScript 解决方法:

<meta id="viewport" name="viewport" content="width=device-width, initial-scale=1.0" />
<script>
if (screen.width < 780) {
  var viewport = document.getElementById("viewport");
  viewport.setAttribute("content", "width=780");
}
</script>

这适用于 Chrome 但不适用于 Firefox。我什至尝试使用 CSS 转换来缩放 Firefox 上的整个页面,但这会在缩放后的页面周围留下一堆空白(这是一个糟糕的解决方案)。

有没有一种方法可以让设备渲染和缩放到宽度低至 500 像素,然后在屏幕尺寸低于 500 像素时缩放和渲染?

最佳答案

如果您的内容至少应有 780 像素宽,请在您的主体上设置最小宽度。

body {
  min-width: 780px;
}

如果你想让它开始缩小(好像视口(viewport)是 780 像素宽),使用收缩以适合:

<meta name="viewport" content="width=device-width, shrink-to-fit=yes">

关于html - 有没有办法在不导致网站在平板电脑上放大的情况下为手机设置最小视口(viewport)大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40983737/

相关文章:

javascript - 将滚动条添加到不需要它的页面?

javascript - CSS Grid 在现有网格元素之上填充动画并占据整个视口(viewport)

html - 为什么我不能对齐我的文字和按钮?

html - CSS 垂直对齐底部问题

php - 将附件文件上传到另一台服务器 [Mybb]

ios - CSS 未应用于 iOS 设备

asp.net - 如何左对齐div中的按钮?

android - 悬停效果在 Android 浏览器中不起作用

html - 通过将元素分成两行来使 div 响应

responsive-design - 响应式 Facebook 评论 CSS Hack Broken