【问题标题】:HTML / CSS Column ScrollingHTML / CSS 列滚动
【发布时间】:2015-06-08 10:23:00
【问题描述】:

我的页面上有两列。

左列是一长串,右列较小。

当我上下滚动时,我希望右栏浮动,页面不是静态的。

我已经设法使用这个 css 来完成这项工作:

    .connected {
        min-height:100px;
        float: left;
        width: 200px;
    }
    .connected.right {
        position: fixed; 
        min-height:100px;
        height: auto;
        float: right;
    }

可以在这里看到FIDDLE

我遇到的问题是,如果右栏很长,那么它根本不会移动,并且底部的条目也无法访问。

有什么方法可以让正确的列滚动,但直到你到达它的末尾,然后它是固定的,直到你开始向上滚动?

谢谢

【问题讨论】:

  • 有 3 个选项。 1)为此使用Javascript。 2)设置溢出,以便出现滚动条。 3)让它更小,比如更小的字体大小或更少的项目。

标签: html css scroll multiple-columns


【解决方案1】:

overflow: auto; 设置到右列怎么样?

.connected.right {
    position: fixed;
    overflow: auto;
    min-height:100px;
    height: 200px;
    float: right;
}

这将为它设置一个滚动,并允许滚动到列的最后。

演示:https://jsfiddle.net/8fxosb5f/2/

或者您可以通过将overflow: auto 设置为两列来移除窗口滚动。但是这样你需要为这些列设置一定的高度。结果可能不是你所需要的,这里仍然是一个演示:

https://jsfiddle.net/8fxosb5f/3/

这是一个非常粗略的代码,但我认为您将设法设置它以满足您的需求:(它需要 jQuery)

var columnHeight = $('.right').outerHeight(true);

var windowHeight = $(window).height();
$(window).scroll(function () {

    if ($(this).scrollTop() + windowHeight >= columnHeight) {
        $('.right').css({
            position: 'fixed',
            top: -(columnHeight - windowHeight)
        });
    } else {
        $('.right').css({
            position: 'static',
            top: 'auto'
        });
    }
});

演示:https://jsfiddle.net/8fxosb5f/5/

【讨论】:

  • 谢谢第一个例子几乎是我想要做的。我希望两列都向下滚动,并在它到达底部时正确修复..
  • 对不起,我不明白你真正想要什么。能发个图什么的吗?我猜你需要javascript 才能做到这一点,但仍然是一个简单的“绘图”会很好
  • 不知道怎么画这个。目前,两列都比页面长。当您向下滚动页面时,您也会向下滚动列。当您到达右栏的底部时,我希望它停止并让左侧继续向下滚动。
  • 但是您希望在右列内容结束时,该列在滚动到末尾时继续滚动(类似于位置:固定)?
  • 是的,只需将右栏的float 设置为leftjsfiddle.net/8fxosb5f/6
【解决方案2】:

你写的css不正确

.connected.right {
        position: fixed; 
        min-height:100px;
        height: auto;
        float: right;
    }

改成

.connected .right {
        position: fixed; 
        min-height:100px;
        height: auto;
        float: right;
    }

工作示例here

【讨论】:

  • 它按预期工作,但他想让正确的 div 动态直到你到达最后一个条目,而不是固定,如果你向上滚动,它又是动态的。
  • 谢谢 - 但这并不能解决问题
猜你喜欢
  • 2021-04-29
  • 2012-08-05
  • 2015-02-22
  • 2014-05-27
  • 2013-06-10
  • 2018-03-03
  • 1970-01-01
  • 2013-05-15
相关资源
最近更新 更多