我有一个机构,是960像素宽的网页,我有我想要溢出页面右侧的出图像的行,并允许溢出图像的显示和水平滚动。 我不想让页面的整体水平滚动,只是元素。
这是比较容易得到的水平滚动工作,但我无法得到溢出的图像显示没有提高整个页面的宽度(和,因此,使页面水平滚动)。
我的CSS:
container{
width:960px;
margin: 0 auto;
}
.pic-container {
white-space:nowrap;
overflow:scroll;
}
我(简体)HTML:
<body>
<container>
<div class="pic-container">
<div class="pic-row">
<img src="1.jpg">
<img src="2.jpg">
<img src="3.jpg">
<img src="4.jpg">
<img src="5.jpg">
<img src="6.jpg">
</div>
</div>
</container>
</body>
这里是什么,我正在寻找一个小图:
这可能做你要找的内容( 见的jsfiddle这里 ):
<section>
<div class="pic-container">
<div class="pic-row">
<img src="1.jpg">
<img src="2.jpg">
<img src="3.jpg">
<img src="4.jpg">
<img src="5.jpg">
<img src="6.jpg">
</div>
</div>
</section>
CSS:
body {
overflow: hidden;
}
section {
/* The width of your document, I suppose */
width:600px;
margin: 0 auto;
white-space:nowrap;
overflow: scroll;
}
.pic-container {
/* As large as it needs to be */
width: 1500px;
}
我们做的是隐藏的溢出body
,防止水平滚动条,即使页面不够宽,无法显示的一切。 然后你把它显示在容器中的滚动条div
,一组宽度(大概是,你的文档的宽度),并在内容内的div
宽,只要你想。
另一种实现方式,其中只设置的宽度section
,而不是body
, 在这里可以查看 。
我无法想出一个办法,只用HTML + CSS所以我靠在jQuery来做到这一点。 这实际上完美的作品,它很好地降低太多 - 如果没有JavaScript中,图像仍然是滚动的,他们只是不渗到右边距(默认情况下,“.PIC容器” div有没有宽度,直到JS增加它)。
// Update pic-container width
function picWidth() {
win = $(document).width();
width = String( Math.round(((win-960)/2) + 960) );
$('.pic-container').css({'width' : width});
}
$(window).resize(picWidth);
picWidth();
文章来源: How do I allow horizontal scrolling only for a row of images and show overflow, without horizontally scrolling the rest of the page?