2014-12-21 3 views
0

Мне было интересно, как я могу сделать серию позиционированных изображений реагировать на размер окна? Я не совсем уверен, как будто сами изображения должны быть относительными и иметь обертку страницы абсолютно или наоборот. Я играл на jsfiddle, но ничего не работает. Для справки, следующий веб-сайт выполняет эффект, я хотел бы создать - он полностью отвечает ширине окна: http://www.index-std.com/ressources/projets/guillaume_lorieux.htmlОтзывчивое позиционированное изображение

Я создал jsfiddle здесь: http://jsfiddle.net/kenhimself/uz41Leno/

Большое спасибо заранее!

CSS:

.a { top:0; left:20%; height:300px; } 
.b { top:150px; right:0; height:250px; } 
.c { top:400px; left:0; height:200px; } 
.d { top:600px; left:50%; height:100px; } 
.e { top:900px; right:20%; height:300px; } 
.f { top:800px; left:10%; height:200px; } 
.g { top:1300px; left:0; height:300px; } 
.a, .b, .c, .d, .e, .f, .g { width:auto; } 

div.page { } 
img { width:100%; height:100%; position:absolute; } 
figure.thumbnail { width:100%; height:100%; position:relative; } 
html, body { margin:0; padding:0; width:100%; height:100%; } 

HTML:

<div class="page"> 
    <figure class="thumbnail"> 
     <img class="a" src="http://i62.tinypic.com/fxqe6g.jpg"/> 
     <img class="b" src="http://i62.tinypic.com/2wgeutv.jpg"/> 
     <img class="c" src="http://i61.tinypic.com/dptspl.jpg"/> 
     <img class="d" src="http://i60.tinypic.com/2dv8mj6.jpg"/> 
     <img class="e" src="http://i60.tinypic.com/208u109.jpg"/> 
     <img class="f" src="http://i57.tinypic.com/2qdpvly.jpg"/> 
     <img class="g" src="http://i58.tinypic.com/2u4ljmd.jpg"/> 
    </figure> 
</div> 
+0

Вы изучали медиа-запросы? –

+0

Hi rp.beltran - что вы имеете в виду по медиа-запросам? – kenhimself

+0

Это блоки CSS, которые применяются только тогда, когда экран соответствует определенным условиям (обычно на основе размера и типа устройства). http://www.w3schools.com/cssref/css3_pr_mediaquery.asp очень хорошо их охватывает. Они могут работать для вас в зависимости от ваших целей, но я думаю, вам может понадобиться более непрерывное решение. –

ответ

0

Я updated your fiddle. По сути, вам нужно избавиться от объявлений статического размера и сделать более относительный/динамический размер, например, max-width вместо width.

Если вы хотите сделать больше вещей, как то, что делает ваш примерный сайт, т. Е. Все изображения перемещаются после изменения размера, это скорее решение, ориентированное на javascript.

EDIT

В данном примере, автор заворачивает его изображения в DIV и устанавливает ширину и положение в процентах от емкости. Когда контейнер сжимается, также обертка. Если изображение установлено на уровне 100%, изображение будет уменьшаться соответственно.

+0

Привет, Джейсон, Спасибо за редактирование, но я думаю, что было небольшое переполнение. Если вы посмотрите на http://www.index-std.com/ressources/projets/guillaume_lorieux.html, изображения сохраняют свое положение и не сталкиваются друг с другом. Можно ли это сделать только с помощью CSS? – kenhimself

+0

Да. используйте px для позиции вместо процентов. нет никакого смешивания, я точно знаю, что вы пытаетесь сделать;) если вы посмотрите на элемент контейнера этого сайта в инструментах dev, вы увидите, что divs абсолютно позиционированы с единицами px, а затем после изменения размера страницы javascript переписывает их. – Jason

+0

Хмм, я изменил процент на px, но он, похоже, не сохраняет свое положение и не реагирует на ширину окна. Можете ли вы взглянуть на него? http://jsfiddle.net/kenhimself/uz41Leno/2/ – kenhimself

Смежные вопросы