Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: При определённых условиях у ImageBase при загруженном изображении в углах может проглядывать фон #6850

Closed
mendrew opened this issue Apr 24, 2024 · 1 comment · Fixed by #6847
Assignees
Milestone

Comments

@mendrew
Copy link
Contributor

mendrew commented Apr 24, 2024

Описание

Иногда, у достаточно светлых картинок можно увидеть фон позади, если они были обрезаны за счёт родительского элемента.

Версия

6.0.2

В каких браузерах воспроизводится проблема?

No response

Шаги воспроизведения

Необходимо иметь достаточно светлое изображение, вставленное в родителя с border-radius и overflow: hidden.
Для того, чтобы заметить в районе скруглений часть фона ImageBase нужно фон сделать отличным от основного фона приложения, например в светлой теме обернув ImageBase в <AppearanceProvider value="dark">, чтобы фон ImageBase стал темнее и было видно как он выглядывает позади картинки.

Ожидаемое поведение

Фон ImageBase не должен выглядывать из-за изображения.

Скриншоты

image-parent-with-border-radius-image-does-not-have-visible-corners-from-image-background-android-chromium-light-1-snap-expected

Пример с воспроизведением

https://codesandbox.io/p/sandbox/still-dawn-kzr5lf

@mendrew mendrew self-assigned this Apr 24, 2024
@mendrew mendrew added this to the v6.0.3 milestone Apr 24, 2024
@SevereCloud SevereCloud modified the milestones: v6.0.3, v6.1.1 May 15, 2024
@mendrew mendrew modified the milestones: v6.1.1, v6.1.0 May 21, 2024
mendrew added a commit that referenced this issue May 21, 2024
Согласно #6850 иногда фон `ImageBase` выглядывает из-за изображение, особенно, если фон `ImageBase` отличается по цвету от фона контейнера.

Довольно интересная особенность, проявляющаяся при абсолютном позиционировании `img` внутри `ImageBase`, когда у родительский элемент `ImageBase` обрезает края с помощью `border-radius` и o`verflow: hidden`.
Проблема связана со сглаживанием углов в бразузерах. Проблема старая и красивого решения для неё нет.
В хроме сработало бы выставление фона на самом компоненте img, но это не работает в Firefox.
Как вариант мы могли бы немного уменьшать фон, чтобы он так не выглядывал, но с разным значением border-radius надо добавлять разные отступы для фона.
Лучше всего просто фон убирать, если изображение загрузилось.
@vkcom-publisher
Copy link
Contributor

v6.1.0 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

4 participants