Адаптивность

Здравствуйте!

На сайте есть блок, так называемый, "картинка в картинке". Я реализовал это так: родительский div со статичным фоновым изображением (position: relative;), а дочерний div со сменным изображением (position: absolute;). Моя проблема в том, что я не могу добиться полной адаптивности под любые расширения экранов и дочерняя картинка постоянно вылезает за пределы родительской. Уже написал больше 10 media queries под разные размеры экранов телефонов, планшетов и т.д.

Подскажите, пожалуйста, есть ли какое-нибудь универсальное решение, чтобы дочерняя картинка изменяла свой размер относительно родительской? Или мне так и продолжать под каждый экран делать свой media query?

Web-технологии

551 пост5.8K подписчиков

Правила сообщества

1. Не оскорблять других пользователей

2. Не пытаться продвигать свои услуги под видом тематических постов

3. Не заниматься рекламой

4. Никакой табличной верстки

5. Тег сообщества(не обязателен) pikaweb

1
Автор поста оценил этот комментарий

Вот мой CSS:

.demopage-preview_item {

display: block;

height: 480px;

width: 100%;

margin: 0 auto;

padding: 5% 6% 23% 5%;

background: url("mac.png") no-repeat;

background-size: contain;

position: relative;

z-index: 10;

-webkit-box-sizing: border-box;

-moz-box-sizing: border-box;

box-sizing: border-box;

}


.demopage-preview_inner {

height: 100%;

width: 100%;

position: relative;

display: block;

overflow: hidden;

}


.demopage-preview_inner:after {

content: '';

position: absolute;

width: 100%;

height: 100%;

left: 0;

top: 0;

transition: all .1s;

}



.demopage-preview_inner:hover:after {

box-shadow: inset 0 0 11px 2px white;

}


.demopage-preview_inner img {

left: 0;

position: absolute;

top: 0;

transition: all 4s ease 0s;

width: 100%;

}


.demopage-img {

background-position: 0 0;

transition: all 4.5s;

background-size: cover;

margin-top: -2.9em;

}



.demopage-img:hover {

background-position: 0 100%;

}


А это HTML:

<div class="demopage-preview_item">

<p>&nbsp;</p>


<div class="demopage-preview_inner demopage-img demopage-img_1" style="background-image: url(дочерняя_картинка.jpg)"></div>


</div>


Это разметка, которая работает на обычных мониторах.

показать ответы
1
Автор поста оценил этот комментарий

Попробовал. Все равно вылезает. Если поможет, то CSS для этой конструкции скину.

показать ответы
0
Автор поста оценил этот комментарий

Друзья мои!

Спасибо всем, кто откликнулся на мою просьбу. Проблема с адаптивностью решена.

0
Автор поста оценил этот комментарий

Можно сделать двумя фонами и указать у них разный background-origin: для дисплея border-box, для картинки внутри padding-box. У блока с дисплеем padding в процентах придётся делать.

Но в таком варианте hover-эффект не будет работать.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

В том то и фишка, что заказчику этот эффект позарез нужен.

0
Автор поста оценил этот комментарий
Ширину блоков укажи в vw , тут про них написано https://learn.javascript.ru/css-units

Рассчитывать их стоит так :
Ширина блока в макете / ширину экрана в макете = 0...что-то там. Получается width: 0.5vw. , а у дочернего , например width: 0.25vw
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Попробую...

0
Автор поста оценил этот комментарий

https://jsfiddle.net/w6t944kk/6/ Так? Или нужно, чтобы внутренняя еще подстраивалась под высоту?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

По высоте тоже. У родителя монитор на фоне.

https://jsfiddle.net/w6t944kk/7/

показать ответы

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества