Как сделать карточку в html
Перейти к содержимому

Как сделать карточку в html

  • автор:

Простая семантичная карточка-ссылка

Представим себе элемент дизайна — карточку. Карточку товара, или карточку поста в блоге. Суть в том, что по клику в любое место карточки нужно переходить на страницу этого товара или поста.

Первая реализация

Логично предположить, что этот элемент должен быть сделан тегом a . Как-то так:

 

Item header

Item looong description

Проблема

Во-первых это не семантично. Ссылка предполагает наличие внутри себя текста, который описывает, куда она ведет. Помещать туда что-то кроме него — значит путать пользователей со скринридерами и поисковых роботов.

Во-вторых внутри карточки могут предполагаться другие ссылки. Например, на автора статьи или категорию товара:

 

Item header

Item looong description

Ivan Ivanovich

Такая верстка не будет работать. Ссылки нельзя вкладывать внутрь других ссылок. Поведение в таком случае не определено, поэтому браузеры избегают такой верстки и превращают ее в такую:

 

Item header

Item looong description

Ivan Ivanovich

Реализация получше

Все же стоит сделать карточку подходящим для нее тегом, в данном случае article , а главную ссылку положить в заголовок:

 

Item header

Item looong description

Теперь верстка семантична и будет нормально прочитана скринридерами, роботами и другими разработчиками.

Как же сделать переход по ссылке по клику в любое место (кроме ссылки на автора), а не только в заголовок? Существует неочевидное решение на CSS для таких случаев.

 

Item header

Item looong description

article < position: relative; >h3 > a::before

Эти стили создали для ссылки внутри заголовка псевдо-элемент размером во всю карточку, который лежит поверх контента. Теперь клик в любое место карточки является кликом в этот псевдо-элемент, то есть кликом в ссылку и вызовет переход на страницу товара или поста.

«Вложенные» ссылки

Чтобы сделать внутри этой карточки ссылку на автора или категорию товара, положим нужные элементы поверх псевдо-элемента ссылки. Или же опустим псевдо под другие элементы. Значит нужно свойство z-index для управления контекстом наложения и pointer-events для управления событием клика.

 

Item header

Item looong description

Ivan Ivanovich
article < position: relative; z-index: 0; >h3 > a::before < position: absolute; content: ''; inset: 0; z-index: -1; >p, img
  • добавили z-index: -1 для псевдо-элемента, чтобы убрать его под все остальные элементы в карточке
  • добавили z-index: 0 для всей карточки, чтобы создать новый локальный контекст наложения, иначе бы псевдо был в глобальном контексте наложения и убрался под элемент body
  • добавили pointer-events: none; для описания и картинки, чтобы сделать их прозрачными для событий мыши, теперь клики в них считаются кликами в элемент ровно под ними, то есть в псевдо
  • элементы внутри карточки, которым мы не указали pointer-events (ссылка на автора в данном случае) будут лежать поверх псевдо и не пропускать через себя события мыши, это можно использовать для красивых ховер-эффектов

Более сложные ховер-эффекты

В примере выше по наведению мыши мы только меняем цвет текста для заголовка-ссылки. Это сделано с помощью псевдокласса :hover на теге a . Что делать, если по ховеру нам нужно менять цвет фона карточки?

Первая мысль: сделать селектор article:hover и в нем прописать новый цвет фона.

Почему это плохо? Bo-первых, потому что этот псевдокласс предназначен для интерактивных элементов. article не интерактивный. Во-вторых, этот эффект будет срабатывать, когда пользователь наводит мышку на «вложенные» ссылки. А должен только при наведении на «главную» ссылку.

Правильнее будет использовать функциональный псевдокласс :has() и написать так:

article:has(h3 > a:hover)

От такого решение нас пока останавливает только поддержка :has() в браузерах ��

Поэтому используем article:hover , но помним, что это не очень правильное решение.

Нерешенные проблемы

Это решение не идеальное с точки зрения UX. Например, нельзя выделить текст в карточке, не зажав кнопку Alt (option на MacOS). Эта проблема осталась нерешенной.

