我试图弄清楚如何做到这一点,所以如果用户的浏览器窗口低于大约 1024 像素(该网站在 1024 像素以上没有水平滚动),如果他们确实向右滚动以查看更多主要内容,那么它不会被左侧固定位置菜单重叠/弄乱。
我制作了一个 JS 小提琴,重现了我面临的基本问题:http: //jsfiddle.net/YE7ZZ/1/
CSS
#wrap {
width:100%;
background-image:url('../images/Imagine/bg_image44.png');
background-attachment:fixed;
}
#top {
}
#left {
position:fixed;
border:1px solid red;
background:pink;
width:250px;
}
#positioner {
margin-left:250px;
width:auto;
}
#content {
border:1px solid green;
width:700px;
margin:auto;
background:grey;
}
HTML
<div id="wrap">
<div id="top"></div>
<div id="left">menu item~~~~~<br /><br /><br />menu item~~~~~<br /><br /><br />menu item~~~~~<br /><br /><br />menu item~~~~~<br /><br /><br />menu item~~~~~<br /><br /><br />menu item~~~~~<br /><br /><br /></div>
<div id="positioner">
<div id="content">asdf content that should be lower-resolution browser friendly and not be overlapped by the menu<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
asdf content that should be lower-resolution browser friendly and not be overlapped by the menu<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
asdf content that should be lower-resolution browser friendly and not be overlapped by the menu<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
asdf content that should be lower-resolution browser friendly and not be overlapped by the menu<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
</div>
</div>
</div>
在过去六周的过程中,我已尝试解决此问题大约三个不同的时间,但未能找到解决方案,因此非常感谢任何帮助。
感谢您的时间。
编辑——我理想的解决方案是为内容部分显示一个水平滚动条,以便他们可以滚动浏览内容本身,而不必:1)重叠左侧菜单;或 2) 切断可见内容的数量;或 3) 减小左侧菜单的大小
已解决:非常感谢@Gaby aka G. Petrioli
我使用了这个 javascript 解决方案:
$(document).ready(function(){
var lastLeft = -1,
menu = $('.left_, .top_');
$(window).on('scroll resize', function(){
var left = $(window).scrollLeft();
if (left >= 0 && left!==lastLeft){
lastLeft = left;
menu.css('left',-left+'px');
}
});
});
并按照他的概述更改了 CSS,在我的实时版本中,必须将一些顶部菜单元素的定位从固定更改为绝对。谢谢大家!谢谢!