2011-12-26 100 views
2

我一直在尝试使用jQuery UI对话框。但我无法设置最小宽度和高度。 这里是我的代码无法设置jquery ui对话框最小宽度

var options={ 
       modal: true, 
       title:headertext, 
       minHeight:125, 
       minWidth:520, 
       maxWidth:1000, 
       maxHeight:1000, 
       dialogClass:"sfFormwrapper"}; 
      $('#'+popupid).dialog(options); 

但在浏览器,它呈现为

height:auto ; width:520px

谢谢!

回答

6

最小/最大值只是控制最小值,您可以调整它的大小。如果您想将其设置为某个高度,请使用高度/宽度。也可能想要将方法名称'选项'传递给您的dialog()调用。

var options={ 
      modal: true, 
      title:headertext, 
      height: 500, 
      minHeight:125, 
      minWidth:520, 
      maxWidth:1000, 
      maxHeight:1000, 
      dialogClass:"sfFormwrapper"}; 
$('#'+popupid).dialog('option', options); 
12

你似乎是的印象是,在minWidthminHeightmaxWidthmaxHeight选项分别直接映射到min-widthmin-heightmax-widthmax-height CSS样式规则。事实并非如此。

您问题中的样式规则来自小部件元素本身(树的根,暴露类ui-dialog类)。请注意,minWidth选项转换为width规则,该规则实际上是动态的:它由小部件管理,并随着调整对话框大小而变化。

以同样的方式,由对话窗口小部件增强的原始元素具有动态应用的width,heightmin-height规则。

正如您在this fiddle中看到的那样,如果您使用浏览器开发工具的布局视图,则小部件会确保对话框(包含边框和标题栏)的总大小保持在您指定的范围内。

+2

如果我没有弄错,minWidth/minHeight/etc限制[**用户调整大小**](http://api.jqueryui.com/dialog/#option-minWidth),根据内容不增长/缩小。每个站点:* MinWidth:对话框可以调整的最小宽度,以像素为单位。*我的理解是否正确? – crashwap 2014-03-31 02:10:38

1

使用这样的:

$('#'+popupid).dialog({ width:400, height:300, maxWidth: 800, maxHeight: 500, minWidth: 300, minHeight: 200 });

1

答案很简单

$("#info").dialog({ 
    draggable: false, 
    autoOpen: false, 
    resizable: false, 
    width: '40%', 
    height: 450, 
    modal: true 
}); 

$(".info").click(function(event) { 
    $("#info").dialog("open"); 
    $(".ui-dialog").css({'min-width': '350px'}); 
    event.preventDefault(); 
}); 
0

只需使用CSS!

.ui-widget-content { 
min-width: 360px; 
} 

或者

最小宽度:25%;