ContentCard

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

Связанные компоненты:

Загружается...

Внутренний тэг img получает следующие свойства: getRef, maxHeight, imageObjectFit, src, srcSet, alt, width, height, crossOrigin, decoding, loading, referrerPolicy, sizes, useMap, fetchPriority

Внутренний компонент Card получает следующие свойства: mode, getRootRef, Component, style, className.

Внутренний компонент Tappable получает все остальные свойства (кроме subhead, header, text и caption).

  • Component — базовый HTML-тег контейнера (по умолчанию li).
  • titleComponent — тег для обёртки заголовка (по умолчанию span).
  1. По умолчанию используется тег "li" для повышения доступности компонента. Вы можете прокинуть необходимый вам тег через prop Component. Ссылки на источники: статья про доступность карточек ↗.

  2. Всегда указывайте осмысленный alt:

    // Плохо
    <ContentCard src="/product.jpg" alt="Изображение" />
     
    // Хорошо
    <ContentCard src="/product.jpg" alt="Красный свитер с оленями" />
  3. Используйте семантические теги для заголовков:

    <ContentCard titleComponent="h3" title="Новости платформы" titleLevel="2" />
СвойствоОписание
activatedboolean

Позволяет управлять activated-состоянием извне.

По умолчанию: -
activeClassNamestring

Deprecated: Since 7.3.0.

Свойство устарело и будет удалено в v8, используйте свойство activeMode.

По умолчанию: -
activeEffectDelaynumber

Длительность показа active-состояния.

По умолчанию: -
activeModeStateModeLiteral

Стиль подсветки active-состояния. Если передать произвольную строку, она добавится как css-класс во время active.

По умолчанию: -
baseClassNamestring | false

Deprecated: Since 7.3.0.

Свойство устарело и будет удалено в v8, используйте свойство className.

По умолчанию: -
baseStyleCSSProperties

Deprecated: Since 7.3.0.

Свойство устарело и будет удалено в v8, используйте свойство style.

По умолчанию: -
borderRadiusMode"auto" | "inherit"

Задает border-radius элементу В режиме auto на маленьких экранах border-radius: 0, иначе определяется токеном --vkui--size_border_radius--regular.

По умолчанию: -
captionReactNode

Нижний текст.

По умолчанию: -
ComponentElementType<any, keyof IntrinsicElements>
По умолчанию: li
descriptionReactNode

Текст.

По умолчанию: -
focusVisibleModeFocusVisibleMode

Стиль аутлайна focus visible. Если передать произвольную строку, она добавится как css-класс при :focus-visible

По умолчанию: -
getRefRef<HTMLImageElement>
По умолчанию: -
getRootRefRef<HTMLDivElement>
По умолчанию: -
hasActiveboolean

Указывает, должен ли компонент реагировать на active-состояние.

По умолчанию: false
hasHoverboolean

Указывает, должен ли компонент реагировать на hover-состояние.

По умолчанию: false
hasHoverWithChildrenboolean

Позволяет родительскому компоненту иметь hovered-cостояние при наведении на любой дочерний элемент. По умолчанию состояние hovered у родителя сбрасывается.

Присваивается родителькому компоненту.

По умолчанию: -
hoverClassNamestring

Deprecated: Since 7.3.0.

Свойство устарело и будет удалено в v8, используйте свойство hoverMode.

По умолчанию: -
hoveredboolean

Позволяет управлять hovered-состоянием извне.

По умолчанию: -
hoverModeStateModeLiteral

Стиль подсветки hover-состояния. Если передать произвольную строку, она добавится как css-класс во время hover.

По умолчанию: -
imageObjectFitObjectFit

Пользовательское значения стиля object-fit для картинки Подробнее можно почитать в документации ↗.

По умолчанию: -
maxHeightnumber

Максимальная высота изображения.

По умолчанию: -
mode"plain" | "shadow" | "tint" | "outline" | "outline-tint"

Внешний вид карточки.

По умолчанию: shadow
overTitleReactNode

Текст над заголовком.

По умолчанию: -
titleReactNode

Заголовок.

По умолчанию: -
titleComponentElementType<any, keyof IntrinsicElements>

Позволяет поменять тег используемый для заголовка.

По умолчанию: span
unlockParentHoverboolean

Позволяет родительскому компоненту показывать hovered-состояние при наведении на текущий дочерний компонент.

Присваивается дочернему компоненту.

По умолчанию: -