Если вы о Bootstrap 3, то данный продукт устарел. Используйте Bootstrap 4, который уже версии 4.3.1, как я погляжу. Но лучше для обучения верстать вручную, конечно.
Рома Зварич, проблема в том, что какой-то из блоков получился больше по высоте box-модели, чем его сосед. Для float'ов это смертельно.
Для построения layout'ов float'ы уже давно не надо использовать, если не нужна поддержка браузеров старше IE11. Они никогда для этого не были предназначены и использовались по сути как хак.
Алексей Ларионов, потому что float'ы. Потому что на них уже не делают layout'ы. Тот же Bootstrap 4 построен на flex'ах уже.
Не знаю, используете ли вы его (сижу с телефона), если да, то там были классы .d-flex и .flex-row, которые нужно поставить вместе просто .row, чтобы сделать flex-обертку.
Update. Хотя вроде бы и просто .row там сейчас на flex изначально.
HistoryART, не могу согласиться. Без JS не обойтись, чтобы сделать нормально. Если только на CSS делать, то придётся упрощать все интеракции.
К примеру, то же закрытие или действия по клику вне родителя будет недоступно. Или же наоборот — когда заходим запретить закрытие при клике вне родителя — оно всё равно будет закрываться. Так же с :hover и :active не сделать механизм перетаскивания а-ля слайдер, если человек таки хочет всё же реализовать первоначальную идею. Ну и т. п.
catssss, следите за событием прокрутки, положением нужных элементов, считайте расстояние до них от верха. По-моему, сейчас есть метод определения нахождения элемента в зоне видимости, делайте троттлинг, чтобы не видеть на производительность. Ну и т. п.
Ну или же просто используйте ту кроссбраузерную библиотеку, которую разрабатывали не одну сотню часов.