2013-04-27 2 views
2

У меня есть простой div с дисплеем: встроенный блок; и обернуть его. Он отображается в нижней части содержимого. Вы знаете, почему и как избавиться от него?Встроенный блок и пиксель внизу

Вот проблема проверить: http://jsfiddle.net/8S8aH/

HTML:

<div class="wrap"> 
    <div id="content"></div> 
</div> 

CSS:

body{ 
    margin:0; 
} 
.wrap { 
    text-align: center; 
    background:red; 
} 
#content { 
    margin:0px auto; 
    text-align:left; 
    width:250px; height:100px; 
    display: inline-block; 
    background:whiteSmoke; 
} 

ответ

1

Измените значение vertical-align на #content

#content { 
    display: inline-block; 
    vertical-align: bottom; 
} 

http://jsfiddle.net/8S8aH/4/

+0

Устранена проблема, но почему она работает именно так? – Ali

1

display: block Используйте для содержимого DIV

#content { 
    margin:0px auto; 
    text-align:left; 
    width:250px; 
    height:100px; 
    display: block; 
    background:whiteSmoke; 
} 

JS Fiddle Demo

+0

Он работает в данном конкретном случае, я упростил. Но если я использую блок отображения, я должен указать ширину и высоту в центр #content. Поэтому я должен использовать встроенный блок, и это вопрос. – Nrc

+0

ОК, поэтому в этом случае работает 'vertical-align: bottom'. посмотрите http://jsfiddle.net/8S8aH/5/ – Sachin

1

Лично я предпочитаю это, чтобы освободить место в inline-block элементов.

Demo

#content:after{ 
    content:'\00a0'; 
} 

Есть alternatives, а также.

+1

Можете ли вы это объяснить? почему \ 00a0? – Nrc

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