我正在尝试将div元素放置在我的网站的顶部,该元素在垂直滚动时具有固定位置,而在水平滚动时具有相对位置。我不相信仅凭CSS就能实现(可能吗?)。我假设我必须使用一些Javascript(JQuery)来迫使此div停留在屏幕顶部,同时在水平滚动时仍具有相对位置。
我尝试使用CSS将固定div放置在相对div内以及位置的许多变化中,但没有成功。我还尝试检测用户何时滚动,然后在div仍然是相对的但将div强制到页面顶部时,但是无法正常使用该功能。该功能需要在水平滚动时保持位置,而在垂直滚动时保持固定在屏幕顶部。
我有一个fiddle示例,它显示了我正在使用的示例,并且在垂直滚动时可以得到想要的结果。但是,当水平滚动时,页面顶部的位置将变得无用。如果您删除了“固定” css类,则可以看到水平滚动的工作方式以及页面顶部的位置如何保持相对。
/** JQuery Scroll Attempt **/
$( document ).ready(function() {
console.log( "ready!" );
$(window).scroll(function () {
console.log('scrolling..');
$(".rel").css( {top: -$('.rel').scrollTop() });
});
});
更新(已解决):
好,我知道了,这个JQuery代码段对我有用,我也会更新小提琴。
// JQuery
$( document ).ready(function() {
$(window).scroll(function () {
var currPos = $(document).scrollLeft();
$('.fixed').css('left', -currPos + 5 );
});
});