2014-01-27 5 views
0

я получил 2 дивы рядом друг с другом следующим образом:получает 2 DIV-х рядом друг с другом и центрирования

#container{ 
    text-align: center; 
} 
#div1, #div2{ 
    display: inline-block; 
    width: 40%; 
} 

div1 имеет форму, проблема заключается в том, что элементы в виде получили искажены после я применил стиль для #container. Элементы были ранее выровнены как в this fiddle. Но теперь они like this.

Как получить элементы, выровненные так, как они были раньше?

+0

'Как получить элементы выровненные, как они были раньше?' => Откат к предыдущему CSS ... :) – NoobEditor

+0

@NoobEditor Это то же самое, но он изменил размер его контейнера. –

+0

@NoobEditor В предыдущем CSS не было '#container {text-align: center; } '. То, что создает проблему. –

ответ

1

Вам необходимо ограничить входные элементы до 50%, а вместо display: inline-block (который создает пробелы между элементами), работайте с float: left.

label{ 
    width: 50%; 
    text-align: right; 
    float: left; 
    clear: both; 
} 
p input { 
    width: 50%; 
    -moz-box-sizing: border-box; 
    box-sizing: border-box; 
    float: left; 
} 

JSFIddle

+0

Это хорошо работает для элементов 'input', но как насчет элемента' select'? Я сделал «text-align: left;», но это не сработало. Кроме того, почему я должен работать с 'float: left' вместо этого? –

+0

Просто добавьте второе правило к 'p input, p select'. Как я уже сказал, плавающие элементы не дают неявного поля. Если вы будете использовать 'display: inline-block', они не останутся в одной строке, если обе имеют ширину 50% (50% + 50% + некоторое пространство> 100%). –

0

Wrap все внутри Алабель, а затем see if this suits your purpose

form, #movies_booked { 
    width: 45%; /* ammended*/ 
    display: inline-block; 
    vertical-align: text-top; 
} 
label { 
    width: 100%; 
    text-align: left;/* ammended*/ 
    float:left;/* added */ 
    word-break:break-all; 
} 
label > input, label > select, label > span { 
    float:right; /* added */ 
} 
0

Текст-Align: центр в теле влияет на все элементы, просто использовать:

form p { 
    text-align: left; 
} 

Чтобы перестроить текст в форме.

В вашей fiddle

+1

Отлично! Спасибо! –

+1

Эти элементы больше не выравниваются, когда окно просмотра становится маленьким; просто попробуйте изменить размер нижнего левого окна внутри JSFiddle. –

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