Для чего нужен отрицательный отступ у блока .row?

495
30 мая 2017, 00:57

Бутстрапом редко пользовался, как-то не вникал в эти положительные и отрицательные отступы блоков.
Подскажите, для чего в блоке .container положительный паддинг, а в блоке .row отрицательный маржин?
Какая практическая польза в этих отступах?

Answer 1

Это сделано для выравнивания.

У каждой колонки слева и справа есть padding, равный 15px. Он нужен для генерации одинакового отступа между колонками. Однако в этом случае отступ слева у первой и отступ справа у последней колонки в строке складывается с отступами контейнера.

Чтобы нивелировать его используется .row с отрицательным margin равным 15px. Если использовать .row, то левый отступ у первого столбца и правый отступ у правого столбца "проваливаются" в уже существующие отступы у контейнера и не занимают дополнительного места.

На вопрос почему бы не убрать отступ у контейнера и отказаться от отрицательного margin у .row ответ простой: блоков с контейнером может быть несколько, и в одном из них может отсутствовать сетка.

Чтобы блоки с сеткой и без нее были выравнены по левой и правой границе, как раз и придумали этот прием с отрицательными margin. А сам padding у контейнера еще нужен и для того, чтобы его содержимое не прилипало к границе экрана на небольших разрешениях.

update: при многократной вложенности, в качестве контейнера выступает уже колонка, а принцип действия тот же самый.

READ ALSO
Почему scss так компилирует переменные?

Почему scss так компилирует переменные?

Этот вопрос касается Icomoon в целом

305
Глубокий синтаксис SQL [дубликат]

Глубокий синтаксис SQL [дубликат]

На данный вопрос уже ответили:

321
Подсчёт длительности MySQL

Подсчёт длительности MySQL

Существует таблица, в которую добавляются дата начала и дата конца, а также длительностьНеобходимо сделать, чтобы при добавлении длительность...

304