2012-02-29 12 views
5

Używam jQuery mobile i próbuję wyśrodkować niektóre ikony obrazów na liście. Problem polega na tym, że obrazy nie są pionowo wyśrodkowane w elemencie listy.Jak wyśrodkować pionowe obrazy w elemencie LI?

Czy ktoś może wskazać mi właściwy kierunek, ponieważ zdecydowanie nie jestem ekspertem CSS. Wiem, że mogę uzyskać je przy użyciu tabel, ale nie chcę tego robić. Dzięki.

Och i używam EJS w m kodu poniżej. Proszę zapoznać się zrzut ekranu:

http://imgur.com/uIXu C

Oto mój kod:

<li data-icon="false"> 
      <a href="#"> 
       <img src="images/img_trans.gif" class='largePlatform platform_<%= releases[i].platform_abbr %>_large' width='30' height='30' style="position:absolute; top:25%; left:10px"/> 
       <h2 style="position:absolute; top:25%; left:50px"><%= releases[i].platform_abbr %></h2> 

       <div data-role="controlgroup" data-type="horizontal" style="float:right" > 

        <% if (purchaseText != "") { %> 

         <img src="images/game_detail/<%= releases[i].purchase_button_icon %>-purchase.png" width="35" height="35" onclick="window.open('<%= releases[i].purchase_button_url %>');" alt="<%= purchaseText %>" style="position:relative; top:10px;"/> 

        <% } %> 

        <div data-role="button" data-icon="reminder" data-theme="<%= buttonTheme %>" onclick="<%= buttonAction %>(<%= releases[i].id %>)"> 
        <%= buttonText %> 
       </div> 
       </div> 

      </a> 
     </li> 
+0

T Odpowiedź będzie zależała od tego, jak obraz przedstawia się w odniesieniu do * innych * rzeczy wewnątrz li. Czy potrafisz się nad tym zastanowić? – Faust

+0

pewna rzecz. więc mój element li ma 3 obrazy ustawione obok siebie, wszystkie wyrównane pionowo na górze tak samo. tak jak [img some text img img] – jini

+0

Przepraszam - czy możesz wyjaśnić, co masz na myśli przez "... wyrównane pionowo na samej górze". – Faust

Odpowiedz

9

żywo Przykład:

http://jsfiddle.net/B6Z9N/

HTML

<li> 
    <img src="http://dummyimage.com/20x20/000/000000.png" /> 
</li>​ 

CSS

li { 
    border: 1px dotted black; /* Just to illustrate height */ 

    height: 100px; 
    line-height: 100px; 
    vertical-align: middle; 
}​ 

znalazłem ten artykuł: http://css-tricks.com/snippets/css/absolute-center-vertical-horizontal-an-image/

+0

Wysokość jest określana przez jQuery Mobile. Czy muszę dodać go ręcznie w CSS? – jini

+0

Powinieneś dinamicznie sprawić, że wysokość linii zawsze odpowiada wysokości elementu. – Maroshii

0

Wystarczy zastosować margines na img.

<li> 
    <img class="image-style" src="https://dummyimage.com/20x20/000/111fed" /> 
</li> 

.image-style { 
    margin : 10px -10px; 

} 

li { 
    border : 1px solid black 
} 

JSFiddle

0

Wiem, że późno do partii, ale zawsze korzystać z tej i że ktoś może się przydać ..

HTML ..

<ul> 
    <li class="logo_bar"><img src="img/1" /></li> 
    <li class="logo_bar"><img src="img/2" /></li> 
    <li class="logo_bar"><img src="img/3" /></li> 
    <li class="logo_bar"><img src="img/4" /></li> 
    <li class="logo_bar"><img src="img/5"/></li> 
</ul> 

CSS ...

.logo_bar { 
    display: inline-block; 
    vertical-align: middle; 
} 
Powiązane problemy