2012-01-03 202 views
4
<ul> 
    <li class="more">aaa</li> 
    <li class="moretwo">aaa</li> 
    <li class="more">aaa</li> 
</ul> 

.more { 
    background-color: red; 
    height: 50px; 
    vertical-align:middle; 
} 

.moretwo { 
    background-color: green; 
    height: 50px; 
    vertical-align:sub; 
} 

爲什麼在這個例子中垂直對齊不起作用? 有可能嗎?如果是,我該如何做到?UL LI垂直對齊?

活生生的例子:http://jsfiddle.net/gQM68/與你的答案

+0

最簡單的方法是:

  • AAA
  • erenon 2012-01-03 09:42:54

    回答

    0

    vertical-align property僅適用於行內和table-cell元素。您可以通過在li元素內使用span元素,並在span(例如)上設置vertical-align來解決此限制。

    <li><span class="more">aaa</span></li> 
    
    +0

    這也不工作:http://jsfiddle.net/gQM68/ – 2012-01-03 09:48:57

    0

    如果你周圍有span文本並設置其風格像它下面應該工作:

    <ul> 
        <li class="more"><span>aaa</span></li> 
        ... 
    </ul> 
    
    li span { 
        display: inline-block; 
        vertical-align: middle; 
    } 
    
    .more { 
        ... 
    } 
    
    .moretwo { 
        ... 
    } 
    
    +0

    謝謝,但這不工作:http://jsfiddle.net/gQM68/ – 2012-01-03 09:48:27

    +0

    適合我(FF3)。你正在使用哪種瀏覽器? – 2012-01-03 09:49:55

    +0

    我現在有FF 5.0 – 2012-01-03 09:52:27

    5

    可以使用vertical-aligndisplay:table-cell

    .more { 
        background-color: red; 
        height: 50px; 
        display:table-cell; 
        vertical-align:middle; 
    } 
    
    .moretwo { 
        background-color: green; 
        height: 50px; 
        display:table-cell; 
        vertical-align:sub; 
    } 
    
    +0

    有用的鏈接:http://phrogz.net/css/vertical-align/index.html – diEcho 2012-01-03 09:50:07

    +0

    謝謝,但爲什麼現在不是列表? http://jsfiddle.net/gQM68/1/ – 2012-01-03 09:50:47

    +0

    必須閱讀此https://developer.mozilla.org/en/CSS/vertical-align#Values_(for_inline_elements) – diEcho 2012-01-03 09:55:41