如何进行内联块拉伸?

时间:2013-08-03 22:18:51

标签: html css

我希望图像左对齐,但文本块在剩余空间中居中对齐。我该怎么做?

HTML:

<ul>
    <li>
        <img src="http://mobile-streetmaps.com/wp-content/uploads/2010/01/itunesArtwork-1-08-18-08.gif" />
        <center>
            <div>
                <h1>Hello</h1>
                <p>I R Awesome</p>
            </div>
        </center>
    </li>
</ul>

的CSS:

img {
    vertical-align:middle;
    display:inline-block;
}
center {
    vertical-align:middle;
    display:inline-block;
    background-color:orange;
}

jsFiddle:http://jsfiddle.net/PVgT6/

2 个答案:

答案 0 :(得分:1)

Willem Van Bockstal answer中针对类似问题所述,您可以在CSS中使用类似表格的行为。

首先给列表元素一个类,然后在css中创建一个表。

<li class="imgtext">

.imgtext {
    display: table;
 }

然后你做中心显示:table-cell。

center {
    vertical-align:middle;
    display: table-cell;
    width: 100%;
    background-color:orange;
}

fiddle

答案 1 :(得分:0)

这是基于百分比的解决方案。

fiddle

首先,我们给列表一个类,告诉他们如何处理它们的内容。

<li class="list-image">...</li>

然后我们给图像一个宽度,并使它与div玩得很好:

li.list-image img {
    width: 20%;
    vertical-align:middle;
    display:inline-block;
}

我们的div需要100% - (image-width * 2)宽度。这允许它以ul为中心。如果您只是希望它以div为中心(稍微偏向右侧),则可以100% - image-width,例如80%

li.list-image > div {
    width: 60%;
    height: 100%;
    vertical-align:middle;
    text-align: center;
    display: inline-block;
}