<img>
태그src=/images/peng.png"
src=./images/peng.png"
SEO(Search Engine Optimization)
에 도움을 주기도 함(브라우저에 이미지에 대한 정보를 전달함) -> ex. 고양이라는 단어를 검색 했을 때 alt 속성에 고양이가 포함되어있으면 검색 결과에 포함될 수 있도록 함동일 이미지
를 최소 2개 이상 사용할 때 사용함, 브라우저에게 이미지의 선택권을 위임하는 속성<img
width="200px"
srcset="img/logo_1.png 2x,
img/logo_2.png 3x"
src="a.png"
alt="test">
1픽셀에 2개의 화소가 들어가면 logo_1.png 이미지를 넣어주고
1픽셀에 3개의 화소가 들어가면 logo_2.png 이미지를 넣는다.
window.devicePixelRatio
명령어를 입력하면 화소의 수를 확인할 수 있다.<img
width="200px"
srcset="img/logo_3.png 700w,
img/logo_2.png 600w,
img/logo_1.png 300w"
src="a.png"
alt="test">
src
속성을 유지하는 것은 필수이다. srcset
사용할 수 없는 브라우저가 있을 수 있기 때문에 src
속성을 필수적으로 사용해줘야한다.<img
srcset="img/logo_3.png 700w,
img/logo_2.png 600w,
img/logo_1.png 300w"
sizes="(min-width: 960px) 250px, //960이상이면 250px
(min-width: 620px) 150px, //620이상이면 150px로 표시
300px"//둘다 아니면(620 미만이면) 300px으로 표시해라
src="a.png"
alt="test">
-제공한 이미지의 원본 사이즈(srcset속성)와 뷰 포트에 따른 이미지 사이즈 정보(sizes)를 통합해 가장 적절한 이미지를 로딩한다.
주의할점 CSS를 통한 이미지 사이즈를 컨트롤 하는 방법(반응형)과 충돌할 수 있기 때문에 협업 전 어떠한 방법으로 반응형 이미지를 처리했는지 공유할 것!
<picture>
태그picture
요소는 source
요소와 img
요소를 통해 각기 다른 디스플레이 혹은 디바이스에 따라 조건에 맞는 이미지를 보여주는 요소img
요소의 srcset
이 화면에 따른 이미지 크기를 조절한다면, picture 요소는 이미지 포맷 자체를 변경 할 수 있다.<picture>
<source srcset="babies_large.jpeg" media="(min-width:960px)">
<source srcset="babies.jpeg" media="(min-width:620px)">
<img src="babies_small.jpeg" alt="귀여운 아기 팽귄들">
</picture>
picture
요소는 media
속성의 값을 통해 조건에 알맞는 이미지를 찾게 된다.source
요소 안에 srcset
속성값을 값을 찾아 img
태그의 src
에 넣어 화면에 보여준다.img
요소가 없다면 이미지가 화면에 나타나지 않는 점을 주의(picture
태그 내에서 img 자식 코드는 필수!!)picture
와 source
요소 자체는 이미지를 표현하지 않는다. <picture>
<source srcset="babies.webp" type="image/webp">
<source srcset="babies.avif" type="image/avif">
<img src="babies.jpeg" alt="귀여운 아기 팽귄들">
</picture>
💡점진적 향상기법
기본적으로 예전 기술 환경에서 동작할 수 있는 기능을 구현해두고, 최신 기술을 사용할 수 있는 환경에서는 최신 기술을 제공하여 더 나은 사용자 경험을 제공할 수 있는 방법
💡이미지 포맷 종류
종류 | 줄임말 | 설명 |
---|---|---|
GIF | Graphics Interchange Format | 256색의 컬러만 표현 가능하기 때문에 선명하진 않지만 용량이 적게 듭니다. 투명은 표현 가능하지만 그 정도를 조절하는건 불가능하며, 때문에 그림자 표현도 불가능합니다. 애니메이션 처리가 가능합니다. |
JPG/JPEG | Joint Photographic Expert Group image | 매우 화소가 높고, 용량도 적지만 투명처리가 불가능합니다. |
PNG | Portable Network Graphics | 왠만한 컬러는 모두 표현 가능하여 투명 영역을 처리 가능하지만 용량이 큽니다. |
SVG | Scalable Vector Graphics | SVG 형식의 벡터 이미지는 손실이나 품질 저하 없이 모든 크기에서 렌더링이 가능합니다. |
WebP | Web Picture Format | 압축률이 좋다고 소문난 JPEG 이미지에 비해 무려 용량은 70% 수준으로 낮지만 더 뛰어난 색상을 지원하는 포맷입니다. 그럼에도 불구하고 PNG 처럼 투명도 표현 가능하며, GIF 처럼 애니메이션 표현도 가능한 만능 포맷입니다. |
AVIF | AV1 Image File Format | WebP 처럼 뛰어난 색상표현, 애니메이션 지원, 투명도 표현 모두 가능하며 JPEG 이미지의 50% 수준인 용량을 자랑하는 차세대 이미지 포맷입니다. 아직 지원하지 않는 브라우저가 많음에 주의해야합니다. |
|