2016-05-28 8 views
1

こんにちは私は垂直にいくつかのリの中心にしようとしています しかし、私はボーダートップとボーダーボトムを置くように、それはもはや仕事をしません。 は、私が(より少ない組み合わせ、...)どこでも100の値を変更しようとしましたが、私はそれがすべてCSSの垂直方向の整列liとdivの境界

HTML

感謝を動作させるカント:

<div> 
    <ul> 
     <li><img src="http://dummyimage.com/50x50/000/fff.png&text=tester" /> Some text</li> 
     <li> Some text</li> 
     <li>333</li> 
    </ul> 
</div> 

CSS :

ul li { 
    display: inline; 
    height: 100px; 
    line-height: 100px; 
    border: 1px solid #ff0000; 
    } 

    ul li img { 
     vertical-align: middle; 
    } 

    div { 
    height: 100px; 
    background-color: yellow; 
    border-top: 1px solid #444444; 
    border-bottom: 1px solid #444444; 
    } 

https://jsfiddle.net/pgyakeu3/

答えて

1

高さはinline要素には適用されません。 liinline-blockにする必要があります。また、あなたはマージン、パディングなど

Updated fiddle

+0

感謝。出来た。 しかし、なぜブラウザのデフォルトを上書きする必要があるのですか? –

+0

@FredericCSフィーダーから '* {margin:0}'を削除すると、メニューのような他の目的に使用するときにブラウザが破損するリストレンダリングの不備やCSSに対してliに余白が追加されます。 ..それは共通の事です。 normalize.cssのようなスタイルシートがあります –

0

ないあなたが達成しようとしているのかわからためのブラウザのデフォルトをオーバーライドする必要がありますか?これは本当ですか?あなたの要素の正確高さの値を知っているのでhttps://jsfiddle.net/pgyakeu3/2/

、これはこの方法をacomplishedすることができます答えを

ul { 
    height: 100px; 
    margin-top: 25px; 
} 
ul li { 
    display: inline; 
    border: 1px solid #ff0000; 
} 
ul li img { 
    vertical-align: middle; 
} 
div { 
    height:100px; 
    background-color:yellow; 
    border-top:1px solid #444444; 
    border-bottom:1px solid #444444; 
} 
関連する問題