我的网站有 4 列,每列用于其中一个页面。因此,包装中掩码的宽度为 400%。导航是使用 scrollTo jquery 插件进行的,垂直和水平。
因为导航栏设置为position: fixed;
and width: 100%;
,所以它与 div 的滚动重叠。我给了它,right: 17px;
但它也使页面滚动+17个额外像素。
有没有办法将每个页面的宽度设置为 100% - 17 像素?
否则,如何避免right: 17px;
在不必重叠滚动的情况下放置导航?
我的网站有 4 列,每列用于其中一个页面。因此,包装中掩码的宽度为 400%。导航是使用 scrollTo jquery 插件进行的,垂直和水平。
因为导航栏设置为position: fixed;
and width: 100%;
,所以它与 div 的滚动重叠。我给了它,right: 17px;
但它也使页面滚动+17个额外像素。
有没有办法将每个页面的宽度设置为 100% - 17 像素?
否则,如何避免right: 17px;
在不必重叠滚动的情况下放置导航?
最简单的解决方案是使用calc。
width: -webkit-calc(100% - 17px);
width: calc(100% - 17px);
但是,它的支持有限 - IE8 及更低版本不支持它。
旁注:在几个浏览器中,尤其是在 Windows 机器上,滚动条是 20px 宽,所以你需要right:20px
. 此外,您的字体在我的机器上也很难阅读:
我根本不会弄乱正确的定位。您的滚动条在您的#wrapper
div 上,既然是position: absolute
,我会调整一些设置以使滚动条位于#nav
.
首先,height
从 中删除#wrapper
,然后将以下 css 更改/添加到#wrapper
:
top: 70px ; /* clears your nav */
bottom: 0px; /* gives it the height; puts the scroll bar at the bottom of the screen */
我会避免使用 calc,并将您的固定导航设置为跨左:0 和右:0;
position: fixed;
top:0;
right: 0;
left: 0;
小提琴:http: //jsfiddle.net/a8LXV/