2015-05-08 2 views
1

Сравните эти два JSFiddles:Почему переполнение: скрытый разрыв вертикального выравнивания одноранговых элементов однорангового узла?

Почему первый показывают мой текст, выровненные, как я ожидал, но вторая отображает первую ссылку ниже, чем второй?

переполнение стека хочет, чтобы включить код из них, так вот первый:

<ul> 
    <li> 
     <a class="link1">hello</a> 
     <span></span> 
     <a class="link2" href="www.google.com">there</a> 
    </li> 
</ul> 

.link1 
{ 
    display: inline-block; 
} 
.link2 
{ 
    display: inline-block; 
} 

Второй только добавляет одну строку, переполнение:

.link2 
{ 
    display: inline-block; 
    overflow: hidden; 
} 
+0

Дублированный проверить этот пост (если необходимо).: http://stackoverflow.com/questions/9273016/why-is-this-inline-block-element-pushed-downward – Fetz

ответ

2

overflow:hidden заставляет создание нового контекста форматирования блока. Вы можете прочитать о них в the spec.

1

@Alex W имеет правильный ответ на ваш вопрос, но я добавлю, что назначение vertical-align: top; в свой список-элементов ссылок преодолеет вопрос

li a { 
    vertical-align: top; 
} 
Смежные вопросы