标题 – JQuery-Mobile内容区域头和脚之间的100%高度

前端之家收集整理的这篇文章主要介绍了标题 – JQuery-Mobile内容区域头和脚之间的100%高度前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
很多话题在这个…但没有得到点如何做到这一点。

我有我的JQM页眉和页脚。我希望内容区域填充头和脚之间的100%高度。

这是我的代码,怎么可能?

  1. <body>
  2. <div data-role="page" id="entryPage" data-theme="d">
  3.  
  4. <div data-role="header" id="header" data-position="fixed" data-theme="d">
  5. <h1>Page Title</h1>
  6. </div><!-- /header -->
  7.  
  8. <div data-role="content" id="content" data-theme="d">
  9.  
  10. <div id="columnwrapper">
  11. <div id="leftcolumn">
  12. <div class="innertube">
  13. Point 1
  14. </div>
  15. <div class="innertube">
  16. Point 1
  17. </div>
  18. </div>
  19. </div>
  20.  
  21. <div id="rightcolumn">
  22. <div class="innertube">
  23. <div id="switch1">
  24. test
  25. </div>
  26. </div>
  27. <div class="innertube">
  28. test2
  29. </div>
  30.  
  31. </div>
  32.  
  33. <div id="contentcolumn">
  34. <div class="innertube">Content</div>
  35. <div class="innertube">Content</div>
  36. </div>
  37.  
  38. </div><!-- /content -->
  39. <div data-role="footer" id="footer" data-position="fixed" data-theme="d">
  40.  
  41. <div id="switch2">
  42. <a href="#foo" data-role="button" data-icon="arrow-u">Expand main menu</a>
  43. </div>
  44.  
  45. </div><!-- /footer -->
  46. </div><!-- /page -->
  47. </body>

CSS:

  1. #columnwrapper{
  2. float: left;
  3. width: 100%;
  4. margin-left: -75%; /*Set left margin to -(contentcolumnWidth)*/
  5. background-color: #C8FC98;
  6.  
  7. }
  8.  
  9. #leftcolumn{
  10. margin: 0 40px 0 75%; /*Set margin to 0 (rightcolumnWidth) 0 (contentcolumnWidth)*/
  11. background: #C8FC98;
  12. }
  13.  
  14. #rightcolumn{
  15. float: left;
  16. width: 40px; /*Width of right column*/
  17. margin-left: -40px; /*Set left margin to -(RightColumnWidth)*/
  18. background: yellowgreen;
  19. }
  20.  
  21. #contentcolumn{
  22. float: left;
  23. width: 75%; /*Width of content column*/
  24. background-color: blue;
  25. }
  26.  
  27. .innertube{
  28. margin: 0px; /*Margins for inner DIV inside each column (to provide padding)*/
  29. margin-top: 0;
  30.  
  31. }

实际上,内部区域仅根据内容填充高度…意味着2 divs 2行,但不是100%..

谢谢

解决方法

CSS位置:固定在移动浏览器中无法正常工作。我的经验是使用Android和iOS浏览器,而且没有任何一个隐含的位置:正确修复(例外是iOS 5浏览器,但仍处于测试阶段)。

用户在移动浏览器中滚动时,不必将元素固定到屏幕上,而不是移动它,它往往被视为位置:absolute,当页面滚动时移动。

同样使用CSS overflow属性将不允许在大多数移动设备上滚动(iOS支持它,但用户必须知道在滚动滚动滚动滚动滚动条上使用两根手指)。

然而,您可以使用CSS,但请注意,您将需要使用position:absolute或您可以使用JavaScript来设置元素的高度。

这是一个使用JavaScript来设置伪页面元素高度的jQuery Mobile解决方案:

  1. $(document).delegate('#page_name','pageshow',function () {
  2. var the_height = ($(window).height() - $(this).find('[data-role="header"]').height() - $(this).find('[data-role="footer"]').height());
  3. $(this).height($(window).height()).find('[data-role="content"]').height(the_height);
  4. });

要获得完美的完成,您需要考虑目标设备地址栏的行为,因为如果您想要一个全屏网页,那么您必须将地址栏的高度添加页面的高度。

猜你在找的jQuery相关文章