我想并排放置两个DIV标签,而不使用固定宽度。
第一个div扩展到其内容,第二个div应填充剩余的空间。此外,div不能坐在其他div的顶部,因为它们具有透明的背景图像,所以如果它们相交很明显。我尝试了所有可能的想法,但找不到使用DIV标签的解决方案。
第一个div扩展到其内容,第二个div应填充剩余的空间。此外,div不能坐在其他div的顶部,因为它们具有透明的背景图像,所以如果它们相交很明显。我尝试了所有可能的想法,但找不到使用DIV标签的解决方案。
我可以使用TABLE来执行此操作,但是可以使用DIV来执行此操作吗?还是DIV不能做的另一件事?
以下是代码:
#right{ background: green; width: 100%; } #left { margin-top: 5px; /* to test if they intersect*/ background: red; } #container { width: 800px; } <div id="container"> <div id="left"> This div is as big as it's content</div> <div id="right"> rest of space</div> </div>
感谢您的回复!
解决方法
见:
http://jsfiddle.net/kGpdM/
#left { background: #aaa; float: left } #right { background: cyan; overflow: hidden }
这适用于所有现代浏览器和IE7。
左列将与其中的内容完全一样宽。右列将占用剩余空间。
这个答案背后的溢出:隐藏的“诡计”是explained here。