/
Вопросы и ответы
/
HTML
/

Как сделать кликабельную картинку html

Как сделать кликабельную картинку html

5 лет назад

Человек-Молекула

Ответы

0

Для того чтобы сделать картинку кликабельной в HTML, нужно использовать тег <a> и вложить в него тег <img>. В атрибуте href указать ссылку, на которую будет переход при клике на картинку. Пример:

1
2
3
<a href="http://example.com">
  <img src="image.jpg" alt="Картинка" />
</a>

Также можно добавить атрибут target="_blank", чтобы ссылка открывалась в новой вкладке браузера:

1
2
3
<a href="http://example.com" target="_blank">
  <img src="image.jpg" alt="Картинка" />
</a>

4 года назад

Aleksey

0

Оберните картинку в ссылку: тег <img> внутри тега <a>:

1
2
3
<a href="https://ru.hexlet.io">
  <img src="logo.png" alt="Хекслет">
</a>

Клик по картинке откроет адрес из href.

Открыть ссылку в новой вкладке

1
2
3
<a href="https://ru.hexlet.io" target="_blank" rel="noopener">
  <img src="logo.png" alt="Хекслет">
</a>

rel="noopener" не даёт открытой странице управлять вашей вкладкой.

Маленькая картинка открывает большую

Так делают галереи: превью ведёт на полноразмерное фото.

1
2
3
<a href="img/gallery/1.jpg">
  <img src="img/gallery/small/1.jpg" alt="Гостиная в светлых тонах" width="200">
</a>

Картинка с хостинга изображений

Сервисы вроде ImgBB дают готовый код. В нём два адреса: href ведёт на страницу картинки, src — на сам файл:

1
2
3
<a href="https://ibb.co/xxxxxxx">
  <img src="https://i.ibb.co/xxxxxxx/photo.jpg" alt="Описание фото">
</a>

Если картинка не показывается, проверьте src: прямая ссылка на файл заканчивается на .jpg или .png.

Оформление

Чтобы под картинкой-ссылкой не было лишнего отступа и она не выходила за пределы блока:

1
2
3
4
5
6
7
8
9
a img {
  display: block;
  max-width: 100%;
  height: auto;
}

a:hover img {
  opacity: 0.85;
}

Курсор-рука появляется над ссылкой сам, задавать cursor: pointer не нужно.

Картинка, сквозь которую можно кликать

Если картинка лежит поверх кнопки или ссылки и перехватывает клик, отключите ей события мыши:

1
2
3
.overlay-image {
  pointer-events: none;
}

Клик пройдёт к элементу под картинкой.

Ссылка на разные части одной картинки

Для схем и карт есть тег <map>: он задаёт кликабельные области внутри картинки.

1
2
3
4
5
<img src="plan.png" alt="План офиса" usemap="#plan">
<map name="plan">
  <area shape="rect" coords="0,0,200,150" href="/kitchen" alt="Кухня">
  <area shape="circle" coords="300,100,50" href="/meeting" alt="Переговорная">
</map>

Координаты задают в пикселях исходной картинки. На адаптивных сайтах кликабельные области чаще делают в SVG со ссылками внутри.

Ссылки и картинки разбирают в бесплатном курсе «Основы веб-разработки» и на курсе «Профессиональная верстка».

месяц назад

Никита Вихров

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845