Intereting Posts
Руководство CSS по выравниванию элементов сетки в Boostrap Как добавить строку css ТОЛЬКО для Safari Как использовать тег кнопки с ASP.NET? IE8 не предоставляет скрытый ввод в форме Поля ввода, сделанные по-разному в разных браузерах Создание подменю при наведении курсора на a в раскрывающемся списке. Как и выпадение сайта Udemy На самом деле, это одностраничное приложение (SPA)? Как сделать HTML-таблицу «Excel-like» доступной для редактирования для нескольких ячеек, то есть одновременных функций копирования-вставки? Обнаружение переполнения или отсутствия WITHOUT javascript Перевернутая каретка Откройте локальный .html на добавочном щелчке мыши. Что представляют собой объекты HTML для треугольников вверх и вниз? Bootstrap navbar: на меньших устройствах ничего не отображается Позиция javascript window.open сосредоточен на вторичном экране? Закладка Javascript не jquery для сайта

Вертикально выровнять встроенные элементы блока

У меня есть группа флажков. Они расположены по центру с флажками сверху и текстом ниже. Вот что я имею в виду:

введите описание изображения здесь

Поэтому я хочу выровнять

Таким образом, каждый флажок + ярлык завернут в div с choice classа. Все избранные divs являются частью div с additional-info . choice divs – это строковые элементы с фиксированной шириной.

Как выровнять выбор div на той же высоте, что и первый?

Я попытался установить additional-info позицию additional-info относительно относительной и choice в абсолютную. Но затем они перекрывают друг друга, так что это не хорошо.

Также попробовал установить отображение choice div в строку, но затем текущий разрывы разметки и divs отображаются в середине в три строки.

Также попытался настроить отображение additional-info в таблицу-ячейку и добавить вертикальное выравнивание, но это тоже не сработало.

Что еще я могу попробовать? любые предложения приветствуются

Обновить :

Вот мой HTML:

 

Additional info

Некоторые css:

 .additional-info { position: relative; } .additional-info div { width: 32.6%; display: inline-block; text-align: center; } input[type="checkbox"] { float: none; display: block; margin: 0 auto; } 

Вы можете посмотреть здесь, я сделал это с нуля …

демонстрация

Итак, что я здесь сделал, я использовал display: table; для элемента контейнера, и я использую display: table-cell; для дочернего div и как дочерний div теперь являются ячейками таблицы, я использовал vertical-align: top; так что элементы выравниваются к top в этих ячейках

 section > div { vertical-align: top; display: table-cell; width: 33%; text-align: center; } section { display: table; width: 100%; } 

HTML

 

Additional Info




Почему бы не использовать простой float, чтобы избавиться от оставшегося «белого пространства»:

 .additional-info div { width: 32.6%; /*display: inline-block;*/ text-align: center; float: left; } 

jsFiddle

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

 

Стоит посмотреть, работает ли это для вашей формы?

(Я знаю, что я сделал это здесь как встроенный стиль, но это как пример, который я быстро собрал вместе)