2012-03-22 3 views
1

Я не знаю, почему дивы не на одной линии:100% детей-дивы находятся на разных строках

http://jsfiddle.net/LXHfy/

Как я могу добиться этого? Если я использую 40%, то 2 дочерних divs выровняются правильно.

Я не прошу поплавкового решения. Я просто хочу знать, почему это не работает.

+0

вместо использования дисплея: встроенный блок, попробуйте плавать: слева ребенку и родителю ? – mshsayem

+0

Я хочу центрировать divs, так что плавать не может быть и речи. – danidacar

+0

в центр плавающие divs см. Первый ответ: http://stackoverflow.com/questions/9696978/css-fixing-an-element-besides-another/9697173#9697173 – mshsayem

ответ

0

Вы должны использовать плавающие div. Добавить:

float: left; 

И остановить плавающий добавить в конце строки пустой DIV со свойством:

clear:both; 
+0

Я обновил свой ответ. Поплавок - это не ответ. – danidacar

2

прост:

  • ваш родительский DIV является 100px
  • дети рядный -Блок (бок о бок)
  • дети 50% (50px)

Однако, при использовании встроенного блока, новая строка/пробел вводит «промежуток» между элементами, таким образом, 50px + 50px + «gap» = больше, чем ширина родителя, заставляя ребенка обернуться ниже другого вместо сидя рядом.

, чтобы избежать этого разрыва, не ставьте пробелы:

<parent> 
    <child>foo</child><child>bar</child> 
        ^^^--no gap, whitespace or newline between 

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

<ul> 
    <li> 
     item 
    </li><li> //close and open immediately, no gaps 
     item 
    </li><li> 
     item 
    </li> 
</ul> 
+0

любое решение, чтобы избежать html-кода в одной строке? – danidacar

+0

обновил ответ. это нормально, чтобы иметь новую строку * внутри * ребенка, а не между собой. – Joseph

+1

@ danip, вы можете разделить с комментариями: '...

..' - но это уродливо. – TMS

0

display: inline-block всегда занимает некоторое расстояние справа. Таким образом, мы можем удалить с font-size:0, word-spacing:1em, letter-spacing:1em туда parent.Write так:

.parent {font-size:0;} 
.child {font-size:15px} 

Проверить это http://jsfiddle.net/LXHfy/6/

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