Css 定位绝对值,但调整父对象的大小
我正在尝试编写一个在一个div中包含2个div的html。 存在一个没有宽度或高度的父div。。宽度为浏览器宽度,未指定高度。 我想在这个父分区内,2个分区:第一个分区需要有一个宽度或250px,第二个分区需要有屏幕的剩余宽度。他们两人都错过了高度。。取决于里面有多少内容。 现在我试着这样做:Css 定位绝对值,但调整父对象的大小,css,html,Css,Html,我正在尝试编写一个在一个div中包含2个div的html。 存在一个没有宽度或高度的父div。。宽度为浏览器宽度,未指定高度。 我想在这个父分区内,2个分区:第一个分区需要有一个宽度或250px,第二个分区需要有屏幕的剩余宽度。他们两人都错过了高度。。取决于里面有多少内容。 现在我试着这样做: <div id="calendar"> <section id="list"> </section> <sect
<div id="calendar">
<section id="list">
</section>
<section id="grid">
</section>
</div>
#calendar {
margin: 0 auto;
position: relative;
overflow: hidden;
}
#calendar #list {
background: #f00;
position: absolute;
width: 250px;
left: 0;
top: 0;
}
#calendar #grid {
background: #0f0;
position: absolute;
left: 250px;
top: 0;
right: 0;
}
现在的问题是,当我向子div添加内容时,父div没有调整大小
我希望CSS有一个解决方法来解决这个问题,因为通过JS来解决这个问题是不好的
提前谢谢大家,,
丹尼尔 如果要使用绝对高度,则需要指定高度。那么它应该会起作用 编辑 使用 关于子元素 编辑2
也许这篇文章会对你所追求的有所帮助 不要使用定位,使用浮动。。。使用当前方法,父元素将折叠,确定父元素所需高度的唯一方法是计算最高子元素的高度(通常使用JavaScript) 这样#日历将根据最高的子元素调整高度。还要记住删除溢出规则 。。。为了简单起见,您可能应该考虑使用clearfix(通过向#calendar添加一个类)-。这是我的解决方案-> 用给定的宽度浮动#列表,然后给#网格留下相同的边距
然后,要使两列看起来都具有父容器的100%高度,需要一个图像。在你必须使用“真实图像”之前。今天,您可以简单地依赖css3渐变作为背景,从而加快页面加载速度(减少1个图像http请求)。它可能看起来更复杂,但实际上并不是那么复杂。它甚至为您提供了更多的灵活性,因为您可以更改列的宽度和颜色,而无需创建新图像。您只需更改css。我现在给它们添加了一个高度,而父div仍然是0 px高度,我刚刚做了,内容不可见。您需要它们是绝对的吗?如果你有任何建议,我会向他们敞开心扉。。我只希望子div是其中一个250px的宽度,其他屏幕宽度,并有不同的hegiht,这取决于我和d在其中的信息量。。父div的高度必须是其中最大的一个。是否需要使用
位置:绝对值?您可以使用position:static
和float
来实现这一点,并且父级将保持其高度。我尝试了您的示例,我将遇到一个问题,因为第二个div没有宽度大小。。因此,如果我在里面添加一个div,并将其设置为父div的100%,它将归入第一个div。我在这里对您的想法进行了修改,并做了一些我想要实现的小改动:D我使用了子div的相对位置,使用了左边距:250px;取而代之的是左:250px,它就像一个符咒。。非常感谢您对JOPLOmacedo的帮助,并感谢本主题中的所有人!
position: relative;
<div id="calendar">
<section id="list">
</section>
<section id="grid">
</section>
<div class="clear"></div>
</div>
#calendar {
margin: 0 auto;
position: relative;
}
#calendar #list {
background: #f00;
float:left;
width: 250px;
}
#calendar #grid {
background: #0f0;
margin-left: 250px;
}
.clear{
clear:both;
}