Skip to content

fix(banner): use semi-transparent color for subtitle instead of opacity - #10508

Open
HromasDev wants to merge 1 commit into
VKCOM:masterfrom
HromasDev:fix/banner-subtitle-color-9935
Open

HromasDev wants to merge 1 commit into
VKCOM:masterfrom
HromasDev:fix/banner-subtitle-color-9935

Conversation

@HromasDev

@HromasDev HromasDev commented Nov 4, 2026 •

Copy link
Copy Markdown

  • Unit-тесты
  • e2e-тесты — снапшоты прогоняются в CI; для обычного текста рендер попиксельно идентичен (см. ниже), кейса со ссылками внутри subtitle в снапшотах нет — добавлять не стал, чтобы не расширять скоуп

Описание

В Banner (заметнее всего при mode="image") контент внутри subtitle / extraSubtitle становился прозрачным целиком: правило opacity: 0.72 применялось к боксу и гасило всё поддерево, включая вложенные элементы со своим цветом — например, Link.

В mode="image" цвет текста фиксированный и не зависит от темы (color_text_primary_invariably / color_text_contrast — всегда белый), поэтому приглушение выражено через цвет с альфой:

.modeImage .subtitle,
.modeImage .extraSubtitle,
.inverted .subtitle,
.inverted .extraSubtitle {
    color: rgba(255, 255, 255, 0.72);
    opacity: 1;
}
  • для обычного текста рендер попиксельно идентичен прежнему (белый @ 72% и раньше, и теперь) — существующие снапшоты не меняются;
  • вложенные элементы со своим цветом (ссылки) больше не гасятся;
  • базовое правило opacity: 0.72 для остальных mode оставлено без изменений — там цвет является токеном темы, и замены через color без выхода за пределы .browserslistrc (color-mix не поддерживается в Safari 15) нет. Если такой фикс нужен и для них — вижу путь через альфа-варианты токенов, готов сделать в этом же PR.

Изменения

  • Banner: для mode="image" (и inverted) subtitle / extraSubtitle — color: rgba(255, 255, 255, 0.72) + opacity: 1 вместо боксового opacity: 0.72.

Release notes

  • Banner: исправлена прозрачность вложенных элементов (например, ссылок) внутри subtitle и extraSubtitle в mode="image".

@HromasDev
HromasDev force-pushed the fix/banner-subtitle-color-9935 branch from c113a7e to 352ac1b Compare November 4, 2026 19:18
.subtitle,
.extraSubtitle {
opacity: 0.72;
color: color-mix(in srgb, currentColor 72%, transparent);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

color-mix не проходит по списку поддерживаемых браузеров

@HromasDev HromasDev Nov 5, 2026 •

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Спасибо, переделал (14687fa): в mode="image" цвет текста фиксированный, поэтому приглушение выражено как color: rgba(255,255,255,0.72) + opacity: 1 — рендер для обычного текста попиксельно идентичен прежнему, ссылки внутри subtitle больше не гасятся.

Для остальных mode оставил прежний opacity: 0.72: там цвет — токен темы, и без color-mix / relative color syntax (оба вне browserslist) аналогичной замены через color нет. Если для них тоже нужен фикс — вижу путь через альфа-варианты токенов в дизайн-системе, готов сделать.

@HromasDev
HromasDev force-pushed the fix/banner-subtitle-color-9935 branch from 352ac1b to 14687fa Compare November 5, 2026 15:55
@HromasDev
HromasDev marked this pull request as ready for review November 5, 2026 19:04
@HromasDev
HromasDev requested a review from a team as a code owner November 5, 2026 19:04

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Banner mode image прозрачный subtitle

2 participants