我想将子div宽度设置为父div的80%。怎么做
<div id='container'>
<div id="toolbar" class="ui-widget-header ui-corner-all" style="padding:3px; vertical-align: middle; white-space:nowrap; overflow: hidden;">
<button id="BtnPreviousMonth">Previous Month</button>
<button id="BtnNextMonth">Next Month</button>
</div>
<div id='subcontainer'>
<div id="mycal" style="position:absolute;"></div>
</div>
</div>
当我设置mycal宽度和高度%。它没有效果。有什么建议吗?
答案 0 :(得分:1)
设置width:80%
,您可以设置宽度的百分比(%
),百分比是根据生成的框的包含块的宽度计算的。
<强> HTML:强>
<div id="container">
<div id="child">
</div>
</div>
<强> CSS:强>
#container{
position:relative;
width:500px;
height:100px;
}
#child{
width:80%;
}
答案 1 :(得分:1)
您必须先向父div提供,然后才能将%的宽度赋予子div。
答案 2 :(得分:0)
由于您要将width
80%设置为child
mycal
,请将width
设置为parent
subcontainer
#subcontainer{
width:1000px;
heigth:1000px
}
#mycal{
width:80%;
height:20%;
}
答案 3 :(得分:0)
当您设置百分比width
和height
时,它会产生效果。
我想,你的案例中的问题是,它只是不可见,设置一些background-color
来看它
#mycal {
width: 80%;
height: 50%;
background-color: plum;
}
请参阅JSFiddle
虽然,这可能不是你想要的。由于您已设置position: absolute
,因此包含框不是subcontainer
,而是正文元素。
答案 4 :(得分:0)
在您的代码段中mycal
绝对定位。这意味着它在%
中的宽度和高度将相对于最近的非静态定位父(位置:相对,绝对,固定)或者在没有这样的情况下相对于主体。如果您想mycal
80%
宽度为subcontainer
,则可以
#subcontainer {
position:relative;
}
但是,由于subcontainer
没有定义的高度且它的子位置绝对定位(因此不会影响父级的高度) - subcontainer
的高度为0.因此{{1} 20%
的{{1}}是0
。要解决此问题,您可以指定0
的高度,也可以使用静态定位内容填充它。
以下是一个示例:http://jsbin.com/iYOQAKiS/1/edit
subcontainer