2011-12-07 5 views
0

私は、各行に3つの画像を持つ画像の行を作成しようとしています。このすべてのデータが動的であるが、以下のいくつかの例のHTMLとCSSです:高さの異なる鉛直中心の梁

ul { margin: 0; padding: 0; list-style: none; width: 900px; } 

li { margin: 0; padding: 0; width: 280px; display: inline-block; 
    text-align: center; } 

<ul> 
    <li><img src="http://i.imgur.com/FcRwL.png" /></li> 
    <li><img src="http://i.imgur.com/VLwWb.png" /></li> 
    <li><img src="http://i.imgur.com/euevl.png" /></li> 
    <li><img src="http://i.imgur.com/VLwWb.png" /></li> 
    <li><img src="http://i.imgur.com/euevl.png" /></li> 
    <li><img src="http://i.imgur.com/FcRwL.png" /></li> 
</ul> 

ここではjsFiddleである:http://jsfiddle.net/ZxPG3/

だから私の問題は、すべての画像は下部に垂直配向しているように見えるということです。これは、liの高さが内部に含まれる画像と等しいために発生します。これはulの高さと等しくありません。 liの高さを特定の値に設定することはできません。イメージの高さは決してわからないからです。

liulの高さと同じに設定して、イメージを垂直に中央に配置する方法はありますか?あなたはしかし、最も高い画像の高さを知っておく必要がありhttp://jsfiddle.net/ZxPG3/4/

答えて

1

ちょうどFFで私のためにULLI

http://jsfiddle.net/HerrSerker/WKkzK/3/

作品にvertical-align:middle;を与える、クローム、オペラ、SafariやIE7-9

IE7は動作するにはCSSハックが必要です。

IE6でテストしなかった

+0

これはうまくいった、ありがとう! – Steven

0

はこれを試してみてください。 (LIline-heightに入れてください)

0

CSSで垂直にセンタリングするのは難しいです。そのデザインには問題があります。

ここには、垂直センタリングのさまざまな方法についてのinteresting articleがあります。

ここにはdemoがあり、display:table-cell;vertical-align:middle;を使用していますが、問題があります。これはラップせず、IEの古いバージョンでは動作しません。

また、CSS3 Flexboxを調べることを検討してください。

0

そして、あなたは高さを設定する必要はありません別の代替は、それらにvertical-align: middleと相まって、LIの上ULtable-celldisplay: table-rowを利用することです。アクションで

http://jsfiddle.net/ZxPG3/5/

+0

「ul」の幅でもラップしないという問題があります。 – Steven

+0

ラッピングが必要な場合は、 'vertical-align'メソッドに行きましょう。 – Cyrille

関連する問題