假设我有两个DIV
元素:外部容器 DIV 和容器内部的内部 DIV。我希望内部 DIV 比外部 DIV 大得多,但外部 DIV 有一个overflow:hidden
属性,所以大部分内部 DIV 不可见。
目的是实现滚动或滑动功能,您可以在其中移动内部 DIV 在外部 DIV 内。
一个基本的实现可能是这样的:
<!DOCTYPE html>
<html>
<head>
<style>
.container {
width: 500px;
height: 40px;
border: 1px solid #a8a8a8;
padding: 5px;
overflow: hidden;
}
.inner-content {
white-space: no-wrap;
position: relative;
display: inline-block;
}
.inner-element {
display: inline-block;
}
</style>
</head>
<body>
<div class = "container">
<div class = "inner-content">
<div class = "inner-element">Lots of content goes here</div>
<div class = "inner-element">Lots of content goes here</div>
<div class = "inner-element">Lots of content goes here</div>
<div class = "inner-element">Lots of content goes here</div>
<div class = "inner-element">Lots of content goes here</div>
<div class = "inner-element">Lots of content goes here</div>
</div>
</div>
</body>
</html>
问题是我希望内部 DIV 中的所有元素并排出现在同一水平线上,因此用户可以向左或向右滚动。
所以这可以通过简单地使用display: inline-block
所有元素(或float
)来实现。除了问题是为了防止内部元素换行,我需要在.inner-content
. (例如,如果我指定width:10000px
什么,那么内部元素当然不会换行。)但问题是用户将能够无休止地向右滚动内部 DIV。
那么,我该如何安排事情,以使内部 DIV 中的所有(部分隐藏)元素都保持在同一水平线上(无需明确指定宽度)?