【发布时间】:2014-08-17 13:26:28
【问题描述】:
我使用 JSFiddle 制作了一个简单的 Web UI,我想知道是否可以不使用 JavaScript 制作相同的 UI。
A Fiddle 说了超过 1000 个字。
所以问题是(因为有些人似乎不清楚):如何在不使用任何 JavaScript 的情况下获得相同的结果?
PS:我不想使用 JavaScript 重新计算每个滚动事件的位置,因为 IE 中的重新定位不够平滑。
HTML:
<div class="A">
<div class="B">
B
</div>
<div class="C">
This stays fixed when scrolling horizontally, but scrolls along when scrolling down the parent.
</div>
</div>
CSS:
.A {
background-color: yellow;
height: 400px;
width: 700px;
overflow:scroll;
position: relative;
}
.B {
background-color: green;
height: 1000px;
width: 1500px;
position: absolute;
top:0;
color:white;
}
.C {
background-color: red;
position: absolute;
left: 100px;
top: 0px;
height: 1000px;
width: 100px;
}
JS(使用 jQuery):
$('.A').scroll(function(e) {
$('.C').css('left', e.target.scrollLeft + 100);
});
【问题讨论】:
-
在没有任何 Javascript 的情况下设计它的目的是什么?
position诡计可能有可能。 -
听起来很简单,你想要两个容器,container1 真的很高,里面有红色和concopy2,container2 里面有绿色。两者都为给定方向启用了滚动(容器 1 具有垂直滚动,容器 2 具有水平滚动)
-
您可以让 CSS 轻松地固定/不动。但是“动态”修复了,这样事情就会脱离并开始在某些事件/条件下移动,你需要 JS
-
@esqew 位置技巧是不可接受的,因为 IE 将其呈现得太滞后。
-
只需将 C 向左浮动并添加 100px 的边距。还将高度设置为 10%。通过浮动,我正在谈论将其位置设置为绝对。
标签: javascript html css