Focal Ppoint: интеллектуальная обрезка адаптивных изображений
Практика реализации процесса адаптации изображений все еще находится в стадии развития. Существует большое количество идей и предложений как следует обрабатывать картинки.
В данном уроке мы рассмотрим небольшую очаровательную библиотеку, которая позволяет не только автоматически изменять размер изображений при изменении параметров окна просмотра, но также обрезать картинки, принимая во внимание заданную точку фокуса. К тому же, все действия осуществляются на чистом CSS.
Встречайте Focal Point
Focal Point - проект на GitHub и библиотека CSS? созданная Адамом Бредлеем (Adam Bradley). В соответствии с концепцией адаптивности изображения должны изменять размер и положение для достижения оптимальных пропорций для текущего окна просмотра. Focal Point продвигает данную идею дальше и не только изменяет размер изображений, но и обрезает их.
Проблема, которая возникает при реализации данной идеи, заключается в том, что произвольная обрезка может удалить важные части изображения! Например, на выше приведенном примере важный объект находится в правой части изображения. Как предотвратить его отсечение?
Focal Point позволяет задать целевую область изображения, которая должна оставаться целой (точка фокуса). Таким образом, когда библиотека будет выполнять обрезку, само изображений будет сохранять отличный вид.
Как это работает?
Реализация Focal Point достаточно уникальный, но в то же время простой процесс. Сначала обсудим, как выбирать точку фокуса, а затем погрузимся в код реализации.
Когда вы вставляете изображение в веб страницу с помощью Focal Point, оно автоматически разделяется на невидимую сетку с 12×12 ячеек. Нет разницы, какого размера картинка, сетка адаптируется под него.
Теперь у нас есть система разделения изображения и мы можем определить точку на сетке, которая будет служить точкой фокуса. При обрезке картинки заданная точка будет использоваться как центральная часть, вокруг которой происходит усечение. То есть, если мы выберем лицо мужчины, то данный важный аспект изображения останется после выполнения изменений.
Нужно найти важную область, затем подсчитать количество единиц сетки от центра изображения до нее. В нашем примере лицо находится на три единицы вправо и на три единицы вверх от центра сетки (на рисунке оставлены английские названия, так как они совпадают с рабочими параметрами библиотеки).
Код
Теперь мы можем указать точку фокуса и пришло время разобраться в коде реализации. Для начала загрузите проект с GitHub и привяжите CSS файл к вашему документу HTML.
После предварительных операций нужно добавить два элемента div и тег img. Да, разметка получается избыточной для одного изображения, и сей факт является минусом библиотеки. Вот типовая разметка:
<div class="focal-point"> <div><img src="/guy.jpg" alt="guy"></div> </div>
Как вы можете заметить, внешний элемент div имеет класс “focal-point”, а во внутреннем размещено наше изображение без каких либо классов.
Переводим единицы сетки в классы
Теперь надо указать Focal Point на место, где находится фокус изображения. Наша точка фокуса смещена на три единицы вправо и три единицы вверх. Поэтому указываем для внешнего элемента div классы “right-3″ и “up-3″.
<div class="focal-point right-3 up-3"> <div><img src="/guy.jpg" alt=""></div> </div>
Реализация нашего кода приведет к тому, что на больших экранах изображения будет выводиться в полный размер, а при уменьшении окна просмотра уменьшаться с обрезанием вокруг точки фокуса.
Обратите внимание, что изображение справа не только меньше, но и обрезано вокруг важной части. Все выполняется с помощью CSS!
Структура страницы
Для того, чтобы лучше представить, как использовать библиотеку в реальных приложениях, построим простую страницу.
Определим элемент div с классом “column”:
<div class="column"> </div>
Добавим заголовок и параграф для имитации содержания страницы:
<div class="column"> <h1>Focal Point</h1> <p>Lorem ipsum.... </p> </div>
Затем вставим изображение, как было показано в предыдущем примере (с двумя элементами div и классами для точки фокуса):
<div class="column">
<h1>Focal Point</h1>
<p>Lorem ipsum.... </p>
<div class="focal-point right-3 up-3">
<div><img src="/guy.jpg" alt="guy"></div>
</div>
</div>
И для завершения примера скопируем код с использованием другого изображения и другой точки фокуса.
<div class="column">
<h1>Focal Point</h1>
<p>Lorem ipsum...</p>
<div class="focal-point right-3 up-3">
<div><img src="/guy.jpg" alt="guy"></div>
</div>
</div>
<div class="column">
<h1>Focal Point</h1>
<p>Lorem ipsum...</p>
<div class="focal-point right-2 up-2">
<div><img src="/couple.jpg" alt="couple"></div>
</div>
</div>
Для второго изображения точка фокуса находится в другом месте:
CSS
Определим стили для нашей страницы. Адаптация изображений и работа с точкой фокуса находятся вне зоны нашей деятельности. Все что нужно сделать - определить внешний вид элементов. Для примера страница делится на две колонки и задаются стили для текста.
* {
margin: 0;
padding: 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
}
.column {
float: left;
overflow: auto;
padding: 20px;
width: 50%;
}
h1 {
text-transform: uppercase;
font: bold 45px/1.5 Helvetica, Verdana, sans-serif;
}
p {
margin-bottom: 20px;
color: #888;
font: 14px/1.5 Helvetica, Verdana, sans-serif;
}
@media all and (max-width: 767px) {
p {
font-size: 12px;
}
h1 {
font-size: 35px;
}
}
@media all and (max-width: 550px) {
h1 {
font-size: 23px;
}
}
Смотрим в действии
Теперь можно посмотреть как работает демонстрация. Если страницы выводится в большом окне просмотра (например, на экрана монитора настольного компьютера), то изображения будут выводиться в полном объеме:
Теперь, если уменьшить размер окна просмотра или смотреть демонстрационную страницу с мобильного устройства, то можно увидеть, как адаптируются изображения. По мере уменьшения окна изображения не только уменьшаются, но и обрезаются.
С точки зрения дизайна насколько эффективна такая техника!? Чем меньше изображение становится, тем сильнее выделяется точка фокуса. С помощью данной библиотеки можно быть уверенным, что даже на маленьких экранах пользователи будут важную информацию.
Совместимость с браузерами
Библиотека работает во всех новых браузерах. В IE8 изображения изменяют размер, но не обрезаются. Но на текущий момент 99.99% сайтов не имеют пдобного механизма адаптации изображения с автоматической обрезкой, так что реакция IE8 не является критичной.
Что находится внутри?
Теперыь рассмотрим, как работает библиотека.
Первая часть кода является базовым решением CSS для адаптивных изображений.
.focal-point {
width: 100%;
height: auto;
overflow: hidden;
}
.focal-point img {
width: 100%;
max-width: 100%;
height: auto;
-ms-interpolation-mode: bicubic;
}
.focal-point div {
position: relative;
max-width: none;
height: auto;
}
Следующий код немного сложнее. Сначала медиа запрос реализуется в точке 767px. Затем, для обрезки изображения используются отрицательные значения полей для каждого из доступных классов. В тексте урока мы приводим только классы “up-3″ и “right-3″, которые использовались в демонстрации.
@media all and (max-width: 767px) {
/* 4x3 Landscape Shape (Default) */
.focal-point div {
margin: -3em -4em;
}
/* Landscape up (Total 6em) */
.up-3 div {
margin-top: -1.5em;
margin-bottom: -4.5em;
}
.right-3 div {
margin-left: -6em;
margin-right: -2em;
}
}
Здесь не так много кода, но он достаточно элегантен. Отрицательные поля используются с единицами em для обрезки изображений относительно заданной точки.
Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/0T4J6PBjLpI/lessons.php
|
Практика реализации процесса адаптации изображений все еще находится в стадии развития. Существует большое количество идей и предложений как следует обрабатывать картинки.В данном уроке мы рассмотрим |
РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2026-04-17 » Дырявая воронка продаж: где вы теряете клиентов и как это лечит CRM
- 2026-04-17 » ИИ‑контент против человека: как найти золотую середину
- 2026-04-17 » Сайты 2026–2027: почему побеждают простые и быстрые
- 2026-04-17 » Формы сбора согласий на сайте
- 2026-04-17 » Безопасность сайта для малого бизнеса: что нужно знать, чтобы не взломали и не оштрафовали
- 2026-04-16 » Парадокс выбора: почему изобилие вариантов вредит вашей прибыли
- 2026-04-16 » Когнитивная перегрузка vs. UX: почему ваш сайт утомляет мозг пользователя
- 2026-04-16 » Эра Zero-Click: как генеративная выдача изменила путь клиента
- 2026-04-16 » Как адаптировать тексты на сайте под голосовой поиск
- 2026-04-16 » Почему ваш сайт тормозит — и вы теряете клиентов
- 2026-04-08 » Микрофронтенды — максимально простое объяснение
- 2026-04-08 » Чат-боты или живые менеджеры: что выбрать для эффективного продвижения в 2026 году?
- 2026-04-08 » Почему ваш сайт не видно в поисковой выдаче?
- 2026-04-08 » Персонализация в маркетинге: 7 примеров, которые работают
- 2026-04-08 » Как автоматизация маркетинга и продаж помогает компаниям расти быстрее и без хаоса
- 2026-04-01 » Как не переплатить за разработку: скрытые этапы создания сайта, о которых забывают при составлении ТЗ
- 2026-04-01 » Почему не стоит делать сайт «как у конкурента»
- 2026-04-01 » SSL сертификат для интернет‑магазина: почему экономия здесь обходится дороже
- 2026-04-01 » SEO, GEO и бренд: как строить видимость в 2026 году
- 2026-04-01 » Объективные метрики здоровья сайта, которые должен отслеживать каждый бизнес
- 2026-03-27 » Кибербезопасность для малого и среднего бизнеса в 2026 году: как не стать жертвой цифровых угроз
- 2026-03-27 » Объединяем CRM и маркетинговую автоматизацию: как создать единую систему продаж
- 2026-03-27 » Дизайн не главное? Почему сайт теряет клиентов, даже если вы уверены в обратном
- 2026-03-27 » SEO умерло — да здравствует SEO! Как нейросети перестроили поиск
- 2026-03-27 » Почему сайт работает медленно: проблема может быть не в хостинге, а в нагрузке
- 2026-03-13 » Причины, почему вашего сайта нет в поиске и как это исправить
- 2026-03-13 » Как интернет-магазину расти в тени маркетплейсов
- 2026-03-13 » Почему скорость загрузки сайта — это вопрос выживания в 2026 году
- 2026-03-13 » Ошибки навигации в интернет-магазине, которые убивают продажи
- 2026-03-13 » 12 признаков, что ваш сайт безнадежно устарел (и как это проверить)
Жизнь подобна универмагу: в ней находишь всё, кроме того, что ищешь Кроткий Эмиль - (1892—1963) - русский поэт–сатирик, юморист и афорист |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.

Мы создаем практически любые сайты от продающих страниц до сложных, высоконагруженных и нестандартных веб приложений! Наши сайты это надежные маркетинговые инструменты для успеха Вашего бизнеса и увеличения вашей прибыли! Мы делаем красивые и максимально эффектные сайты по доступным ценам уже много лет!
Комплексный подход это не просто продвижение сайта, это целый комплекс мероприятий, который определяется целями и задачами поставленными перед сайтом и организацией, которая за этим стоит. Время однобоких методов в продвижении сайтов уже прошло, конкуренция слишком высока, чтобы была возможность расслабиться и получать \ удерживать клиентов из Интернета, просто сделав сайт и не занимаясь им...
Мы оказываем полный комплекс услуг по сопровождению сайта: информационному и техническому обслуживанию и развитию Интернет сайтов.
Контекстная реклама - это эффективный инструмент в интернет маркетинге, целью которого является увеличение продаж. Главный плюс контекстной рекламы заключается в том, что она работает избирательно.