Привет Я работаю над простым изменением размера изображения только в html/css (нет js), особенно для мобильных устройств.Как изменить размер изображения на экран браузера
Я хочу ограничить максимальную высоту и ширину до 100% и не деформировать изображение. Я создал простое масштабирование на основе флажка, но элемент должен иметь позицию: абсолютный, и это проблема для других элементов (она покрыта).
Все кажется на первый взгляд, что работает .. но контейнер для изображения имеет фиксированную высоту сверху, а также элементы p, и в этом проблема.
Пожалуйста, проверьте тэ код:
Простой HTML
<p>some text...</p>
<input id="zoom" type="checkbox">
<label for="zoom" class="container">
<img alt="kitten" src="http://placekitten.com/g/600/300"/>
</label>
<p>some another text</p>
В CSS
* {
margin:0 auto;
}
html, body{
width:100%;
height:100%;
text-align:justify;
}
p{
display:block;
height:25%;
overflow:hidden;
}
label + p {
position:absolute;
top:260px;
height:auto;
}
#zoom{
display:none;
}
input + .container {
position:absolute;
z-index:9999;
top:25%;
right:0;
left:0;
bottom:0;
width:300px;
height:150px;
text-align:center;
cursor:pointer;
display:block;
-webkit-transition: height .4s, width .4s, background-color .4s, top .4s;
transition: height .4s, width .4s, background-color .4s, top .4s;
background-color: rgba(0,0,0,0)
}
input:checked + .container {
position:fixed;
top:0%;
right:0;
left:0;
bottom:0;
width:100%;
height:100%;
background-color: rgba(0,0,0,0.8);
}
input + .container img{
max-width: 100% !important;
max-height: 100% !important;
position: relative;
top: 50%;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
}
Попробуйте удалить позицию: абсолютная и ширина от входа + .container. Это сделает изображение отзывчивым –
В этом случае изображение при масштабировании ведет себя странно ..:/ – mandel99
Попробовали ли вы дать ширину: 100% на входе + .container? –