【发布时间】:2012-02-21 04:33:34
【问题描述】:
我希望创建一个手风琴风格的网站,其中包含 3 个菜单项,这些菜单项在展开时会填充 100% 的窗口。我可以找到很多不同的手风琴,但没有一个适合 height: 100%
有什么想法吗?
这是总体布局:
【问题讨论】:
我希望创建一个手风琴风格的网站,其中包含 3 个菜单项,这些菜单项在展开时会填充 100% 的窗口。我可以找到很多不同的手风琴,但没有一个适合 height: 100%
有什么想法吗?
这是总体布局:
【问题讨论】:
在某些版本中,heightStyle: "content" 不起作用,因为 jquery.ui.js 不包含“heightStyle”变量,因此您可以在 jquery.ui.js 中手动设置默认变量。
在代码中查找:
$.extend( prototype.options, {
heightStyle: null, // remove default so we fall back to old values
...
.. some code ..
...
});
改为:
$.extend( prototype.options, {
heightStyle: "content", // remove default so we fall back to old values
...
.. some code ..
...
});
【讨论】:
您可以使用 jQuery UI Accordion (demo) 做到这一点:
css
html, body {
height: 100%;
padding: 0;
margin: 0;
overflow: hidden;
}
.accordion {
height: 100%;
}
脚本
$(function(){
$( ".accordion" ).accordion({ fillSpace: true });
$(window).resize(function(){
// update accordion height
$( ".accordion" ).accordion( "resize" )
});
});
对于较新版本的 jQuery UI Accordion (v1.12.1+),将 heightStyle 设置为 fill,使用“刷新”更新 并且将 html 和正文高度设置为 100% (demo)。
CSS
html,
body {
height: 100%;
padding: 0;
margin: 0;
overflow: hidden;
}
脚本
$(".accordion").accordion({
heightStyle: "fill"
});
$(window).resize(function() {
// update accordion height
$(".accordion").accordion("refresh");
});
【讨论】:
我使用 1.8.21 的 jquery-ui,heightStyle: "content" 对我不起作用。我通读了代码,找到了以下解决方案:
$('.accordion').accordion({
"autoHeight": false,
});
【讨论】:
我遇到了同样的问题,并且:
.collapse.in {
height: 100%!important;
}
已修复,无需更多 javascript。
【讨论】:
jQuery( "#accordion" ).accordion({
collapsible: true,
heightStyle: "content"
});
它会起作用,如果您使用的组合或小部件在选择后大小会增加,或者由于任何操作导致手风琴的大小增加,而不是通过处理该事件,您可以简单地调用以下命令;
jQuery( "#accordion" ).accordion( "resize" );
调整你的手风琴。
【讨论】: