Jump to content
  • 0

Резиновые блоки с пропорциональными размерами


a.antropov
 Share

Question

Я думаю решение есть, но не знаю, как оно называется и по каким ключевым словам искать. Нужно реализовать пару резиновых сеток из 8 и 6 блоков с пропорциональными размерами. Прикреплю изображения, чтобы было наглядно.

 

001.jpg

 

002.jpg

 

В первом случае это квадраты, сторона квадрата = 25% ширины окна браузера. Во втором случае 4 квадрата и 2 прамоугольника, сторона квадрата = 25% ширины окна браузера, наибольшая сторона прямоугольника = 50% ширины окна браузера.

 

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

Link to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 0

 

Обалдеть, аж готовый код выложили, огромнейшее спасибо :) Вот только мне не понятны значения верхних отступов псевдоэлементов и почему они так влияют на данную разметку?

Еще можно использовать единицу vw, если матрица браузеров (IE9+) позволяет.

 

Хм. тоже вариант, спасибо, только что узнал об этой единице измерения. Только интересует, поддержка мобильных браузеров для андроида, к сожалению, нет устройства на этой ОС, чтобы проверить. Вы не знаете?

Link to comment
Share on other sites

  • 0

При указании паддингов и маржинов в процентах значение расчитывается от ширины родительского блока, следовательно, если ширина родительского блока 64px, то если мы укажем дочернему элементу padding-top/padding-bottom либо marin-top/margin-bottom равным 100%, то вертикальный паддинг или маржин станет равным 64px, и он растянет родительский элемент на 64px, если укажем 50%, то будет 32px.

 

Поддержка браузерами вьювпорт единиц — http://caniuse.com/#feat=viewport-units

Link to comment
Share on other sites

  • 0

При указании паддингов и маржинов в процентах значение расчитывается от ширины родительского блока, следовательно, если ширина родительского блока 64px, то если мы укажем дочернему элементу padding-top/padding-bottom либо marin-top/margin-bottom равным 100%, то вертикальный паддинг или маржин станет равным 64px, и он растянет родительский элемент на 64px, если укажем 50%, то будет 32px.

 

Поддержка браузерами вьювпорт единиц — http://caniuse.com/#feat=viewport-units

а зачем все усложнять, если при добавлении незначительного контента в разметку все рушится?

http://jsfiddle.net/4p85v/2/  в таком случае можно было обойтись обычным height-ом, без всяких псевдо-элементов. Хотябы будешь уверен, что до определенной высоты, не обрушится все.

Link to comment
Share on other sites

  • 0
в таком случае можно было обойтись обычным height-ом
 если бы можно было обойтись этим, я б сюда не обращался. Понятно, что напрямую простой текст туда пихать не надо, мне, например, это нужно было для организации фотогалереи. Хотя и узнал о viewport-единицах.
Link to comment
Share on other sites

  • 0

Чаще всего абсолютное позиционирование и выручает. Кстати, без псевдиков действительно можно обойтись (только размеры padding-ов придется отсчитывать от внешнего контейнера, а не самого блока). А в чем проблема с галереей (особ. при условии, что превьюшки уже имеют нужные пропорции)?

  • Like 1
Link to comment
Share on other sites

  • 0
если бы можно было обойтись этим, я б сюда не обращался

Мне без разницы - куда бы вы обращались.

 

Понятно, что напрямую простой текст туда пихать не надо,

Откуда понятно? Телепатией не владею.

 

это нужно было для организации фотогалереи. Хотя и узнал о viewport-единицах.

Я рада за вас.

Обращалась  не к вам, если вы мои вопросы приняли как критику или как угрозу для вашей безопасности, то успокойтесь )

Я хотела просто узнать почему таким образом решили вопрос.

Edited by amelice
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