
Адаптивное изображение на CSS
С развитием информационных технологий все больше адаптивности требуется от создаваемых сайтов. Адаптивность, собственно заключается в возможности сайта подстраиваться под мобильные телефоны и планшеты. При этом некоторые создаются специальные – мобильные версии сайтов. Но все более популярным становиться создания таких сайтов, которые сами перестраиваются под мобильную версию.
Часто у разработчиков возникает следующая проблема. Сайт адаптивной и подстраивается под разрешение экрана в мобильных телефонах, но вот проблема – изображения в статье не желают уменьшатся, а вылезают за область просмотра. Это является, во-первых, не удобным для пользователя, а во-вторых указывает на погрешности в разработке, ну и, естественно, на сам статус сайта и разработчика. Ведь все представление складывается из мелочей.
Итак, как решить эту проблему средствами каскадных таблиц стилей – CSS.
Вариант 1. Работает только на отдельных изображениях.
В CSS файле создать класс img-adaptive со следующими параметрами:
.css-adaptive {
display: block;
max-width: 100%;
height: auto;
}
Далее, при вставке изображения нужно подставить это класс:
<img src=”images/1.jpg” class=”css-adaptive”>
При этом изображение пудет подстраиваться под ширину блока в которое оно помещается. Но этот способ работает только на те изображения, в которые подставляется класс css-adaptive.
Вариант 2. Работает на все изображения в определенном блоке.
Допустим на вашем новом сайте публикуются новости. В каждую новость добавляется по несколько изображений. При этом все должны подстраиваться под размер экрана. А прописывать класс img-adaptiveдля каждого, во-первых, долго, а во-вторых, если новости добавляют обычные пользователи, то они просто не будут знать про этот класс.
Итак, нужно поместить все новости в контейнер div например с классом news.
<div class=”news”>
<h1>Адаптивность изображений в CSS</h1>
<img src=”imahes/1.jpg”>
<img src=”imahes/2.jpg”>
<img src=”imahes/3.jpg”>
</div>
А в файл с CSS следующее:
.news img {
display: block;
max-width: 100%;
height: auto;
}
Таким образом все изображения в новости станут адаптивными независимо от их количества и размера.