我有几个页面(data-role="page"),每个页面都有一个内容 div(data-role="content")。我只是想垂直集中每个页面上的内容 div。我试过垂直对齐,它没有用。我尝试获取浏览器高度并分配顶部,如下所示:
home_height = $("#home_page_content").height();
contentTop = (browserHeight - headHeight - home_height)/2;
$("div:jqmData(role='content')").css("position", "relative").css("top", contentTop);
但它不适用于除主页之外的其他页面。因为 height() 对不可见元素不起作用,所以内容高度将始终为 0。
然后我尝试了一种 css hacking 方式来获取其他内容,如下所示:
$("#lounge-content").css({
position: 'absolute',
visibility: 'hidden',
display: 'block'
});
lounge_height = $("#lounge-content").height();
$("#lounge-content").css({
position: 'static', // Again optional if #myDiv is already absolute
visibility: 'visible'
});
loungeTop = (browserHeight - headHeight - lounge_height)/2;
console.log("lounge height is: " + lounge_height + ", lounge top value now is: " + loungeTop);
$("#lounge-content").css("position", "relative").css("top", loungeTop);
问题是当我打开文件时,我只能看到标题,内容被隐藏,我必须刷新浏览器才能看到所有内容。它工作得很好。
但这显然不是一个非常方便的方法。也许垂直集中的 div 不应该那么困难?有人可以帮帮我吗。非常感谢你!