2011-09-15 13 views
7

並べ替えられていないリストを水平方向に表示しようとしています。各リスト項目には、リスト項目に垂直に並べて表示したい画像のアンカータグがあります。ここに私のインラインブロックリスト項目の内容を垂直に整列する

HTMLです:

<ul> 
    <li> 
     <a href="#"> 
      <img src="1.jpg" alt="" height="50" width="50" /> 
     </a> 
    </li> 
    <li> 
     <a href="#"> 
      <img src="2.jpg" alt="" height="50" width="50" /> 
     </a> 
    </li> 
    <li> 
     <a href="#"> 
      <img src="3.jpg" alt="" height="50" width="50" /> 
     </a> 
    </li> 
</ul> 

CSS:

ul 
{ 
    margin: 0; 
    padding: 0; 
    list-style: none; 
    height: 93px; 
} 

ul li 
{ 
    display: inline-block; 
    width: 110px; 
    height: 93px; 
    text-align: center; 
    vertical-align: middle; 
} 

は、私がここで間違って何をしているのですか?

答えて

13

http://jsfiddle.net/zgxHB/1/

代わりdisplay: inline-block;

+0

こんにちは。 @Kyle Sevenoaksが提案している方法と対比してあなたのアプローチが好奇心です。( 'float:left') いずれの方が良いとお勧めしますか?どちらも同じ視覚効果を達成するように見えますが、私は不思議でした。 TIA。 –

+0

@SalvatoreIovene、table-cellは、垂直方向の整列だけでなく水平方向も可能です。 http://jsfiddle.net/zgxHB/20/、フロートソリューションのビュー。 – Joe

+0

ありがとう@JoeTuskan。したがって、垂直方向の配置について気にしなければ、両方の方法は互換性がありますか? –

6

左に浮いてみてください。これは、水平線でそれらを表示し、

1

ディスプレイのdisplay: table-cell;使用してみてくださいそのブロックの状態を保持する:インラインブロック;要素がインラインレベルであるかのように扱います。つまり、ページがレンダリングされるときにマークアップ内の空白が表示されます。

TRY:

<ul><li> 
     <a href="#"> 
      <img src="1.jpg" alt="" height="50" width="50" /> 
     </a> 
    </li><li> 
     <a href="#"> 
      <img src="2.jpg" alt="" height="50" width="50" /> 
     </a> 
    </li><li> 
     <a href="#"> 
      <img src="3.jpg" alt="" height="50" width="50" /> 
     </a> 
</li></ul> 

OR:

<ul><!-- 
    --><li> 
     <a href="#"> 
      <img src="1.jpg" alt="" height="50" width="50" /> 
     </a> 
    </li><!-- 
    --><li> 
     <a href="#"> 
      <img src="2.jpg" alt="" height="50" width="50" /> 
     </a> 
    </li><!-- 
    --><li> 
     <a href="#"> 
      <img src="3.jpg" alt="" height="50" width="50" /> 
     </a> 
    </li><!-- 
--></ul> 
関連する問題