我可以修复jQueryMobile对话框的宽度和高度吗?

我可以修复jQueryMobile对话框的宽度和高度吗? 目前,宽度的大小是100%,这在iPad中真的很糟糕。

您可以设置对话框的页面宽度,实例: http : //jsfiddle.net/bXPTd/3/

 
Hello Foo Close dialog

我有一个类似的问题,我需要控制对话框的大小并使非模态 – 以便后面可见背景页面。 Phil的方法效果很好,但是你需要使背景容器透明并且还使调用页面保留在DOM中并且仍然可见(从beta 2开始,DOM会自动修剪,因此从DOM中删除调用对话框的页面当你显示对话框时)

第一步是使包含的覆盖层透明,无论您使用何种主题,例如

 .ui-body-a, .ui-body-a input, .ui-body-a select, .ui-body-a textarea, .ui-body-a button { background-color: transparent; font-family: Helvetica, Arial, sans-serif; } 

然后为了保持调用页面可见,请确保通过向调用页面添加data-dom-cache="true"将其缓存在DOM中,并且我发现您还必须覆盖显示和z-index样式(以及当然是宽度)以确保它在对话框后面仍然可见,例如

 

Header

您还可以缓存DOM中的每个页面,而不是通过调用向每个页面添加data-dom-cache="true" ;

 $.mobile.page.prototype.options.domCache = true; 

但这似乎相当沉重。

编辑:

找到另一种可能的方法来调整宽度/高度,你可以只修改对话框的边距;

 .ui-dialog .ui-header, .ui-dialog .ui-content, .ui-dialog .ui-footer { margin-left: 100px; margin-right: 100px; } 

你仍然需要做我提到的关于保持上一页可见的东西!

除了迈克的建议之外我做了这个,背景页面是可见的,只有对话框覆盖,而不是对话框的背景。

 .ui-dialog { min-height: 480px; background-color: transparent; background-image: none; } 

从RC2开始分享更新 – 最大宽度现在默认为500px,并带有编辑默认值的选项。 这解决了您在大屏幕上遇到的问题。 http://jquerymobile.com/blog/2011/10/19/jquery-mobile-1-0rc2-released/#features

此外,与迈克类似的概念,我仍在调整这一个 – 但要创建一个具有可见背景的叠加对话框,您需要1.删除.ui对话框的背景颜色和图像2.确保调用页面display是块2.将调用页面的不透明度设置为50%。 这也(至少在Chrome 14中)解决了我自动拥有的任何z-index问题!

 .ui-dialog{ background: none;} .inactive{ opacity: .50; display: block;} 

不活动的是一个类,我添加到调用对话框的div中。 您需要检查以确保非活动类是否胜过默认display: none; 虽然,并可能使用一些JavaScript来添加内联样式。

我不确定最近这是否有所改变; 但我想我会为jQuery Mobile 1.1提供答案。

要修复宽度所有对话框,您需要添加以下CSS规则:

 .ui-dialog-contain { max-width: 600px; } 

如果您不想在全局范围内应用此设置,则可以使用其ID来定位单个页面/对话框,例如:

 #my-dialog .ui-dialog-contain { max-width: 600px; }