@a007mr
Учусь разработке HTML/CSS/Javascript

Как правильно сделать резиновый сайт (не работает max-width )?

Помогите пжлст сделать правильно резиновый сайт. У меня проблемы с шириной и высотой блоков. Когда прописываю max-width к конкретному блоку - это свойство почему-то не работает. Max-width работает только, если прописываю его к body в общем. Хочется сделать сайт, который будет тянутся при разных разрешениях экрана.

Код можно посмотреть на codepen.

Столкнулся со следующими вопросами:

1) Как правильно прописывать ширину max-width: для body в целом или для каждого блока отдельно?
2) Как правильно делать высоту блока? Фиксировать в px или делать в %. Прописываю height: 100%, но блоки получаются слишком низкие... Как сделать так, чтобы каждый блок был по высоте на один экран?
3) Как делать правильно расстояние между блоками? Делаю через margin-top или bottom в пикселях. Например, margin-bottom: 200px. Правильно это вообще? Стоит ли фиксировать отступ в пикселях? Если нет, то как правильно будет?
4) И еще момент по отступам во втором блоке. Второй блок сделан рамкой с отступами по бокам. Как сделать так, чтобы при уменьшении экрана, отступы оставались? При 1000px смотрится правильно, но начинаю уменьшать и отступы пропадают. Сейчас блок сделан с width: 100%; и прописанным max-width к body.

Помогите пжлст. Хочется разобраться, как правильно делать ширину и высоту блоков, чтобы они тянулись. Перепробовал разные варианты, но так и не нашел правильного решения :(
  • Вопрос задан
  • 3024 просмотра
Пригласить эксперта
Ответы на вопрос 2
1. Работает. Обычно, если требуется указать max-width для всего сайта, код оборачивает в div с классом container и добавляют ему max-width.
codepen
2. Используйте vh, vw, vmin, vmax
3 и 4. https://medium.com/@js_tut/flexbox-the-animated-tu...
Ответ написан
simply-web
@simply-web
1.Здравствуйте,что касается 1 вопроса, задавать можно и к body и к отдельному элементу,зависит от цели, если хочешь чтобы сайт перестал уменьшаться при достижении конкретного размера пиши для body,если такое действие требуется для отдельного элемента то задавайте для него.
2. Это резиновый дизайн и для него требуется задавать всё в процентах,задавайте height:100% для контейнера в котором находиться элемент,если это и есть контейнер содержащий ещё контейнеры,то задав для него height:100%,он и так будет на весь экран,так-как родитель для него body.
3. Задавайте отступы в процентах или в других относительных единицах ,верстка же резиновая.
4. Задайте для flex-контейнеров :
flex-wrap:wrap;
flex-direction:row;
judtify-content:space-between;
>
Вроде все,кстати неплохо было-бы вам прочитать про такие единицы как: vh, vw, vmin, vmax
Ответ написан
Ваш ответ на вопрос

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

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