티스토리 뷰
이미지 마크업 최적화
브라우저에서 이미지를 불러와 다운로드하게 될 때 용량이 작을수록 최적화를 할 수 있다.
최적화 하는 방법에 대해 알아보자
정적이미지 최적화
히어로이미지 같은 정적이미지의 경우 확장자를 webp로 사용하여 저장하거나 Tinypng 사이트를 이용하여 용량을 줄인적 있다.
- webp 변환
- TinyPng 사이트 이용하기Webp 확장자 사용하기webp확장자를 사용할 경우 png나 jpg 확장자 보다 일반적으로 50%의 용량을 줄일 수 있게된다.
현재 거의 모든 브라우저에서 지원함으로 사용할 수 있다. - 현재 ie를 제외한 모든 브라우저에서 지원함으로 webp를 사용하자
- sharp 라이브러리를 사용하여 확장자를 webp로 변경 할 수 있다.
링크: https://www.npmjs.com/package/sharp
TinyPng
정적이미지의 경우 TinyPng 사이트에서 이미지 크기를 더 줄일 수 있게 서비스를 제공한다
picture tag 사용하기 (참고)
webp를 지원하지 브라우저에서 사용하게 될 경우 picture, source 태그를 이용하여 분기 할 수 있다.
<picture>
<source srcset="a.webp" type="image/webp" />
<img src="a.png" />
- source에서 media 속성을 이용해서 미디어 쿼리를 사용할 수도 있다.
<picture> <source srcset="a.2x.webp, a.1x.webp" type="image/webp" /> <img srcset="a.2x.png" src="a.1x.png" />
- retina display 지원하기
- retina display를 위해 2x를 추가하여 제공, retina가 아니면 1x로 제공이된다.
- 2x로 제공되는 원리는 화면의 크기를 2배가 된것을 리사이징으로 줄이면 더 해상도 높은 이미지를 제공받을 수 있다.
lazy-loading
이미지 지연로딩: 이미지를 전체다운하지 않고 뷰포트에 있는 부분만 로딩하고 슬라이드 될 시에 다시 이미지를 다운로드를 진행, 성능 상 below the fold 상황에서만 적용하는 것이 좋다. above the fold 상황에서 사용하면 오히려 이미지 로딩이 느려지는 현상이 발생한다.
디코딩 지연 - 이미지 외의 다른콘텐츠가 웹페이지에 빠르게 될 수 있게 도와준다. 병렬처리화
<img
loading="lazy" // 이미지가 브라우저 화면안에 들어와야 화면에 표시한다.
decoding="async" // 다른 콘텐츠 지연을 피하기 위해 병렬적으로 처리한다
/>
'프론트엔드' 카테고리의 다른 글
[프론트엔드] 크로스 브라우징 (0) | 2023.03.08 |
---|---|
[CSS]우선순위와 캐스캐이드 (0) | 2023.03.08 |
HTML 의미론 (0) | 2023.03.08 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 선언적 UI
- 불량 사용자 자바스크립트
- 에러핸들링
- 가장 긴 짝수 연속한 부분 수열
- useCallback과 useMemo 사용
- 미로탈출 명령어
- storybook scss import
- node 버전 마이그레이션
- node version yarn berry
- React useCallback
- storybook react is not defiend 해결
- React useMemo
- serverless 배포
- serverless nestjs
- nextjs 에러핸들링
- 서비스 디자인 패턴
- react suspense
- 백준 1600번
- 1600 파이썬
- 자바스크립트
- nestjs 배포하기
- 표현 가능한 이진트리
- 서버사이드 error handling
- javascript
- CSS
- 백준 22862
- storybook scss이슈
- suspense 장점
- nextjs errorboundary
- 관심사 분리하기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함