首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何阻止一个固定的、100%宽度的元素与浏览器的滚动条重叠?

如何阻止一个固定的、100%宽度的元素与浏览器的滚动条重叠?
EN

Stack Overflow用户
提问于 2013-02-01 23:55:55
回答 3查看 4.5K关注 0票数 1

我的网站有4个栏目--每个栏目对应一个页面。因此,包装中的掩膜的宽度是400%。导航是使用scrollTo的jquery插件进行的,包括垂直和水平两个方向。

因为导航栏被设置为position: fixed;width: 100%;,所以它与div的滚动条重叠。我给了它right: 17px;,但它也使页面滚动+17个额外的像素。

有没有办法将每个页面的宽度设置为100% - 17像素?

否则,如何避免在不重叠滚动的情况下将right: 17px;放在导航上?

网站链接:www.inbrackets.dk/test

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-02-02 01:28:58

我根本不会弄乱正确的定位。你的滚动条在你的#wrapper目录上,因为它是position: absolute的,我会在上面调整一些设置,让滚动条位于#nav下面。

首先,从#wrapper中删除height,然后将以下css更改/添加到#wrapper

代码语言:javascript
复制
top: 70px ; /* clears your nav */
bottom: 0px; /* gives it the height; puts the scroll bar at the bottom of the screen */
票数 2
EN

Stack Overflow用户

发布于 2013-02-01 23:59:40

最简单的解决方案是使用calc

代码语言:javascript
复制
width: -webkit-calc(100% - 17px);
width:         calc(100% - 17px);

然而,这是有限的支持-在IE8和更低版本中不支持。

旁注:在一些浏览器中,特别是在windows机器上,滚动条是20px宽的,所以你需要right:20px。另外,你的字体在我的机器上也很难阅读:

票数 2
EN

Stack Overflow用户

发布于 2013-02-02 00:12:42

我会避免使用calc,并将固定的导航设置为仅跨越左侧: 0和右侧: 0;

代码语言:javascript
复制
position: fixed;
top:0;
right: 0;
left: 0;

小提琴:http://jsfiddle.net/a8LXV/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14650105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档