Цитирования

  • 324-ый выпуск подкаста Веб-стандарты
  • Фронтенд-новости №12 от Николая Шабалина

Если вы видите ссылку на эту статью в источнике, который не упомянут здесь, сообщите мне, пожалуйста.

Мотивировать меня чаще писать о CSS можно на patreon.

Мои каналы о CSS css_mind и csswg_weekly в телеграм.

Нашли опечатку? Сообщите мне о ней.

27 бесплатных карточек HTML и CSS для блогов, электронной коммерции и многого другого

Карты наведения

Интернет-ресурсы почти бесконечны, но найти их качества — действительно сложная вещьХотя поиск и хороший список веб-сайтов посвящены дизайну, все становится проще. В то время, когда такие языки, как HTML и CSS, находятся в отличной форме, приблизиться к бесплатным высококачественным ресурсам можно практически за несколько кликов.

Мы собираемся перечислить серию бесплатные карточки в HTML и CSS которые идеально подходят для всех типов блогов, бизнеса, электронной коммерции и многого другого. Коллекцию на большие расстояния, чтобы ее можно было включить в работу, которую вы выполняете для всех типов клиентов. Давайте сделаем это с помощью этого списка, который использует codepen.io, чтобы вы могли получить код как в HTML, так и в CSS.

Блог Карточное развлечение №1

Карточное развлечение

Una отличная дизайнерская карта который говорит почти обо всем изображении, которое его представляет, вы можете перейти на codepen.io, чтобы получить соответствующий код и установить его на свой веб-сайт.

CSS Новостные карточки только CSS

Карточка новостей

Эта карта с Очень странные дела как фон, отличается плавной анимацией, раскрывающей контент. Это чистый CSS.

Запись в блоге

Сообщение в блоге

Предварительный просмотр Интернета, наведя на него указатель мыши. Имеет CSS и HTML для легкого включения.

Карточки блога

Карточки блога

Минималистичный адаптивный дизайн карточки блога. Быстрая и плавная анимация высокое качество, которое никого не оставит равнодушным.

Адаптивные визитки

Адаптивные карты

Выделяется для легкая анимация путем наведения указателя мыши на изображение карточки.

Другая карточка блога

Блог Hover Card

Появляется текст карты при наведении В то же самое.

Визитные карточки

Визитная карточка

Una простая, но актуальная карта посетите с демонстрацией и кодом на HTML и CSS.

3D визитка

3D флип-карта

Эта карта стоит 3D-анимация с HTML и CSS. Созданный Еленой Назаровой, он идеально подходит для яркой визитки.

Визитная карточка CSS

Визитная карточка CSS

Яркая визитка в CSS, которая вращается в 3D чтобы освободить место для серии URL-адресов, которые реагируют на указатель мыши в тот момент, когда мы его опускаем.

Карточные сетки

Сетка карты

Серия удачно размещенных карт с привлекательный дизайн. Это удивительно своей упрощенной эстетикой, но с хорошим попаданием в код HTML, CSS и SCSS.

Раскрытие 3D-карт

3D карта

Эта серия карточных сеток раскрыть больше информации на данный момент что мы оставили мышь на зеленом значке. В то время как мы оставляем указатель, остальная часть сетки перемещается соответствующим образом.

Карта адаптивного дизайна материалов

Материал Дизайн

С язык дизайна Googleпоявляется эта серия карточек, которые выделяются значком меню, открывающим всю информацию об актерах, как в примере. Красивая и интуитивно понятная анимация с великолепным внешним видом.

Сетка для карточек Flexbox

Flexbox

Прототип карты на той же высоте, на которой они выделяются благодаря использованию формата flexbox сетки. Еще одна его ценность — использование соотношения сторон CSS и фильтров CSS.

Карты Clash of Clans

Столкновение Кланы

El популярная мобильная игра его карточки в HTML и CSS созданы Андре Мадарангом. Мы можем переходить между ними с помощью точной и очень визуальной анимации.

Слайд-карты для электронной коммерции

Карта продукта

С гибкая анимацияЭти карточки побуждают вас искать их элементы, чтобы понять, о чем они. С великолепным дизайном от Омара Дсоки.

