2017-08-08 146 views
0

我正面临与固定元素的宽度有关的问题。这里是笔:在“固定”元素上移动时的视口宽度问题

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> 

代码段模仿双面菜单(不包括),其中“坍塌”栏是3D-翻译关窗。为了简单起见,两个侧边栏(半透明的绿色和红色)仅根据其宽度进行了部分翻译。

通过在“桌面模式”中看到页面一切正常。当您看到使用(几乎)任何移动设备的页面时,问题就会变得很清楚。该页面看起来可以水平滚动,尽管我没有看到任何理由,因为它比桌面视图中的要好。第一个“nav”元素显示其宽度大于文档:为什么?此外,我无法找到一种方法来限制文档本身的宽度。

总之,我希望从视口翻译出来的元素应该保持隐形,并且在移动设备上不应该滚动,平移,缩放或其他任何内容。

enter image description here

回答