Jump to content
  • 0

позиционирование блоков относительно фона


ishurgaya
 Share

Question

Здравствуйте. нужен совет ,как лучше сверстать.

 

есть полосатая фоновая картинка  с горизонтальными полосами.

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

 

4x7sm93xm1mq.png

 

 

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

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

 

посоветуйте ,как справиться с этой задачкой.

Edited by ishurgaya
Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

>высота полос фонового изображения разная на разных экранах.
>количество блоков расположенных в горизонтальной полосе будет меняться.

То есть расположение блоков должно подстраиваться под фон? Хардово, нужно подумать :-D


Хотя я не понимаю, на кой черт нужно растягивать фон во вертикали.

Link to comment
Share on other sites

  • 0

да задачка не так проста ,как кажется с первого взгляда.

 

есть ли смысл для ее выполнения использовать javascript?

 

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

 

тем самым мы находили количество блоков ,которые помещались в вертикальной линии (напомню страница,что верстка адаптивная)

 

и на js оборачивал в одной строке в div  у которого прописаны в стилях кусок фоновой  картинки (одна полоска)

window.onresize= message; function message() {  var h = $('div.block').css('width'); var ch = Number(h.replace(/\D+/g,"")); var count = Math.floor(ch/170); //считаем количество блоков помещающихся в ширину экрана браузера ,170px ширина прямоугольного блока  while(($children = $(':not(.row)>.item:lt('+count+')')).length) {	$children.wrapAll($('<div class="row"></div>')); }} 

или есть способы проще ?

 

или лучше без js и у фоновой картинки задать background-size и  менять этот стиль через media запросы ,в разных размерах браузеров?

Edited by ishurgaya
Link to comment
Share on other sites

  • 0

в общем сделал через media запросы :

@media (min-width: 608px){  .fon {		       background-size: 100% 100%; }}@media (min-width: 768px) {  .fon {		background-size: 100% 119%; }}@media (min-width: 992px){ .fon {		background-size: 100% 119%; } }@media (min-width: 1200px) { .fon {		background-size: 100% 148%; }}

осталось чуть-чуть откалибровать высоту фона  на разных экранах . и задать высоту фона на экранах свыше 1200px и мобильных

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