View

반응형

Text-level semantics

inline element

 

 <br>, <wbr> 

  • 줄 바꿈을 위한 태그
  •  <br> 을 사용하면 바로 줄 바꿈이 일어난다
  •  <wbr>  은 텍스트 박스에서 한 줄로 모두 표시가 안될 때에만 줄 바꿈이 일어나게 하는 것

 <a href="경로"> 

  • html의 핵심적인 요소이며 링크를 만들 때 사용한다.
  • href를 사용하여 경로를 지정해준다 자바스크립트로도 할 수 있지만 이는 웹 접근성에 위배된다.
  •  <a>  태그안에 또 다른  <a>, <button>  같은 인터렉션이 가능한 요소를 자식으로 두지 않는다.
  • 해쉬 링크 : 페이지의 안에서 이동할 때 사용한다. 아이디로 연결해 놓으면 click1 링크를 클릭 시 해당 부분으로 이동한다.
<a href="#one">click1</a>
<section id="one"></section>
  • 다운로드 : 해당하는 링크를 다운할수 있게 해 준다. (인터넷 익스플로러는 지원 불가 ㅋ)
<a href="./index.html" download>click</a>
  • 파일 이름 지정
<a href="./hello.hwp" download="a.hwp">hwp download click</a>
  • 파일 형식 지정, 확장자는 되도록 맞춰주어야 한다.
<a href="./hello.pdf" download="a.pdf">pdf download click</a>

 <b>, <strong> 

  • <b> 태그는 굵은 글꼴을 표현하고 싶을 때 사용한다. 별 다른 의미는 없으며 텍스트를 굵은 글씨로 표현하기 위한 용도이기 때문에 더 이상 사용하지 않는 요소
  • <strong>  태그는 굵은 글꼴과 더불어 강조의 의미를 갖고 있다.

 <i> , <em> 

  • <i> 태그는 기울임 글꼴을 나타낸다. 문단에서 주 언어와 다른 언어로 표현된 부분에 사용
  • <em> 태그는 같은 기울임 글꼴로 표현되지만 강조의 의미가 있다. 다만 <strong> 보다는 강조의 효과는 약하다. 내용상 강조할 부분이 있다면 사용 가능.

<img>

  •  <img>  태그는 html페이지에 이미지를 삽입할 때 사용하는 태그

 src(source) 

  •  <img>  태그는 src라는 필수 속성이 들어간다.
  • src 는 브라우저에게 이미지 파일의 위치와 파일명을 알려준다. 큰따옴표 안에 들어가는 경로는 '절대 경로' 이거나 '상대 경로' 이어야 한다.
  • 절대 경로는 '/(루트)' 로 시작
  • 상대 경로는 './' 로 시작
  • .. 점을 두 개 붙이면 상위 폴더를 탐색한다.

 alt (alternative text) 

  •  alt  속성은 이미지가 보이지 않을 때  alt  속성에 적힌 텍스트를 이미지 대신 보여준다.
  • 스크린리더와 같은 접근성을 위한 프로그램에 정보를 제공하기 위한 용도.
  • SEO(Search Engine Optimization) 에 도움을 준다.
  • alt값을 적지 않는다면 스크린리더는 이미지 파일명을 읽게 된다.(불필요한 상황 발생)
    • "" 이런 식으로 텍스트를 비워두면 읽지 않는다.

 srcset 

  • 반응형을 위해 사용한다.
  • 여러 해상도에 대응하여 브라우저가 최상의 이미지를 로딩하는데 도움을 준다.
  • 다양한 크기를 가지는 동일 이미지를 최소 2개 이상일 때 사용하며, 브라우저에게 이미지의 선택권을 위임하는 것

 x서술자, w서술자, sizes속성 

  • x서술자와 w서술자는 같이 사용하지 않는다.
    • 둘 다 사용하고 싶다면 자바스크립트로 쿼리를 날려서 사용할 수 있다.
  • x서술자는 화소의 밀도(pixel density)를 나타낸다. 디바이스의 화소 밀도에 따라 다른 이미지를 로딩하도록 브라우저에게 알려준다.
<img
  width="200px"
  srcset="img/logo_1.png 2x, img/logo_2.png 3x"
  src="a.png"
  alt="test"
/>
Pixel density : 동일한 면적에 들어가는 화소의 수를 의미합니다. 화소의 개수가 많을수록 더 높은 해상도의 기기임을 알 수 있습니다.
여러분이 보고 있는 화면의 화소 밀도를 알고 싶으시다면 브라우저 api를 이용해서 보실 수 있습니다. 개발자 화면의 콘솔 창에서 window.devicePixelRatio 명령어를 입력해보세요.
  • w서술자는 원본 이미지의 넓이가 차례로 300px, 600px, 700px 임을 브라우저에게 알려준다.
  • px이 아닌 w로 표기
  • 대체로 크기가 큰 것부터 작성한다.
<img
  width="200px"
  srcset="img/logo_3.png 700w, img/logo_2.png 600w, img/logo_1.png 300w"
  src="a.png"
  alt="test"
