这是我使用的一个引用,它解释了如何使一个div在其滚动条隐藏的情况下可滚动。唯一的区别是我有嵌套的div。检查我的小提琴
HTML:
<div id="main">
<div id="sub-main">
<div id="content">
<div id="item-container">
<div class="item">a</div>
<div class="item">b</div>
<div class="item">c</div>
</div>
</div>
</div>
</div>
CSS:
#main {
width: 500px;
height: 500px;
}
#sub-main {
width: 500px;
height: 500px;
overflow: hidden;
}
#content {
background-color: red;
width: 500px;
height: 500px;
overflow: auto;
}
#item-container {
width: 1500px;
height: 500px;
}
.item {
width: 500px;
height: 500px;
font-size: 25em;
text-align: center;
float: left;
}
像上面,我有一个溢出的水平div和我想隐藏它的滚动条。我必须使其仍然可滚动,因为$.scrollTo()
否则将无法工作。
更新:
我已经读了所有的答案,但我仍然没有解决我的问题,也不知道是什么原因造成的。这是有麻烦的生活。基本上,我试图遵循这几乎完全相同的,但一定有一些原因,我的网站没有工作的预期。有两个问题。
overflow:hidden
设置为可滚动项的父容器时,我无法滚动(本机javascript滚动函数也不起作用)。$.localscroll({target:'#projects-content'})
中设置目标来实现,但当我设置目标时没有滚动。如果我不这样做,只要不应用overflow:hidden
,滚动就可以工作。再次感谢任何帮助。HTML:
<div id="projects"> <!-- start of entire projects page -->
<div id="project-sidebar">
<a href="#project-first">
<div class="sidebar-item sidebar-first">first</div>
</a>
<a href="#project-second">
<div class="sidebar-item sidebar-second">second</div>
</a>
<a href="#">
<div class="sidebar-item sidebar-third">third</div>
</a>
</div>
<div id="project-content"> <!-- this must be the scrollable itmes' container, not the entire window -->
<div id="project-first" class="project-item">
<!-- these items should be scrollable -->
<div class="project-subitem" id="first-sub1">
<a href='#first-sub2' class='next'>next</a>
</div>
<div class='project-subitem' id='first-sub2'>
<a href='#first-sub1' class='prev'>prev</a>
</div>
<!-- end of scrollable items -->
</div>
</div> <!-- end of scroll scroll container -->
</div> <!-- end of entire projects page -->
<script>
// FIXME: when I set target, nothing scrolls.
// But I don't want the entire window to scroll
$('#projects').localScroll({
//target: '#project-content',
hash: false
});
</script>
CSS
#project-content {
width: 80%;
height: 100%;
position: relative;
float: left;
}
#project-sidebar {
float: left;
width: 20%;
height: 100%;
}
.project-item {
width: 300%;
height: 100%;
}
.project-subitem {
height: 100%;
width: 33.33%;
position: relative;
float: left;
}
更新:
在我将overflow:scroll
添加到#project-content
中后,滚动按预期工作。现在我所需要的只是让滚动条在#project-content
中消失。我尝试将overflow:hidden
添加到其父级,但没有成功。我还尝试将其添加到HTML,body
中,但随后整个文档拒绝接受任何类似ScrollTop()
的滚动函数。
任何帮助都将不胜感激!
这是一种欺骗,但是你能把它隐藏在#content
后面吗,就像这个演示一样
#content {
background-color: red;
width: 500px;
height: 480px;
overflow: hidden;
}
#item-container {
width: 1500px;
height: 500px;
overflow: scroll;
}
Scollbar占用大约20px,所以只要使您的滚动div高20px,宽20px,您的滚动条将被隐藏:
#content {
background-color: red;
width: 520px;
height: 520px;
overflow: auto;
}
示例
技术是使用比带有ScrollBar的子元素短的父容器。这张图片说明了我的意思:
在您的情况下,我建议在#project-content
上使用绝对定位和负底部值,这样它会在底部溢出其父容器(#projects
)。
现在的重点是什么负值?它应该与滚动的with值相同,但是根据浏览器,滚动条的宽度从不相同。所以我建议给出一个更大的值:-30px
,以确保它是隐藏的。您只需要小心一点,不要有可以隐藏在带有细滚动条的浏览器上的要接近底部的内容。
这是您应该添加到您的网站的CSS:
#projects{
position: relative;
}
#project-content{
position: absolute;
top: 0;
left: 20%;
bottom: -30px;
/* remove:
height: 100%;
position: relative;
float: left;
padding-bottom: -15px
/*
}
问题内容: 我希望能够滚动浏览整个页面,但不显示滚动条。 在谷歌浏览器中: 但是Mozilla Firefox和Internet Explorer似乎无法正常工作。 我也在CSS中尝试过: 那确实隐藏了滚动条,但我不能再滚动了。 有什么办法可以删除滚动条,同时仍然可以滚动整个页面? 请仅使用CSS或HTML。 问题答案: 只是测试工作正常。 JavaScript: 由于滚动条的宽度在不同的浏览器中
我希望能够滚动通过整个页面,但没有滚动条显示。 在Google Chrome中是: 但Mozilla Firefox和Internet Explorer似乎不是这样工作的。 我也在CSS中尝试过这个: 这确实隐藏了滚动条,但我不能再滚动了。 有没有一种方法,我可以删除滚动条,同时仍然能够滚动整个页面? 请使用CSS或HTML。
目前,我正在使用以下代码显示滚动条: 使用此CSS时,滚动条始终可见,这意味着即使div中的内容没有溢出。 当内容符合提到的高度时,我如何隐藏它们?
我有一个,其元素样式如下: 我需要允许滚动沿Y轴当它变得高于300px,这工作很好。但我需要将设置为滚动条本身。 我尝试使用这个元素样式: 当它隐藏滚动条时,它也不允许滚动。有没有一种方法可以在滚动条不可见的情况下滚动?
有没有一种方法可以隐藏滚动条,但仍然保留向上/向下滚动的选项?我尝试溢出:隐藏;它删除滚动条,但我不能滚动。
有没有办法隐藏滚动条,仍然可以使用鼠标或方向键向上滚动? 有人能帮忙吗?