@alekamisleforma

Как позиционировать и адаптировать без пустого пространства?

Здравствуйте! Двухколоночный сайт, слева контент, справа сайдбар. Нужно, чтобы при уменьшении экрана блок с поиском из боковой колонки был первым, за ним шел блок news, sidebar-content, а потом articles. Как это можно сделать? Неважно по каким родителям распихивать эти блоки.

Пробовал позиционировать флексами, но остается пустое пространство, которое понятно почему присутствует, но мне оно ненужно и я не знаю как это исправить. Если задавать отрицательный margin, а на меньшем разрешении экрана его убирать, то это работает, однако проблема в том, что высота блоков будет меняться, подстраиваясь под контент.. и править каждый раз этот margin вручную не хотелось бы.

Подскажите решение, пожалуйста. И можно ли как-нибудь решить проблему без грид?

5e9102e82c22b515811563.jpeg
  • Вопрос задан
  • 110 просмотров
Решения вопроса 1
ArsenyMatytsyn
@ArsenyMatytsyn Куратор тега CSS
Руководитель frontend направления, предприниматель
Можно без grid. На десктопе ты можешь абсолютно спозиционировать поиск и под ним sidebar. Я уверен, что ты точно знаешь высоту поиска (или сейчас поймешь, что знаешь). И уж точно ширину.

Ширину news и article можно регулировать на десктопе как угодно, хоть калькулировать на css, хоть margin-right в размер сайдбара задавать. Ну и рекомендую все же пользовать принцип mobile-first. Т.е. сперва описать правый layout, а потом дополнить его танцем с бубном, как я предложил.

Еще ты можешь воспользоваться возможностями JS по манипуляции DOM, т.е. банально менять структуру при разном разрешении. Или вообще пойти дальше и заюзать какой фреймворк, но это не всегда уместно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы