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

Fixed incorrect aspect ratio issue with object-fit #191

Merged
merged 2 commits into from
Aug 1, 2024

Conversation

nhistory
Copy link
Contributor

@nhistory nhistory commented Aug 1, 2024

Checklist before merging

  • Link an issue with the pull request
  • Ensure no errors or warnings on the browser console
  • Avoid additional major pushes after approval (if necessary, request a new review)

이슈가 발생하는 이미지 태그에 object-fit: contain; 속성을 추가하여 해결

image

@nhistory nhistory requested a review from a team as a code owner August 1, 2024 16:14

@media only screen and (min-width: 768px) {
width: 60px;
height: 60px;
margin: 50px 0;
object-fit: contain;
Copy link
Member

Choose a reason for hiding this comment

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

위에 적용한 스타일이 아래에 그대로 적용되어서 여기는 작성할 필요 없을 것 같습니다

Suggested change
object-fit: contain;

@@ -27,6 +27,7 @@ class Image extends HTMLElement {
return css`
img {
display: block;
object-fit: contain;
Copy link
Contributor

@DaleSeo DaleSeo Aug 1, 2024

Choose a reason for hiding this comment

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

저희 전반적인 구현을 보시면 이미지의 높이가 이미지의 본래 가로 세로 비율에 맞춰서 자동으로 결정이 되도록 height 속성을 특정값으로 설정하는 경우는 없는 것 같습니다. 그런데 좀 특이하게도 아래 코드를 보시면, <ds-image> 요소에 일일이 height 속성을 auto로 설정해놓은 것을 볼 수 있습니다. 저는 혹시 Lighgthouse 엔진이 이 부분을 고려하지 않고 경고를 주지 않았나 의심이 됩니다. 한번 아래 코드에서 height="auto"만 제거해보시고 Lighthouse를 돌려보시면 어떨까요?

제가 알기로 object-fit 속성은 <img> 요소의 widthheight 속성을 둘 다 특정값으로 명시해줬을 때 어떤 효력을 발휘하거든요. 불필요한 CSS rule은 언제나 유지보수를 힘들게 하는 것 같아요. 혹시나 통할까 하여 제안드려 봅니다 :)

<ds-image
slot="mobile-image"
src="images/vertical-language.png"
alt="languages"
width="100%"
height="auto"
></ds-image>
<ds-image
slot="tablet-image"
src="images/horizontal-language.png"
alt="languages"
width="100%"
height="auto"
></ds-image>
<ds-image
slot="desktop-image"
src="images/vertical-language.png"
alt="languages"
width="100%"
height="auto"
></ds-image>

Copy link
Contributor Author

Choose a reason for hiding this comment

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

말씀하신대로 height="auto"object-fit을 제거하고 테스트 해보았는데 incorrect aspect ratio 이슈가 다시 생겨났습니다.

image

눈으로 보기에 ratio 문제가 없더라도 displayed ratio와 actual ratio 차이가 크고 해당 이미지가 상위 컨테이너를 벗어날 위험이 있다고 판단되면 라이트하우스가 이슈를 만들어내는 것 같습니다. ㅜ

Copy link
Contributor

@DaleSeo DaleSeo Aug 1, 2024

Choose a reason for hiding this comment

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

아이쿠 안 통하는 군요. 시간내서 시도해주셔서 감사합니다. 네 그럼 요렇게 조치 하시죠!

@nhistory nhistory merged commit 0e4943c into main Aug 1, 2024
@nhistory nhistory deleted the sehwan/189-incorrect-aspect-ratio branch August 1, 2024 21:20
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.

[lighthouse best practice] fix: Displays images with incorrect aspect ratio
3 participants