【问题标题】:How to set fixed base to calculate vh unit in css on mobile?如何在移动设备上设置固定基数以计算 css 中的 vh 单位?
【发布时间】:2016-12-06 06:40:42
【问题描述】:

我想在不用户改变滚动方向时位置突然改变的情况下显示移动网站。

当移动设备的用户向下和向上滚动时会出现问题。然后由于浏览器显示菜单,视图的高度发生了变化。结果用户立即看到以前的网站的其他片段。

我提供代码示例:

<html>
<head>
    <meta name="viewport" content="width=device-width, initial-scale = 1.0, maximum-scale = 1.0, user-scalable=no">
    <style>
        p { padding-top: 6vh; }
    </style>
</head>
<body>

<!-- some paragraphs -->

<section>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas ornare risus a efficitur. Nulla laoreet sagittis magna sed facilisis.</p>
    <p> Aliquam nec enim porta, condimentum nibh et, posuere sapien. Sed id consectetur erat. Cras malesuada turpis ut iaculis feugiat. </p>
    ...
    <p>Donec ac enim hendrerit, placerat leo aliquam, mollis mauris. Proin vitae purus ligula. Ut lectus arcu, ullamcorper et feugiat ut, feugiat ut orci. </p>
    <p>Phasellus augue eros, vestibulum pharetra tempus id, tristique ullamcorper urna. Donec sed augue commodo, placerat quam a, scelerisque dui.</p>
</section>

</body>
</html>
  • 所有代码都可用*

小提琴:

http://jsfiddle.net/j2d59xbu

在移动浏览器上测试的带有元标记的版本:

http://test.sekretszczescia.pl/test.html

以及失败的解决方案列表:

  • viewport-units-buggyfill - 克隆存储库并启动示例后,vh 在底部菜单显示时发生变化。
  • heigth: -webkit-calc(100% - 0px); - 它在移动设备上工作得很好,但在计算机上工作与 vh 完全不同
  • jQuery - second source - 在这种方法中,我必须找到任何使用 vh 单位的具有高度的元素

来源:

How to fix vh(viewport unit) css in mobile Safari?

vh / % units and keyboard on mobile devices

有没有什么方法可以在移动设备上应用出色的vh 而不会出现这样的问题?

【问题讨论】:

  • JSFiddle 请。如果您的意思是,在滚动时,通过隐藏浏览器选项卡,带有 vh 或 vw 的元素的大小会发生变化,是的。这通常会发生。回答你的问题:没有。不是我所知道的......不过,请参阅引导程序。
  • JsFiddle 显示简化情况jsfiddle.net/0fgkspyy 所以,我附上链接到真实网站的测试版本,其中问题更大且易于显示test.sekretszczescia.pl
  • 如果 jsfiddle 不同,则意味着您没有添加网站使用的所有内容。可以是 CSS、HTML 或 JS。
  • 为了清楚起见,我简化了 jsfiddle。在测试网站上有很多元素在“vh”单元中有不同的填充。当页面滚动并且菜单或地址栏显示和隐藏时,我正在寻找在 vh 和像素之间设置恒定比率的方法。
  • 所以:1. 将 everything 放入 jsfiddle。 2.删除一些代码,3.如果问题仍然存在并且可以重现,请删除更多(步骤2、3)。 4.直到不是。因此,我们可以查看尽可能少的代码,但仍然可以看到问题所在。请参阅minimal reproducible example 和How to Ask 了解更多信息。

标签: css mobile view viewport


【解决方案1】:

最后我使用 jQuery 来修复 vh 单位,正如源代码 2 中提到的那样。

CSS: Are view height (vh) and view width (vw) units widely supported?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-19
    相关资源
    最近更新 更多