2013-04-18 11 views
6

Mam problem z Chrome.Blok w linii prostej nie wyrównuje pionowo elementów div

Próbuję wyrównać w pionie niektóre elementy div przy użyciu display: inline-block; zamiast ich unoszenia. Problem pojawia się, gdy umieszczam w nich trochę tekstu: z dziwnego powodu Chrome wyświetla różne wypełnienia divs na różnych liniach.

Firefox i IE działają poprawnie. Dla lepszego zrozumienia sprawdź this example

Jak mogę tego uniknąć?

Odpowiedz

11

Trzeba dodać do globalnego owinięcia font-size: 0; i ustawić normalnym rozmiarze czcionki dla swoich bloków inline, można również dodać: letter-spacing: 0; i word-spacing: 0;, coś jak to:

.wrapper { 
    font-size: 0; 
    letter-spacing: 0; 
    word-spacing: 0; 
} 

    .wrapper .inline_block { 
    display: inline-block; 
    font-size: 12px; 
    letter-spacing: 1px; 
    word-spacing: .1em; 
    vertical-align: top; 
    } 

i przykładowy skrzypce: http://jsfiddle.net/3ab22/ i aktualizowane skrzypce: http://jsfiddle.net/3ab22/3/

+0

Zrobiłem tak, jak zasugerowałeś. Dla pierwszych 3 elementów problem został rozwiązany, ale nie dla tych ostatnich. Tutaj, spójrz na http://jsfiddle.net/pHCSx/14/ –

+0

jeśli masz marginesy lub paddings dodaj regułę dla ': last-child' i zresetuj je – Lukas

+0

Przykro mi, ale to nie dlatego dowolnego marginesu lub marginesu :( Tutaj, jak widać w twoim przykładzie, jest ten sam problem. http://jsfiddle.net/3ab22/2/ Nawet zmiana rodziny czcionek zmienia zachowanie pozycji DIV Po prostu nie mogę się domyślić, dlaczego to się przydaje. –

Powiązane problemy