代码之家  ›  专栏  ›  技术社区  ›  Mario Vernari

“固定”元素上移动的视口宽度问题

  •  0
  • Mario Vernari  · 技术社区  · 8 年前

    我面临一个与固定元素的宽度有关的问题。这是钢笔:

    https://codepen.io/highfield/pen/PKpXGG

    <body>
      <nav class="navbar">
        <div style="position:absolute; left:20px; top:12px">
          <a href="#">left</a>
        </div>
        <div style="position:absolute; right:20px; top:12px">
          <a href="#">right</a>
        </div>
      </nav>
    
      <div class="container">
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent sagittis, diam quis hendrerit bibendum, augue massa tempor neque, et dapibus risus ligula tempor nulla. Donec accumsan tortor eget lorem venenatis, ac tincidunt eros volutpat. Mauris
          tempus libero metus, in posuere velit scelerisque vel. Donec dapibus dolor eu tortor interdum tincidunt. Donec dignissim nisl eleifend mauris efficitur dignissim. Nullam bibendum felis a nibh maximus efficitur. Donec commodo est at maximus facilisis.
          Sed risus dui, ultricies non accumsan sit amet, volutpat sit amet dui. Sed blandit tempus feugiat. Aliquam quis felis at eros vehicula viverra in eget ante. Phasellus tempus blandit turpis, sed condimentum nisl rutrum eget. Pellentesque suscipit
          sem accumsan nunc dapibus, id volutpat eros molestie. Proin dolor nisi, sodales quis tempor sagittis, sodales non lorem. Sed porta et nisl vel scelerisque.</p>
        <p>Maecenas dapibus mattis sem. Nam suscipit urna nec massa maximus gravida. Aliquam nec arcu scelerisque, elementum orci at, dictum augue. Sed quis ex risus. Integer nec imperdiet nisi. Cras non pretium metus. In feugiat metus a ante tincidunt euismod.
          Nunc leo nisi, pellentesque non sem ut, posuere vulputate ante. Morbi elementum vel libero in egestas. Pellentesque convallis ullamcorper mi ut sagittis. Vivamus ut facilisis sapien, vel consequat ligula. Vestibulum quis vehicula dui, vitae finibus
          ante. Ut elementum suscipit nisl eu vestibulum. Integer semper aliquam metus.</p>
        <p>Proin sapien ligula, pharetra id magna sit amet, bibendum fermentum tortor. Donec ultricies ex vel iaculis mollis. Duis scelerisque tellus purus, eu eleifend arcu scelerisque ac. Curabitur varius velit nunc, sit amet sollicitudin nibh rhoncus a. Nam
          eu cursus sem, at tempor eros. Sed sodales, ante eu sagittis interdum, tortor dui feugiat diam, eu tempor mi justo sed risus. Ut non vulputate ligula, eu fermentum felis. Duis quis leo vel nulla ullamcorper viverra ut in leo. Suspendisse scelerisque,
          lorem commodo convallis consequat, ex nulla maximus nunc, ac faucibus augue risus quis arcu. Fusce porttitor, augue non malesuada consequat, odio tellus viverra diam, ut tempus mi tortor ac felis. Proin a pretium nibh, in volutpat ligula. Mauris
          non diam massa.</p>
        <p>Maecenas hendrerit tincidunt ultrices. Sed vel sem velit. Cras felis purus, commodo a velit sit amet, fringilla blandit quam. Mauris ac cursus libero. Proin volutpat ut justo ut porta. Nulla lacus arcu, hendrerit sit amet nisi sed, dictum fermentum
          erat. Interdum et malesuada fames ac ante ipsum primis in faucibus.</p>
        <p>Donec nisl quam, efficitur non neque nec, vulputate rutrum lorem. Maecenas non finibus lectus. Nullam eu odio non leo mollis gravida. Aenean massa dolor, varius a hendrerit eu, molestie eu diam. Morbi lacus ipsum, ultrices et massa quis, viverra rutrum
          urna. Sed vehicula convallis massa, ac maximus diam maximus in. Aliquam non ultrices orci. Phasellus erat ante, iaculis a iaculis eget, porttitor ut nibh. Sed varius hendrerit semper. Phasellus cursus posuere semper. Curabitur pulvinar eget metus
          eget ultricies.</p>
      </div>
    
      <nav id="menu-left">
      </nav>
    
      <nav id="menu-right">
      </nav>
    
    </body>
    

    该片段模拟了一个双面菜单(不包括),其中一个“折叠”的边栏是从窗口三维转换而来的。为简单起见,两个边栏(半透明的绿色和红色)仅根据其自身的宽度进行部分转换。

    通过在“桌面模式”下查看页面,一切正常。当你看到使用(几乎)任何移动设备的页面时,问题变得很明显。该页面似乎可以水平滚动,但我看不出任何原因,因为它比在桌面视图中这样做。第一个“nav”元素显示其宽度大于文档:为什么?此外,我无法找到将其宽度限制为文档本身的方法。

    简而言之,我希望从视口中翻译出来的元素应该保持不可见,移动设备上的滚动、平移、缩放或任何其他操作都不应该显示它们。

    enter image description here

    1 回复  |  直到 8 年前
        1
  •  0
  •   Mario Vernari    8 年前

    找到了。

    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
    

    https://developer.mozilla.org/en-US/docs/Mozilla/Mobile/Viewport_meta_tag