我希望图像左对齐,但文本块在剩余空间中居中对齐。我该怎么做?
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/
答案 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;
}
答案 1 :(得分:0)
这是基于百分比的解决方案。
首先,我们给列表一个类,告诉他们如何处理它们的内容。
<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;
}