2013-09-18 2 views
0

Я пытаюсь получить три столбца на одной строке. Это сработало, пока я не добавил некоторые дополнения к div. Я использую проценты, чтобы сделать его отзывчивым. Ниже это CSS:Как я могу получить 3 столбца в одной строке?

.contentLine .column { 
    float: left; 
    margin: 0; 
    width: 31%; 
    margin-right: 1%; 
    padding: 1%; 
    position: inherit; 
} 

.contentLine .last { 
    margin-right: 0; 
} 

Here is my fiddle

ли я ошибусь с процентами?

+2

Прокладка добавляется к ширине ваших элементов. Проверьте: http://css-tricks.com/box-sizing/ Или вы можете просто уменьшить ширину на 2% –

+2

1. Посмотрите на размер коробки. 2. Измените ширину '.column' до 30%, потому что у вас есть правый запас 1% и отступ 1% – Harry

+0

Спасибо за ссылку и советы ... Так много ответов за такое короткое время - я действительно впечатлен! :) Но «margin-right: 0;» в последнем столбце не работает ... – Retador

ответ

2

Demo HERE Использовать margin-right: .5%;

.contentLine .column { 
float: left; 
margin: 0; 
width: 31%; 
margin-right: .5%; 
padding: 1%; 
position: inherit; 
} 

и измените последнюю колонку div следующим образом. потому что вы используете атрибут класса два раза, и вы можете использовать атрибут класса только один раз в одном теге.

Использование

<div class="column last"> 

не <div class="column" class="last"> это worng.

+0

Спасибо за подсказку! Теперь последний столбец также работает правильно ... – Retador

2

Уменьшите ширину столбцов. Со всеми добавленными процентами и дополнительным пространством все это добавляет более 100%, поэтому третий столбец всегда будет на следующей строке. Вместо 31%, попробуйте 30%.

1

Уменьшить width от .column до 30%.

В настоящее время идет до следующей строки, потому что есть 3 коробки с width 31% (всего 93%). У них есть padding (справа и слева) 1% (так что итого до 6%), и у вас есть margin-right 1% (что составляет 3%) и все вместе превышает 100%.

.contentLine .column { 
    float: left; 
    margin: 0; 
    width: 30%; 
    margin-right: 1%; 
    padding: 1%; 
    position: inherit; 
} 
+2

Спасибо! Вы объяснили это очень хорошо! :) – Retador

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