Ответ 1
Сетка работает с 3 частями: контейнером, строкой и столбцом (-ами)...
Контейнер имеет 15px отступов. Строка отменяет заполнение контейнера с -15px маржи. Столбцы имеют 15px отступов, которые вытаскивают контент из краев контейнера и создают согласованный 30px желобок.
Цель добавления 15px отступов, которая только отрицается отрицательными границами строк, кажется глупым, но важно разрешить встраивание столбцов внутри других столбцов! Обратите внимание на приведенной ниже диаграмме, как вложенные столбцы, обозначенные красным контуром, аккуратно вписываются в охватывающий столбец, не применяя дополнительное дополнение.
Что завинчивается в том, что ширина столбцов рассчитана на проценты. Итак, в вашем примере, в средстве просмотра средней ширины, столбцы установлены на 50%. Когда вы добавляете 1em поля в li.col-md-6, он добавляет, что поверх 50%, что означает, что вы заканчиваете с 100% + 2em в строке и заставляет столбец обертываться.
Имеют смысл?
Я предполагаю, что у вас есть "исправление", но это еще один способ справиться с этим и сохранить визуальные пули и единственный неупорядоченный список (что может быть важно для доступности), и все же сохранить все возможности вложенности, я бы сделал следующее в ваш css вместо:
li.col-lg-12, li.col-md-6 {
list-style: none;
padding-left: 30px;
}
li.col-lg-12:before, li.col-md-6:before {
content: "\2022";
position: absolute;
left: 15px;
}
Таким образом, вам не нужно добавлять дополнительную разметку в свой дизайн. В основном, это удаление стиля списка, добавление 30px дополнительного дополнения к элементу списка, а затем помещает пулю с псевдокласс :before
15px слева от содержимого внутри столбца, в котором содержимое обычно выравнивается в любом случае.
EDIT: Здесь мой опыт работы с двумя разными подходами.
Это то, что я получил, когда пробовал ваш подход. Обратите внимание на то, как пуля из второго столбца вторгается в текст и заполняется из первого столбца.
Используя мой подход, я смог добиться этого:
Для меня я бы одобрил этот подход, потому что он ведет себя лучше в том смысле, что пули заключены в столбец. Кроме того, на мой взгляд, это кажется менее сложным, потому что это не связано с какой-либо дополнительной разметкой. В вашем случае вы добавили стиль inline, который я всегда избегаю для удобства обслуживания. И, хотя вы можете написать правило в своей таблице стилей, чтобы переопределить поведение класса .row, вы потеряете эту красивую чистую вложенность, описанную выше, когда вы не хотели использовать классы столбцов в элементе списка. Конечно, вы можете добавить еще один класс или идентификатор в свою строку, чтобы обеспечить более конкретную спецификацию, но опять же, для меня это больше разметки, и это не стандартный Bootstrap, поэтому может быть труднее для кого-то еще сохранить позже (или, я люблю тебя, и ты забываешь все свои хаки через неделю, тебе может быть даже тяжелее поддерживать; -).