在这里寻找一些关于如何最好地设置以下 HTML 样式的专家建议:
<body>
-Some content-
<div class="parent" style="height:50%;">
<div class="child" style="background-color:#FF9999;">An image</div>
<div class="child" style="background-color:#9999FF;">Some text</div>
</div>
</body>
要获得如下行为的结果:
我正在使用的标准如下:
- 容器 div .parent 是一个块元素,填充了浏览器窗口的整个宽度。
- 我知道第一个/左内部 div 的宽度,以像素为单位,但不是百分比,基于将去那里的图像的规律性。
- 我不知道第二个/右内部 div 的宽度 - 因为它包含可变数量的文本,无论浏览器窗口宽度如何,应该自动填充右侧的整个空间
- 第一个/左 div 的高度,当比第二个/右 div 短时,应该拉伸到相同的高度(原因如下:第一个/左 div 将有一个右边框来设置它与第二个/右 div , 并且这个边框应该是 .parent div 的高度;但是,第一个/左 div 并不总是出现在标记中,在这种情况下边框不应该出现)。
- 我不能使用 JavaScript 诡计。
根据我的经验和来自网络资源的帮助,我尝试过的解决方案:
Float:使用 float:left 的传统方法显然无法将第一个/左 div 拉伸到其兄弟或 .parent 的(可变)高度。
内联块:.parent {background-color:#999999;} .parent > .child {display:inline-block;vertical-align:top;height:100%;}
当第二个/右 div 中的文本不足以填满整行时,使用 display:inline-block 似乎很有吸引力。然而,当有更多文本时,第二个/右 div 会增长到外部容器允许的宽度,迫使它包裹在第一个/右 div 下。
任何见解将不胜感激!