/>
w서술자와 x서술자는 동시에 사용할 수 없다. 또한 src속성을 유지하는 것은 필수다. srcset을 사용할 수 없는 브라우저를 대비해 사용하는 이미지 !
  •  sizes 속성은 뷰포트의 조건에 따라 이미지가 UI 안에서 차지하게 될 사이즈를 브라우저에게 알려준다.
<img
  srcset="img/logo_3.png 700w, img/logo_2.png 600w, img/logo_1.png 300w"
  sizes="(min-width: 960px) 250px,
			 (min-width: 620px) 150px,
			 300px"
  src="a.png"
  alt="test"
/>

브라우저는 우리가 제공한 이미지의 원본 사이즈와 뷰포트에 따른 이미지의 사이즈 정보를 통합해 가장 적절한 이미지를 로딩하게 된다.

웹 표준을 준수하기 위해  srcset  속성을 사용하면 그에 맞는  sizes  속성도 반드시 명시해 주어야 한다.

💡 sizes
속성을 사용할 때 주의할 점은 CSS를 통해 이미지를 컨트롤할 때 충돌의 가능성이 있다. (CSS 스타일이 sizes 속성에 우선) 협업할 때 반드시 사전에 동료들에게 어떠한 방법으로 반응형 이미지를 처리했는지 공유하도록 하자 !

<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>

 

 media 속성 

위의 코드에서 <source>요소 안의 media 속성이 있다.

<picture> 요소는 media 속성의 값을 통해 조건에 알맞은 이미지를 찾는다. 조건에 맞는 <source>요소안의 srcset 속성 값을 찾아 <img> 태그의 src에 넣어 화면에 보여주게 된다. 이러한 구조로 작동하기 때문에 <img> 요소가 없다면 이미지가 화면에 나타나지 않는다는 점!! 주의!!!

 

 type 속성 

이미지의 포맷 타입을 브라우저에게 알려준다.

<picture>
  <source srcset="babies.webp" type="image/webp" />
  <source srcset="babies.avif" type="image/avif" />
  <img src="babies.jpeg" alt="귀여운 아기 팽귄들" />
</picture>

html은 위에서부터 차례대로 브라우저가 지원하는 포맷인지 탐색하며 만약 지원하지 않는 포맷이라면 다음 <source>요소로 넘어간다.

만약 모든 <source>  요소의 이미지 사용이 불가능하다고 판단되면 최후에 적은 <img>요소의 이미지를 렌더링 한다.

최신 포맷의 이미지를 지원하고 싶다면 크로스 브라우징을 위해 <picture>요소와 함께 사용하는 것이 좋다.

 

점진적 향상 기법

기본적으로 예전 기술 환경에서 동작할 수 있는 기능을 구현해두고, 최신 기술을 사용할 수 있는 환경에서는 최신 기술을 제공하여 더 나은 사용자 경험을 제공할 수 있는 방법입니다.
이미지 포맷의 종류

GIF(Graphics Interchange Format) :256색의 컬러만 표현 가능하기 때문에 선명하진 않지만 용량이 적게 듭니다. 투명은 표현 가능하지만 그 정도를 조절하는 건 불가능하며, 때문에 그림자 표현도 불가능합니다. 애니메이션 처리가 가능합니다.

JPG/JPEG (Joint Photographic Expert Group image):매우 화소가 높고, 용량도 적지만 투명처리가 불가능합니다.

PNG (Portable Network Graphics) :웬만한 컬러는 모두 표현 가능하여 투명 영역을 처리 가능하지만 용량이 큽니다.

SVG (Scalable Vector Graphics) :SVG 형식의 벡터 이미지는 손실이나 품질 저하 없이 모든 크기에서 렌더링이 가능합니다. (벡터 이미지. 이미지가 코드로 작성. xml언어로 구현되어있다
단점: 이미지의 모양의 복잡도(컬러풀하고 고해상도의 이미지)가 올라가면 용량이 기하급수적으로 올라간다. 단순한 이미지만 사용하는 것을 권장. 복잡한 이미지도 가능하지만 용량이 커지기때문. 이모지나 로고 등에 자주 사용된다.

WebP (Web Picture Format) :압축률이 좋다고 소문난 JPEG 이미지에 비해 무려 용량은 70% 수준으로 낮지만 더 뛰어난 색상을 지원하는 포맷입니다. 그럼에도 불구하고 PNG처럼 투명도 표현 가능하며, GIF처럼 애니메이션 표현도 가능한 만능 포맷입니다.

AVIF (AV1 Image File Format) : WebP처럼 뛰어난 색상 표현, 애니메이션 지원, 투명도 표현 모두 가능하며 JPEG 이미지의 50% 수준인 용량을 자랑하는 차세대 이미지 포맷입니다. 아직 지원하지 않는 브라우저가 많음에 주의해야 합니다.
반응형

'FRONT-END > HTML' 카테고리의 다른 글

a 태그 속성값에 대하여 (짧은 지식)  (2) 2022.04.19
인라인요소 VS 블록요소  (0) 2022.04.11
지옥의< table> 행열행열...  (0) 2022.04.11
Block element 시멘틱 태그  (0) 2022.04.10
웹표준에 대해서  (0) 2022.04.10
Share Link
댓글
반응형
«   2026/02   »
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