Дизайн интерфейса — карточка продукта

Пользовательский интерфейс продукта

Идеальная карта для дизайна продукт нашей электронной коммерции. Сделано в HTML и CSS.

Карточка продукта

Продукт электронной коммерции

С той же карты мы можем просмотреть несколько изображений чтобы лучше увидеть товар. Он включает кнопку добавления в корзину и содержит код HTML, CSS и JavaScript.

Карточки продуктов Flexy

Карта Flexy

Как следует из названия, использует flexbox чтобы создать интересную анимацию, когда мы нажимаем на кнопку «добавить в корзину».

Переверните карты

Перевернуть карту

Небольшой код для некоторых карт с гладкой и идеальная анимация. Вы можете добавить их в считанные минуты. Недавно добавлен в codepen.

Карты как 3D-карты продуктов

3D карта

Следует отметить, что эти карты как если бы у нас была серия карт на столе. Указатель остается наведенным, и они увеличивают масштаб, щелкают по каждому из них и показывают обратную сторону карточки, чтобы показать информацию о продукте. Щелкаем еще раз и оставляем как было с лицевой стороной. Идеально подходит для изучения свойств 3D ​​CSS.

Параллакс карта

Карта параллакса

Очень наглядный эксперимент с эффектный флип-эффект. Лучше, если вы увидите это, чтобы понять, о чем он говорит.

Эффект наведения для карточек

Карточка наведения

Простой эффект, но бесполезное зависание о картах.

Простой эффект наведения

Простая карта

Поразительный довольно простой эффект, но это имеет большой эффект в тот момент, когда мы это визуализируем.

Карты глубины параллакса

Глубина параллакса

Эти карты несут концепция параллакса наверх чтобы сформировать несколько очень ярких карт по дизайну. Вам просто нужно увидеть это, чтобы лучше понять эффект, который он производит на пользователя, когда вы выбираете некоторые категории в нашем блоге.

UI-карта для фильмов

Карточка фильма

Карта отличный макет, сделанный с помощью HTML и CSS.

Карточка профиля

Карточка контакта

Очень хорошие анимации для карточки контакта, в которой мы можем реализовать доступ к профилям социальных сетей. HTML и CSS.

Карты в комплекте с Polaroid

Полароид

Со свойствами, фильтрами и Пользовательские переходы CSS Создана серия сгруппированных карт Polaroid; не пропустите эти изображения SVG в Интернете.

Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Полный путь к статье: Интернет-объявления » Технологии » CSS » 27 бесплатных карточек HTML и CSS для блогов, электронной коммерции и многого другого

2 комментариев, оставьте свой

Оставьте свой комментарий Отменить ответ

Cristian сказал

тому назад 5 лет
Любую из этих карточек можно будет вставить на страницу с помощью wordpress.

Стэн сказал

Как сделать такую карточку товара? На чистом CSS

КарточкаКарточка товара Интересует сделать такую карточку товара, но не понимаю как именно это работает, также указываю ссылку на макет фигмы вот она Помогите пж кодом) У меня получилось сделать вертикальную зеленую карточку, но горизонтальную не выходит, и проблема с текстом внутри у меня, хелп ^_^

Отслеживать
sorochinskkydm
задан 20 янв 2021 в 15:49
sorochinskkydm sorochinskkydm
28 1 1 серебряный знак 6 6 бронзовых знаков

Вы сами что то делали? Обучение не входит в тематику stackoverflow, здесь помогают и даже делают иногда с ноля но когда вопрос интересный

20 янв 2021 в 15:57
В том то и дело что пытался, но не вышло, и зашел сюда попросить помощи.
20 янв 2021 в 18:45
флекс контейнер и два дива внутри, не?
20 янв 2021 в 19:55
Если пытались сами, то лучше приложите свою попытку.
20 янв 2021 в 21:55

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Задача типична, как говорится рутина

  1. смотрим размеры и устанавливаем шрифты и так же обнуляем отступы и главного документа
  2. Картинки — создаём рядом с index.html папку с именем img/images/i как угодно, если когда то у вас зайдёт речь о вёрстке под cms то там будет ограничение для имени этой папки и все картинки из figma складываем в эту папку

