-
Notifications
You must be signed in to change notification settings - Fork 185
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
Hide ImageBase__img when img is loaded #6847
Hide ImageBase__img when img is loaded #6847
Conversation
size-limit report 📦
|
This pull request is automatically built and testable in CodeSandbox. To see build info of the built libraries, click here or the icon next to each commit SHA. |
e2e tests |
👀 Docs deployed
Commit e434451 |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #6847 +/- ##
==========================================
- Coverage 83.35% 83.35% -0.01%
==========================================
Files 351 351
Lines 10470 10469 -1
Branches 3475 3475
==========================================
- Hits 8727 8726 -1
Misses 1743 1743
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
О, кстати, метко подмечено, у меня глаз замылился в связке с Спасибо! |
PR закрыт из-за отсутствия активности в течение последних 14 дней. Если это произошло по ошибке или изменения все ещё актуальны, откройте PR повторно. |
For some reasone when grandparent of ImageBase__img has border-radius and overflow: hidden we see background of ImageBase at the corner behind ImageBase__img, especially it is visible when the ImageBase__img has same colors as page background. Seems like this is due to ImageBase__image is absolutely positioned, so, parent background is partly visible at corners. The solution is to make ImageBase__img static. This is actully how it used to be in Avatar component before it has been refactored to ImageBase. see ae00ed7 and cdc74df where .Avatar__img has been relatively positioned. Also, we remove negative z-index from img as it doesn't change much results in e2e tests. Negative z-index was introduced in 9d47c34
To avoid antializing issue with background we show background on theparent element of img (.ImageBase) while img is loading or in case there is no src at all. But when img is loaded we disable background on .ImageBase and show background on img itself
b5bdfa1
to
ee2ea96
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚀
Описание
Согласно #6850 иногда фон
ImageBase
выглядывает из-за изображение, особенно, если фонImageBase
отличается по цвету от фона контейнера.Довольно интересная особенность, проявляющаяся при абсолютном позиционировании
img
внутриImageBase
, когда у родительский элементImageBase
обрезает края с помощьюborder-radius
и overflow: hidden
.Проблема связана со сглаживанием углов в бразузерах. Проблема старая и красивого решения для неё нет.
В хроме сработало бы выставление фона на самом компоненте img, но это не работает в Firefox.
Как вариант мы могли бы немного уменьшать фон, чтобы он так не выглядывал, но с разным значением border-radius надо добавлять разные отступы для фона.
Лучше всего просто фон убирать, если изображение загрузилось.
Изменения
В качестве решения мы убираем фон после загрузки изображения.
Изображения