使JQuery对话框内容的宽度和高度均为100%

时间:2013-02-28 10:28:25

标签: jquery css dialog height width

我创建一个div,然后在对话框中打开它。我尝试了这个div的样式,以实现内容在两个方向上扩展到100%。

到目前为止我尝试了什么: 设置div样式

#content {
    width:auto !important;
    height:auto !important;
    background-color:red !important;
    display:block !important;
}

并设置默认div样式

$(div).dialog({ dialogClass: 'someStyle' });

.someStyle .ui-dialog-content 
{
    height:auto !important;
    display:block !important;
}

似乎什么都行不通!我重写宽度属性但不能覆盖高度属性。怎么破解这个?

我希望实现这样的目标:http://jsfiddle.net/S3FQv/

3 个答案:

答案 0 :(得分:10)

您可以使用jQuery widthheight属性来获取视口的像素宽度,并将其作为样式应用于div

var w = $(window).width();
var h = $(window).height();

//Set up the dialog with the width and height set above.
$('#myDialog').dialog({
    title: 'My Dialog',
    height: h,
    width: w
});

看到这个小提琴:http://jsfiddle.net/URpmR/2/

如果用户更改浏览器的大小,您还应该添加一些额外的代码来重新执行该功能:

$(window).resize(myFunction());

答案 1 :(得分:1)

要使内容具有100%的高度,必须在htmlbody标记上指定此高度:

html, body { height:100%; margin:0; padding:0; }

此外,设置auto并不一定意味着宽度和/或高度将是100%。同样,旧版本的IE不支持width: auto;height: auto;

如果可能,您也不应使用!important覆盖现有样式。

JSFiddle example

答案 2 :(得分:0)

将此Answer

上的width选项设置为'auto'