jquery移动对齐按钮取决于内容大小

jquery mobile align buttons depending on content size

本文关键字:取决于 移动 对齐 按钮 jquery      更新时间:2023-09-26

我想使用javascript/jquery和css实现以下布局。我有一个用jquery mobile编写的项目。按照预期,有页眉、内容和页脚。我的页脚内部没有任何内容,浮动在页面底部。我的内容是一个动态的表单,底部有一个下一个按钮来提交它。在提交时,我会得到一个带有按钮的不同表单。该按钮始终位于表单右侧的下方。

根据表单内的内容,按钮应浮动在表单下方并向右对齐。如果表单内容较小,并且没有覆盖屏幕,则按钮应位于页脚上方并向右对齐。如果表单中的内容大于屏幕大小,则按钮应位于表单内容下方。

我尝试使用jquery方法来获取屏幕的大小,并对按钮进行over-css设置,但这给了它一个固定的属性,如果我更改屏幕,它不会改变。

  var innerHeight = $('#contents').height();
  alert(innerHeight);
  var screenHeight = window.innerHeight;
  alert(screenHeight);
  if(innerHeight < screenHeight) {
    $('#contents').css("height", screenHeight-120);
  }

我希望它是动态的,这样如果在手机上观看,它可以在横向和纵向上正确渲染。谢谢你的建议。

听起来你正在为该按钮寻找一个粘性页脚:http://www.cssstickyfooter.com/

一定要将粘性页脚至少填充到你在帖子中提到的固定位置页脚元素的高度(这将确保你的按钮永远不会被隐藏)。

注意:您可能需要重新思考此设计中的用户体验
"提交/下一步"按钮的位置应直观且一致。

例如:Form#1的按钮与输入字段只有几个像素的距离;表单#2在输入下方有一个100px的按钮。对我来说,这是糟糕的设计。这是一种形式——一种用户期望以某种方式表现的工具。我认为"玩"提交按钮的位置是个坏主意——除非它在整个表单提交过程中有一个非常具体的位置。

也许一个粘性页脚与页面之间的输入数量平衡相结合,可以让你在"想要"answers"需要"中达到最佳效果

您可以在CSS中使用媒体查询来达到您想要的效果。尽管我很喜欢写JavaScript,但CSS是一个更好的资源。http://css-tricks.com/snippets/css/media-queries-for-standard-devices/

*附带说明一下,IE8不支持媒体查询。然而,您的主要意图是为移动设备提供一个响应式设计——CSS会很好地为您处理。