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

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

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

Структура HTML для компонентов карты

Анатомия карты включает в себя контейнер карты, ее заголовок, изображение и тело, а также необязательный нижний колонтитул карты.

Вы создадите три простых компонента карты: контент, продукт и карты профиля. Это одни из самых распространенных типов карт, которые можно найти в Интернете.

Начните с создания контейнера div, вложив в него еще три тега div с атрибутами класса для каждой карточки внутри него, с соответствующими дочерними элементами для каждой из трех карточек. Вы должны использовать элементы, которые учитывают все части анатомии карты. Например, карточка контента имеет тег изображения для медиа, тег h3 для заголовка и тег p для текста.

instagram viewer

<дивсорт="карточка-контейнер">
Карточка содержимого
<дивсорт="контент-карта">
<изображениеисточник=" https://images.unsplash.com/photo-1500989145603-8e7ef71d639e? ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=200&q=80"альтернативный=«Рабочее место с блокнотом на клавиатуре, чашкой кофе и наушником»>
<h3>Заголовокh3>
<п>Lorem ipsum dolor sit amet consectetur adipisicing elit. Объявление
за исключением explicabo molestiae natus magnam rem...п>
<аhref="#">Читать далееа>
див>

Карточка товара
<дивсорт="карточка товара">
<изображениеисточник=" https://images.unsplash.com/photo-1505740420928-5e560c06d30e? ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=200&q=80"альтернативный=«Наушники на желтом фоне»>
<h3>наименование товараh3>
<п>$19.99п>
<п>Lorem ipsum dolor sit amet consectetur adipisicing elit.
Аспернатур, voluptatibus.п>
<аhref="#"><кнопка>добавить в корзинукнопка>а>
див>

Карточка профиля
<дивсорт="профиль-карта">
<изображениеисточник=" https://images.unsplash.com/photo-1535713875002-d1d0cf377fde? ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=200&q=80"альтернативный="Белый мужчина в черной рубашке на пуговицах">
<h3>Джон Доуh3>
<п>Веб-разработчикп>
<п>Lorem ipsum dolor sit amet consectetur adipisicing elit.
Expedita tempora eos molestias repellat?п>
<аhref="#"сорт="Ссылка на профиль">Просмотреть профильа>
див>
див>

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

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

CSS-стили для компонентов карты

Используя CSS, вы можете индивидуально оформить каждую карточку, чтобы сделать ее визуально привлекательной. Воспользуйтесь универсальным селектором сбросить поля, прокладкии положение с помощью размер коробки. Затем стилизуйте контейнер, задав ему отступы, чтобы создать пространство.

​​​​​​* {
допуск: 0;
набивка: 0;
размер коробки: пограничный ящик;
}

.card-контейнер {
набивка: 20пикс.;
}

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

.content-карта,
.карточка продукта,
.profile-card {
допуск: 20пикс.;
отображать: сгибаться;
flex-направление: столбец;
граница: 2пикс.твердый#ccc;
радиус границы: 7пикс.;
Максимальная ширина: 250пикс.;
}

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

Стиль изображения с Максимальная ширина и радиус границы. Установите поля, семейство шрифтов и размер шрифта для h3. Для тега привязки удалите оформление текста и установите цвет, верхнее поле и размер шрифта.

.content-карта {
фон: #E9724C;
набивка: 10пикс.;
}

.content-картаизображение {
Максимальная ширина: 100%;
радиус границы: 5пикс.;
}

.content-картаh3 {
допуск: 10пикс. 0;
семейство шрифтов: моноширинный;
размер шрифта: 1.5рем;
}

.content-картаа {
украшение текста: никто;
цвет: #6f2ed8;
допуск:12px 0 7пикс. 0;
размер шрифта: 1бэр;
}

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

кнопка элемент содержит наибольшее количество атрибутов стиля для достижения эффекта призыва к действию. Выровняйте только кнопку вправо, установив для align-self значение flex-end в селекторе привязки.

.карточка продуктаизображение {
радиус границы: 5пикс. 5пикс. 0 0;
ширина: 100%;
}

.карточка продуктаh3 {
допуск: 5пикс. 10пикс.;
семейство шрифтов: моноширинный;
размер шрифта: 1.5рем;
}

.карточка продуктап {
допуск: 5пикс. 10пикс.;
семейство шрифтов: Грузия, 'разНовыйРимский', раз, с засечками;
}

.карточка продуктаа {
выровнять себя: гибкий конец;
}

