<!--현재 페이지에서 https://www.naver.com로 이동-->
<a href="https://www.naver.com">click</a>
<!--새 페이지에서 https://www.naver.com로 이동-->
<a href="https://www.naver.com" target="_blank">click</a>
<!--같은 폴더에 있는 index.html로 이동-->
<a href="./index.html">click</a>
<!--페이지 내에서 id가 three로 이동-->
<a href="#three">click</a> <!-- 해쉬 링크 -->
<!--같은 폴더에 있는 index.html 다운로드-->
<a href="./index.html" download>click</a>
<!-- 같은 폴더에 있는 hello.hwp로 이동-->
<a href="./hello.hwp">hwp click</a>
<!--같은 폴더에 있는 hello.hwp를 a.hwp라는 이름으로 다운로드-->
<a href="./hello.hwp" download="a.hwp">hwp download click</a>
<!-- 같은 폴더에 있는 hello.pdf로 이동-->
<a href="./hello.pdf">pdf click</a>
<!--같은 폴더에 있는 hello.hwp를 a.pdf라는 이름으로 다운로드-->
<a href="./hello.pdf" download="a.pdf">pdf download click</a>
💡 internet explore에서는 다운로드 기능 미지원
W3Schools Free Online Web Tutorials
이미지의 위치(경로)를 작성하는 곳이다.
큰따옴표 안에 들어가는 경로는 절대경로이거나 상대경로이어야 한다.
- 절대경로
- 상대경로
이미지가 보이지 않을 때 나타나는 내용(텍스트)
스크린 리더가 읽을 수 있다.
모든 이미징에 설명이 필요할까? NO. 과도한 정보는 오히려 정보를 얻기에 불편할 수 있다.
의미가 없는, 장식적인 요소는 사용하지 않는다.
alt값이 없는 이미지는 링크명을 읽는다. 그래서 alt=””로 alt값을 비워두면 읽지 않는다.
<img
width="200px"
srcset="img/logo_1.png 2x,
img/logo_2.png 3x
src="a.jpg"
alt="test">
💡 개발자 화면 콘솔창에서 window.devicePixelRatio
를 입력하면 화소 밀도를 알 수 있다.
<img
<!--실제로 보여지는 크키-->
width="200px"
<!--디바이스가 선택가능한 목록-->
srcset="img/logo_1.png 300w,
img/logo_2.png 600w,
img/logo_3.png 700w"
src="a.jpg"
alt="test">
💡 internet explore에서는 작동하지 않는다.
💡 sizes
속성을 사용할 때 주의할 점은 CSS를 통한 이미지의 사이즈를 컨트롤 하는 방법과 충돌 할 수 있다는 점 입니다. (CSS 스타일이 sizes
속성에 우선합니다.) 협업할 때는 사전에 반드시 동료들에게 어떠한 방법으로 반응형 이미지를 처리했는지 공유합시다.
<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>
요소가 없다면 이미지가 화면에 나타나지 않는다.
<picture>
와 <source>
요소 자체는 이미지를 표현하지 않는다.
<picture>
<source srcset="babies.webp" type="image/webp">
<source srcset="babies.avif" type="image/avif">
<img src="babies.jpeg" alt="귀여운 아기 팽귄들" type="image/png">
</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% 수준인 용량을 자랑하는 차세대 이미지 포맷입니다. 아직 지원하지 않는 브라우저가 많음에 주의해야합니다.