[英]Height of tabContainers in dojo
我正在使用Dojo tabContainer。 快速问题:如果要处理Dojo容器,是否必须在CSS中以像素为单位指定窗口小部件大小? 从我所看到的,获得TabContainer实际显示的唯一方法是通过CSS给它一个绝对大小。
更新:我发现元素body
和html
缺少height
属性,因此它被计算为0.所以,现在如果我将它们设置为100%,我将显示表单...但是,它将是巨大的! (只要页面)。 我们的想法是将其高度设置为auto
,以便“只要它需要”......即使可能吗?
在我的HTML中,我有类似的东西:
...
<body>
<div id="loginForm"> </div>
</body>
...
然后我在代码中:
require(["app/widgets/LoginForm"], function( loginForm){
// Create the "application" object, and places them in the right spot.
loginForm = new LoginForm( {} , 'loginForm');
loginForm.startup();
});
LoginForm是一个简单的基于模板的小部件,包含以下模板:
<div data-dojo-attach-point="tabContainer" data-dojo-type="app.TabFading" data-dojo-props="tabPosition:'top'" style="height:100%">
<div data-dojo-type="dijit.layout.ContentPane" data-dojo-attach-point="loginPane" data-dojo-props="title: 'Login'">
<form data-dojo-type="dijit.form.Form" data-dojo-attach-point="loginForm" method="POST">
<label for="${id}_login">Login</label>
<input name="login" id="${id}_login" data-dojo-attach-point="login" data-dojo-type="dijit.form.ValidationTextBox" data-dojo-props="required:true"/>
<label for="${id}_password">Password</label>
<input name="password" id="${id}_password0" data-dojo-attach-point="password" data-dojo-type="app.ValidationPassword" />
<input type="submit" data-dojo-attach-point="button" data-dojo-type="app.BusyButton" label="Login!" />
</form>
</div>
</div>
</div>
CSS是基本的:
#loginForm {
width: 300px;
margin: 0 auto;
padding: 20px;
-moz-border-radius: 20px;
-webkit-border-radius: 20px;
/*** Background Gradient - 2 declarations one for Firefox and one for Webkit ***/
background: -moz-linear-gradient(19% 75% 90deg,#FCFCFC, #CCCCCC);
background:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#FCFCFC), to(#CCCCCC));
/*** Shadow behind the box ***/
-moz-box-shadow:0px -5px 300px #a9a0a0;
-webkit-box-shadow:0px -5px 300px #a9a0a0;
}
body {
background-color: #fcfcfc;
font: 9pt/1.5em Helvetica Neue, Helvetica, Arial, sans-serif;
margin: 0 0;
}
我必须使TabContainer实际出现的唯一方法是height:300px
- 否则,计算高度为0。
这是它的意思吗? 或者我做错了什么?
如果在ContentPane或TabContainer上将属性doLayout
设置为false,它应自动调整内容的高度。 dijit布局容器的doLayout
属性默认为true,然后需要将特定高度应用于它。
只需将标签容器设置为doLayout =“false”
详细示例如下: https : //dojotoolkit.org/reference-guide/1.7/dijit/layout/TabContainer.html#examples
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.