2015-03-20 3 views
0

Что это за пространство между этими двумя div? Я даже удалил пробел в html.пространство между элементом встроенного блока и блочным элементом

<div id="asd"></div><div id="psd"></div> 

http://jsfiddle.net/9thpuvwa/

Теперь, если первый DIV (ASD) имеет некоторый текст в нем, пространство исчезает; ЧТО?

<div id="asd">a</div><div id="psd"></div> 

http://jsfiddle.net/kadb1d3s/

(я пытаюсь понять my prev question)

CSS

#asd { 
    background-color: blue; 
    display: inline-block; 
    width: 200px; 
    height: 200px; 
} 

#psd { 
    background-color: red; 
    width: 200px; 
    height: 200px; 
} 

Вопрос: Где это пространство приходит?

+0

@MateiMihai это на самом деле другой вопрос. Установка 'line-height' не решит эту проблему. –

+0

@JamesDonnelly второй ответ на этот вопрос - это точно решение этого вопроса. Он может попробовать все эти ответы, прежде чем снова спрашивать. –

+1

@MateiMihai, вы правы. Во время написания этого вопроса я не видел ответа. Я обновился, но! Я понятия не имею, почему мой браузер не обновил страницу. – kptlronyttcna

ответ

1

Это, по-видимому, вызвано вертикальным выравниванием. Если он установлен в inline-block, по умолчанию для вертикального выравнивания установлено значение baseline, которое немного выше поднято (вероятно, для учета таких символов, как «y» и «g», которые опускаются ниже линии).

vertical-align из top кажется исправить:

#asd { 
    ... 
    vertical-align: top; 
} 

JSFiddle demo.

1

Откуда это место?

От inline-block элемент, выровненный по линии «baseline» линии, отображается.

Добавить vertical-align:bottom (или text-bottom или middle или top, ...) к нему, а пространство пропадут: http://jsfiddle.net/9thpuvwa/2/

Смежные вопросы