.карточка продуктакнопка {
ширина: 100пикс.;
высота: 30пикс.;
допуск: 10пикс.;
граница: 1пикс.твердый#8f3642;
радиус границы: 4пикс.;
фоновый цвет: #FFC857;
вес шрифта: 700;
курсор: указатель;
}

Наконец, стилизуйте карточку профиля. Установите радиус границы в верхнем правом и верхнем левом углу изображения, чтобы он соответствовал контейнеру. Отрегулируйте размер изображения и подгоните его, если это необходимо. Используйте по крайней мере два типа шрифта и дополнительные цвета в тексте для четкости. Кроме того, вы можете сделать активный элемент, т.е. якорный тег — выделяйтесь граница.

.profile-cardизображение {
радиус границы: 5пикс. 5пикс. 0 0;
высота: 200пикс.;
объект-подходящий: крышка;
}

.profile-cardh3 {
допуск: 10пикс.;
семейство шрифтов: моноширинный;
размер шрифта: 1.5рем;
}

.profile-cardп: первый тип {
допуск:0px 10пикс.;
семейство шрифтов: 'разНовыйРимский', раз, с засечками;
цвет: васильковый;
}

.profile-cardп:последний тип {
допуск: 5пикс. 10пикс.;
размер шрифта: 0.9рем;
}

.profile-cardа {
украшение текста: никто;
допуск: 5пикс. 10пикс. 10пикс. 10пикс.;
набивка: 5пикс. 15пикс.;
выровнять себя: центр;
граница: 1пикс.твердыйвасильковый;
радиус границы: 15пикс.;
цвет: черный;
семейство шрифтов: моноширинный;
вес шрифта: 500;
}

После стилизации ваши карты должны выглядеть так:

Макет карты и гибкость

Отзывчивость жизненно важна для обеспечения беспрепятственного взаимодействия с интерфейсом на разных устройствах. Ты можешь используйте либо CSS Flexbox, либо CSS Grid для макета. Наконец, вы можете использовать медиа-запросы для отзывчивости.

Использование CSS Flexbox

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

Кроме того, установите выравнивание элементов и выравнивание содержания свойства по вашему желанию.

​​​​​​.card-контейнер {
набивка: 20пикс.;
отображать: сгибаться;
гибкая упаковка: сворачивать;
выравнивание элементов: центр;
выравнивание содержания: пространственно-равномерно;
}

Страница должна выглядеть так:

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

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

Установить flex-направление к столбец, поэтому карты складываются вертикально. Чтобы отображать карточки в центре экрана горизонтально, установите для свойств justify-content и align-items значение center:

@СМИ экран и (Максимальная ширина:480 пикселей) {
.card-контейнер {
flex-направление: столбец;
выравнивание содержания: центр;
выравнивание элементов: центр;
}
}

Чтобы увидеть эффект медиа-запроса, проверьте код на КодПен.

Использование сетки CSS

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

.card-контейнер {
набивка: 20пикс.;
отображать: сетка;
сетка-шаблон-столбцы: повторить(автоподгонка, мин Макс(300пикс., 1фр));
зазор сетки: 20пикс.;
выравнивание-элементы: центр;
}

Страница должна выглядеть так:

Для мобильных экранов примените медиа-запрос. В запросе измените макет сетки для меньших окон просмотра. Набор сетка-шаблон-столбцы к 1 франк чтобы каждая карта занимала всю ширину. Кроме того, установка выравнивание-элементы и выравнивание элементов свойства to center будут центрировать карты как по горизонтали, так и по вертикали.

@СМИ экран и (Максимальная ширина:480 пикселей) {
.card-контейнер {
сетка-шаблон-столбцы: 1фр;
выравнивание-элементы: центр;
выравнивание элементов: центр;
}
}

К объединение CSS Grid и медиазапросов, карточки будут разворачиваться на больших экранах и располагаться вертикально на меньших экранах, обеспечивая адаптивный макет карточки. Чтобы увидеть эффект медиа-запроса, проверьте код на КодПен.

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

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

  • Семантический HTML
  • Клавиатурная навигация
  • Стили фокусировки
  • Метки и роли ARIA
  • Альтернативный текст
  • Правильная структура заголовка
  • Цветовой контраст

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

Настройка и дальнейшее исследование

Вы можете пойти дальше, настроив компонент карты. Вот несколько идей, которые вы можете изучить:

  • Переходы и анимация
  • Стили изображения
  • Фон и цветовые схемы
  • Стили границы
  • Интерактивные элементы

Существует множество различных способов настройки компонентов карты, так что смело экспериментируйте.

Создавайте визуально привлекательные и отзывчивые компоненты карты

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

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