Я сделал просто так — использовал flexbox и для мануала покурите вот это : webref.ru и согласно инструкции на этом сайте мы укажем для родителя всех карточек: display: flex;

В общем смотрите и если вдруг что то станет не ясно — переспросите комментариями

Внимание — не адаптивно

javascript применил так как лень кучу раз писать src для картинок и так же кучу раз вставлять один и тот же текст —

Здесь чуть чуть модернизировал: codepen.io

let text = "Парикмахерское кресло НОРМ гидровлическое"; let price = "9900 ₽"; document.querySelectorAll(".description").forEach(function(el) < el.innerHTML = text; >); document.querySelectorAll(".price").forEach(function(el) < el.innerHTML = price; >); document.querySelectorAll("img").forEach(function(img) < img.src = "https://tua-vita.ru/upload/iblock/851/851fadff5982b69c94f3097c8630ada4.png"; >);
html, body < margin: 0; padding: 0; font-family: "Roboto", sans-serif; >.wrapper < text-align: center; background-color: #efefef; >.flex < display: inline-flex; padding: 20px 10px; >.cart < width: 180px; background-color: #fff; >.cart:not(:first-child) < margin-left: 20px; >img < display: inline-block; max-width: 150px; object-fit: cover; >.description < font-size: 14px; text-align: left; width: 90%; margin: 20px auto; >.price < margin: 20px auto; >.button < margin: 20px auto; >.button button < border: none; outline: none; display: inline-block; padding: 10px 20px; background: #66c05d; border-radius: 30px; transition: scale 0.1s ease-in; color: #fff; >.button:hover button
   

Как создать карточки товаров на сайте

Узнайте, как создать привлекательные и эффективные карточки товаров для повышения конверсии вашего интернет-магазина!

Grid of Product Cards Displaying Various Items

Алексей Кодов
Автор статьи
23 июня 2023 в 15:21

Создание карточек товаров на сайте играет важную роль в привлечении внимания посетителей и повышении конверсии. В этой статье мы рассмотрим основные аспекты создания карточек товаров и предоставим примеры для наглядности.

1. Определение структуры карточки товара

Прежде всего, необходимо определить структуру карточки товара. Она должна содержать следующую информацию:

  • изображение товара
  • название товара
  • краткое описание
  • цена
  • кнопка «добавить в корзину» или «купить»

Python-разработчик: новая работа через 9 месяцев
Получится, даже если у вас нет опыта в IT

2. Верстка карточки товара

После определения структуры можно приступить к верстке карточки товара. Используйте HTML и CSS для создания разметки и стилизации элементов карточки. Вот пример верстки карточки товара:

 
Название товара

Название товара

Краткое описание товара

Цена товара

3. Стилизация карточки товара

Следующим шагом будет стилизация карточки товара с помощью CSS. Учтите, что дизайн карточки должен быть привлекательным и удобным для пользователя. Вот пример стилизации карточки товара:

.product-card < display: flex; flex-direction: column; align-items: center; border: 1px solid #ccc; padding: 16px; border-radius: 4px; >.product-card__image < width: 100%; object-fit: cover; margin-bottom: 16px; >.product-card__title < font-size: 18px; font-weight: bold; margin-bottom: 8px; >.product-card__description < font-size: 14px; margin-bottom: 16px; >.product-card__price < font-size: 16px; font-weight: bold; margin-bottom: 16px; >.product-card__button

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

4. Интеграция карточки товара в сайт

После верстки и стилизации карточки товара, интегрируйте ее в ваш сайт, добавив разметку и стили в соответствующие файлы вашего проекта. Это может быть выполнено с помощью шаблонизаторов или же просто добавлением HTML и CSS кода вручную.

Python-разработчик: новая работа через 9 месяцев
Получится, даже если у вас нет опыта в IT

Теперь вы знаете, как создать карточки товаров на сайте и готовы повысить конверсию своего интернет-магазина! Не забывайте тестировать свои карточки товара на разных устройствах и браузерах для обеспечения наилучшего пользовательского опыта.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *