[英]Switch a div to fixed CSS positioning without causing contents to disappear on mobile
我正在嘗試實現“滾動固定”的HTML / CSS布局。 這樣的想法是,用戶可以稍微滾動頁面-直到網站標題不可見-屆時頁面上的主要產品圖片將固定在頁面頂部,其余頁面內容將固定在頁面頂部。繼續滾動。 這是我要實現的模型:
如您所見,起初,站點標題是可見的,但是用戶可以向下滾動。 當產品圖片(黃色)到達頁面頂部時,它將固定在窗口頂部。
我現在這樣做的方法是(使用jQuery)偵聽文檔中的scroll事件,然后在用戶滾動超過標題的高度時更改產品圖像的CSS position屬性。 我已經嘗試了 CSS位置fixed和absolute ,但是每個都有其問題:
對於#1,我這樣做:
var docScrollTop = $(window).scrollTop();
if (docScrollTop >= $('.dev-header-fixed').height()) {
$fixableTop.css({
'position': 'fixed',
'top': 0,
'z-index': 99,
'display': 'block'
});
}
...對於#2,我這樣做:
var docScrollTop = $(window).scrollTop();
if (docScrollTop >= $('.dev-header-fixed').height()) {
$fixableTop.css({
'position': 'absolute',
'top': docScrollTop,
'z-index': 99,
'display': 'block'
});
}
我已經提供了上述兩種方法的完整且有效的JSBin示例鏈接。 有什么方法可以防止移動設備在切換到固定位置時隱藏內容?
在IE中也很煩人。 如何使用這個:
if (docScrollTop >= $('.dev-header-fixed').height()) {
console.log('Fixed header state');
$fixableTop.css({
'position': 'fixed',
'top': 0,
'z-index': 99,
'display': 'block'
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.