Jump to content
  • 0

Сложная вёрстка: 4 столбца


Gold Dragon
 Share

Question

Прикладываю рисунок чтобы было нагляднее.

Суть простая. Макет имеет 4 столбца

- левый и правый динамичные

- второй слева 400px

- второй справа 600px

Соответственно макет может расширяться, но не должен сужаться меньше 100px.
Т.е. крайние могут уменьшиться до 0%, центральные всегда имеют одинаковый размер и должны центрироваться. И каждая из сторон имеет свой цвет

Сам пытался, перепробовал разные Фреймворки - практически беда одна, при уменьшении окна браузера центральные блоки наезжают друг на друга.

 

Untitled1.png
 

Link to comment
Share on other sites

18 answers to this question

Recommended Posts

  • 0

Если А и В это поля для широких мониторов, то какие же это колонки? Обрамляем и Центрируем "второе" блоки и получаем две колонки для контента, а первые псевдо блоки и будут сужаться до 0 при ширине экрана меньше 1000px. Так?

Link to comment
Share on other sites

  • 0

тогда как закрасить поля "А" и "B" в цветасоседних панелей? При больших разрешениях там будет фон.

Можно конечно сделать фотоный рисунок, но так как колонки разбиты не по центру, то этот фон будет смещаться и не совпадать

Link to comment
Share on other sites

  • 0

Суть в том что основные блоки не всегда растянуты по вертикали.

 

вот картинка если экран 1000px

q1.png

вот картинка если экран шире.. градиент и сами блоки не равномерно центрируются

q2.png


В принципе такая же проблема при уменьшении.. Да появляется горизонтальная прокрутка, но фон то смещается

Link to comment
Share on other sites

  • 0

Не пойму тогда что должно быть на заднем фоне под блоками.

Или если догадываюсь, то тогда на js можно вычислять ширину до блока второго правого блока и там делать переливание градиента.

Link to comment
Share on other sites

  • 0

- Страница должна быть поделена на 40% и 60%

- каждая часть должна быть окрашена в свой цвет

- Текстовое поле слева имеет фиксированную ширину 400px

- Текстовое поле справа имеет фиксированную ширину 600px (конечно желательно сделать это поле резиновым 400-1100px)

- Эти текстовые поля должны быть прижаты друг к другу и отцентрированы

- ну и соответственно, они не должны наезжать друг на друга при изменении размера браузера

 

Вот какая задача. И вёрстка должна быть только HTML+СЗЗ

 

PS

пробовал подобное реализовать через Flexbox, но возникают аналогичные ошибки. Такое ощущение, что эту задачу можно решить только таблицами, да и что-то тоже не уверен :(

Link to comment
Share on other sites

  • 0

Vlad, подход понравился и даже на первый взгляд имеет место жить.. Пошёл попробую подогнать в свой проект. Правда есть некоторые сомнения в поддержке.. http://caniuse.com/#search=linear-gradient

PS

zlodeev, к сожалению кода нет. Я за сегодня с пару десятков раз переписал всё с нуля: сам сочинял сетку, использовал Pure и Bootstrap, вот последнее решил испробовать совершенно новое для себя - Flex. Кстати. очень забавная вещь, но решает огромное количество проблем с вёрсткой исключительно малым кодом.. Остаётся вопрос поддержки браузерами ...

Link to comment
Share on other sites

  • 0

wwt, интресный вариант, но у меня он работает только в Лисе. Осёл, Опера, Хром, Максон, Сафари - полностью игнорируют отступы, центральные блоки растянуты на полную ширину

Link to comment
Share on other sites

  • 0

Vlad, впринципе собрал вариант на твоём примере.. Но вот никак не могу левый блок выравнить по правой стороне

http://jsfiddle.net/3xrpax7n/

 

Если воспользоваться теми же Flex, то блоки начинают совмещаться

Edited by Gold Dragon
Link to comment
Share on other sites

  • 0
wwt, интресный вариант, но у меня он работает только в Лисе. Осёл, Опера, Хром, Максон, Сафари - полностью игнорируют отступы, центральные блоки растянуты на полную ширину

пардоньте =) нигде кроме FF не проверял =)))

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy