包含更多元素的shrink-to-fit-div?

时间:2012-05-23 20:38:36

标签: html css

基本问题是:当一个元素本身包含其他元素时,如何缩小它?

目标是在(居中)图像上设置(居中)菜单,其宽度和高度应与图像尺寸相关。 所有这些都是响应式的,意味着没有绝对的尺寸!

以下是示例代码:

<div id="menu">
    <img src="picture.jpg" />
    <div id="left">
        test1
    </div>
    <div id="right">
        test2
    </div>
</div>
#menu{
position:relative;
display: table; /*tried inline-block as well */
text-align: center;
line-height: 1;
}

#menu img{
height: 90%;
position:relative;
}

#left{
width: 46%;
background-color: #ffcdcc;
float: left;
text-align: right;
}

#clear{
clear: both;
}

#right{
width: 46%;
background-color: #324344;
float: right;
text-align: left;
}

这应该是这样的:

____________________________________
|                                  |
|  ------------------------------  |
|  |                            |  |
|  |     p i c t u r e          |  |
|  |                            |  |
|  |                            |  |
|  |                            |  |
|  |                            |  |
|  |    left <button> right     |  |
|  |                            |  |
|  ------------------------------  |
|                                  |
------------------------------------

图片的高宽比始终相同。它的总大小取决于用户窗口。

我无法让“菜单”div环绕,并且“左”和“右”div可以同时定位。

这甚至可能吗?我甚至没有谈论浏览器的兼容性......

1 个答案:

答案 0 :(得分:1)

看看是否有效:http://jsfiddle.net/sdvnh/1/

变更:

#menu {
display: block;
}

#menu img{
height: 90%;
width: 90%;
}