2016-02-09 3 views
0

У меня проблема с динамическим выравниванием некоторых элементов с помощью Bootstrap, когда есть четное количество элементов.Как выровнять четное количество элементов по горизонтали с интервалом между элементами с помощью Bootstrap?

У меня есть 4 HTML select элементов рядом друг с другом, и я хочу иметь промежуток между ними. Поэтому я установил каждый элемент select в col-md-3 div. Для этого я использовал ширину 80% для каждого из них. Внизу у меня есть table, который я хочу иметь размер 100%. Я разместил все предметы в контейнере row. Я хочу, чтобы селектора выровнялись со следующей таблицей, которую я не могу сделать.

<div class="container"> 
<div class="row"> 
    <h1>Title</h1> 
    <div class="col-md-3 col-xs-3" style="padding-left: 0; padding-right: 0;"> 
     <label>Test1</label> 
     <select style="width: 80%"> 
      <option selected="selected" value="1">Test1</option> 
     </select> 
    </div> 
    <div class="col-md-3 col-xs-3" style="padding-left: 0; padding-right: 0;"> 
     <label>Test2</label> 
     <select style="width: 80%"> 
      <option selected="selected" value="1">Test2</option> 
     </select> 
    </div> 
    <div class="col-md-3 col-xs-3" style="padding-left: 0; padding-right: 0;"> 
     <label>Test3</label> 
     <select style="width: 80%"> 
      <option selected="selected" value="1">Test3</option> 
     </select> 
    </div> 
    <div class="col-md-3 col-xs-3" style="padding-left: 0; padding-right: 0;"> 
     <label>Test4</label> 
     <select style="width: 80%"> 
      <option selected="selected" value="1">Test4</option> 
     </select> 
    </div> 

    <p> 
     Some description 
    </p> 

    <table class="text-center"> 
     <thead> 
      <tr> 
       <th>1</th> 
       <th>2</th> 
       <th>3</th> 
       <th>4</th> 
       <th>5</th> 
      </tr> 
     </thead> 
    </table> 
</div> 
</div> 

Проблема заключается в том, что, поскольку я использую 80% ширины на селекторов последний селектор, то есть «test5» не совпадает с конечной границы таблицы. Я думаю, что проблема очевидна, если посмотреть на следующие JSFiddle.

Как можно динамически выровнять элементы с помощью Bootstrap и иметь промежутки между элементами? Я приложил изображение ниже с желаемым дизайном, как я хочу, чтобы он выглядел.

Desired design.

+1

Если только «Test4» совпадает с концом таблицы, это будет выглядеть странно, потому что никто из других этого не делает. – Shoe

+0

На основе кода, который вы используете, все выравнивается правильно. Похоже, вам нужно принять конструктивное решение о том, как вы хотите показывать поля выбора. – crazymatt

+0

Бутстрап-колонны разделены на 12 колоколов. Если вы хотите выровнять 5, которые являются столбцами нечетного числа таблицы со стандартным классом Bootstrap col, то либо вам нужно использовать таблицу, которая будет иметь столбцы, делящиеся на 2, либо изменить класс col по умолчанию в пользовательский класс. – DebRaj

ответ

1

Является ли это то, что ищете? https://jsfiddle.net/fjavmgrf/1/

Если вы убираете прокладку, я лично считаю, что она выглядит лучше, но у вас есть этот вариант, открытый для вас.

select{ 
    width:100%; 
} 

.paddingZero{ 
    padding:0; 
} 

Или это: https://jsfiddle.net/37z2dqqk/1

EDIT (После того, как изображение было выставлено:.

Что вы хотите на самом деле не возможно с начальной загрузки Да вы могли бы баловаться с прокладкой и, возможно, маржи и взломать его, но я лично не поклонник этого. Если вы все еще хотите сделать это таким образом, тогда в основном просто отрегулируйте отступы до тех пор, пока он не будет работать, и сохраните выбор на 100%. Извините, я не могу быть моя помощь, но мой честный совет состоял бы в том, чтобы пойти с одним из предложений в моих ответах или ответами в комментарии выше.

+0

Не совсем, но почти. Я хочу иметь дополнение к селектору Test1 и Test2, Test2 и Test3 и, наконец, Test3 и Test4. Но тогда я также хочу, чтобы край внешних селекторов совпадал с таблицей. Я хочу, чтобы прокладка была симметричной. – Euklides

+0

Если вы убираете прокладку, которую я добавил в своем примере скрипта, она центрирует все текстовые поля и имеет одинаковое количество дополнений вокруг них (из-за заполнения столбцов по умолчанию). Если вы не сделаете это или не сохраните их в 0 отступов, это будет выглядеть совершенно по-моему.У вас будет два текстовых поля слева выровнены и два выравниваются по правому краю или что-то в этом роде. Не могли бы вы нарисовать мне образ того, что вы хотите, и опубликовать его в вопросе? – sringland

+0

Я предполагаю, что это то, что вам нужно? https://jsfiddle.net/37z2dqqk/1/ – sringland

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