3

这是我想要实现的目标。我有 3 个 div。让我们称他们为左中右。中心 div 的宽度是动态的。它可能是 100 像素、200 像素等,具体取决于中心 div 保存的图像。无论中心 div 的大小如何,如何使左右 div 都粘在中心 div 上?

4

2 回答 2

2

http://jsfiddle.net/t3Gjx/这样的东西?

HTML:

<div class="wrapper">
    <div class="left">Left</div>
    <div class="center">
        <img src="http://upload.wikimedia.org/wikipedia/commons/8/80/A-Caracas.png" alt="img" />
    </div>
    <div class="right">Right</div>
</div>

CSS:

.wrapper{
    text-align:center;
    border:2px solid blue;
    font-size:0;
}

.wrapper>div{
    display:inline-block;
    text-align:left;
    vertical-align:top;
    border:2px solid red;
    font-size:16px;
}

编辑:

正如 Zoltan Toth 所说,如果窗口宽度小于元素组合宽度,它们将垂直堆叠而不是彼此相邻。

如果你不想这样,请添加

.wrapper{
    white-space:nowrap;
}

在这里看到它:http: //jsfiddle.net/t3Gjx/1/

于 2012-09-02T15:57:34.820 回答
1

您可以对侧面元素使用绝对定位 - DEMO

HTML

<div id="center">
    <div id="left"></div>

    <img src="http://lorempixel.com/200/200" />

    <div id="right"></div>
</div>

CSS

#left, #right {
    width: 100px;
    background: orange;
    height: 200px;
    position: absolute;
    top: 0;
    left: -100px;
}

#right {
    left: 100%;
}

#center {
    margin-left: 100px; /* width of the left div */
    position: relative;
    display: inline-block;
}
于 2012-09-02T16:04:33.810 回答