【发布时间】:2016-04-27 21:10:58
【问题描述】:
考虑两个并排的容器元素,它们都比视口的宽度长,并且视口可以水平滚动。它们都包含一个元素,我想将其保留在包含 div 的可见部分的中心。这是标记:
<body>
<div class="wrapper">
<div class="container" id="container1">
<div class="element" id="element1"></div>
</div>
<div class="container" id="container2">
<div class="element" id="element2"></div>
</div>
</div>
</body>
这里是css:
body {
overflow-x: auto;
}
.wrapper {
width: 400%;
}
.container {
width: 50%;
border: 1px solid #ccc;
height: 50px;
float: left;
}
很抱歉,由于英语不是我的母语,所以很难描述我需要什么,但我想用图像和动画来描述它:
【问题讨论】:
-
欢迎来到 SO。你的英语很好,但你需要展示你的尝试(标记)。请查看帮助页面。
-
你试过任何代码吗?
-
很难理解你到底想要什么水平动画或滚动?
-
我认为使用鼠标事件和容器的位置,通过一些数学运算,我们可以通过限制边距或左值来为容器内的元素分配一个边距左/左,这不应该超过某个值。注意:这只是一个想法,但我认为它会起作用。
-
我已经添加了标记和糟糕的 css 代码(这只是为了给出基本的想法)我希望 div.element 保持在视口的中心,只要它的父级(div.container ) 完全可见。但是当 div.container 的可见部分小于视口的宽度时,我希望元素在这个可见部分居中。真的很难解释,再次抱歉:(