我有一个简单的问题,使我浪费了两天而没有任何成功。我是一名CSS初学者,所以如果我提出一些愚蠢的问题,请原谅。将动态高度的相对div定位到另一个相对格
的jsfiddle
问题
我有三个主要的div '头', 'contentContainer' 和 '尾' 的网页。 contentContainer中有一个名为“content”的div。内容div应包含多个部分(我使用purecss来表示网格中的每个部分)
部分应包含两个div'divA'和'divB'。现在'divA'应该有动态高度,divB应该有固定的高度。意思是如果我调整浏览器的大小,'divA'应该随着c部分一起调整大小。下面的屏幕截图直观地显示了我描述的内容
现在我不明白的是以下几点:
- 为什么 'DIVB' 不在 '节' 的底部div的底部虽然是0?
为什么我不能将'divA'放在顶部/底部?它没有工作,所以我不得不把它放在高度属性。
.divA{ position: relative; top: 0; bottom: 100px; ............ }
代替
.divA{ position: relative; height: 85%; ........... }
- 为什么 'DIVB' 走 '部分' DIV外?这对我来说没有意义! 'divA'应该相对于'section'来定位,为什么它不尊重父div的边界?以下截图显示了我的意思。
Note_1我读的地方,我可以用绝对定位,而不是相对定位两者的div: '耍大牌' 和 'DIVB'。然而,绝对定位我不会有'divA'的动态高度
Note_2我不会有'divA'和'divB'中的元素。只是背景颜色或图像。所以基本上我想'节'div来填充'内容'区域,虽然它没有指定高度的孩子。
请,如果有人向我解释此行为背后的原因,我真的很感激。我想用CSS定位元素将是合乎逻辑的,但事实证明,它不是^^(我失踪肯定的东西)
UPDATE
感谢@Florian你的答案。我发现你的建议有一个问题。我加
overflow:hidden;
后的contentContainer喜欢你的建议,“DIVB”就是“节” DIV去下。我想要达到的行为是'divB'应该保持在相同高度“100px”的位置。 'divA'应该调整容器大小。 http://jsfiddle.net/oqe3bjxe/
如何这个问题能解决?
关于你的答案,
- 确定。
- 有道理我猜读“3”后
- 我不确定孩子是否知道父母的宽度和高度。感谢澄清。
- 为什么?使用相对定位有什么问题?
- 为什么?
对不起,提出了很多问题。我真的很想明白。
如果不建议使用相对位置,那么我想肯定有更好的方法来实现这一点。有人可以让我看看使用JSFiddle的最佳实践如何做到这一点?
由于事先 特发
OMG真的!浪费两天之后答案很简单:/。非常感谢。我真的想明白为什么我需要溢出:隐藏。如果你回答我的其他问题,我也会很感激。 – TeFa 2014-10-29 19:27:53
编辑我的答案一些更多的解释。 – 2014-10-29 19:35:54
我更新了我的问题。再次感谢。 – TeFa 2014-10-29 21:11:30