- 요소안의 컨텐츠의 크기만큼만 영역을 점유
- 자식으로 Sections, Grouping Contents를 배치X
<br>
, <wbr>
<br>
: 줄바꿈 태그
<wbr>
은 텍스트 박스에서 한 줄로 모두 표시가 안될 때에만 줄바꿈이 일어나게 하는 역할white-space : nowrap
해도 줄바꿈 일어난다
<p>
<!-- 공백병합 -->
Lorem
ipsum <br>
<br>
<br>
dolor sit amet
</p>
<p style="word-break:keep-all">풀밭에같지전인노년에게서<wbr>노년에게서청춘의청춘의청춘의</p>
<!-- CJK언어의 word-break 속성은 기본적으로 break-all로 되어 있습니다. 영어와 차이를 비교해 보세요 :) -->
<p style="word-break:break-all">Lorem ipsum, dolor sit amet <wbr>consecteturadipisicing elit</p>
- word-wrap은 비아시아 언어 줄바꿈/ word-break은 CJK(China,Japan,Korea)언어 줄바꿈 할 때 주로 사용
word-break: normal | break-all | keep-all | initial | inherit;
- normal : CJK 문자는 글자 기준으로, CJK 이외의 문자는 단어 기준으로 줄바꿈
- break-all : 글자 기준
- keep-all : 단어 기준
- initial : 기본값
- inherit : 부모 요소의 속성값을 상속
<a href="경로">
<a>
요소는 하이퍼 텍스트 즉, 링크를 만들 때 사용href 속성
을 통해경로를 지정
href 속성을 사용하지 않고
자바스크립트로 경로를 지정할 수도 있지만 이는 웹 접근성에 위배됨으로 href 속성을 사용하자~- html 문법상 sections, grouping content 요소들은 텍스트 레벨 요소의 자식으로 사용되지 않지만, 앵커 태그만 예외적으로 sections, grouping content 요소를 자식으로 할 수 있다
- 또한
<a>
요소안의 자식으로는<a>
요소나<button>
과 같이 사용자와 인터렉션이 가능한 요소를 자식으로 두지 않는다<a href="https://www.naver.com">click</a> <a href="https://www.naver.com" target="_blank">click</a> //target="_blank" 쓰면 새창에 anchor연결 <a href="./index.html">click</a> <a href="#three">click</a> <!-- 해쉬 링크 --> //id는 section의 이름표, 클릭하면 해당 위치로 이동, 해쉬링크는 id에만 사용 가능 <a href="./index.html" download>click</a> <br> <a href="./hello.hwp">hwp click</a> <br> <a href="./hello.hwp" download="a.hwp">hwp download click</a> <br> <a href="./hello.pdf">pdf click</a> <br> <a href="./hello.pdf" download="a.pdf">pdf download click</a> <a href="tel:+82027777777">(02)777-7777</a> / <a href="mailto:hello@gmail.com">hello@gmail.com</a>
scroll-behavior : smooth
<b>, <strong>
<b>
태그는 굵은 글꼴을 표현하고 싶을 때 사용합니다. 별 다른 의미는 없으며 오직 텍스트를 굵은 글씨로 표현하기 위한 용도이기 때문에 더 이상 사용x 쓰지말자..스타일을 위해 만들어진 태그 (css 나오기 전에)<strong>
태그는 굵은 글꼴에 중요도를 더해 강조
중요도를 더 강조하고 싶을 때에는 strong을 중첩하기도 합니다.
얘는 강조의 의미가 있으니까 시멘틱
<i>, <em>
<i>
태그는 기울임 글꼴을 나타냅니다. 이탤릭의 약자 HTML5에서는 전문 용어, 문단에서 주 언어와 다른 언어로 표현된 부분(주 언어가 한글이지만 영어로 표기되었을 경우), 소설이라면 등장인물의 생각이 표기되어 있는 부분 등 어떤 이유로 주위와 구분해야 하는 부분을 표현하기 위해 사용합니다. i태그는 의미가 있다~~<em>
태그는 같은 기울임 글꼴로 표현되지만 강조의 의미가 있습니다.
<dfn>
- 현재 문맥에서 정의하고 있는 용어
- 문서에서 최초로 나타났을 때
- dfn의 가장 가까운 부모가
<p>
혹은<dt><dd>
쌍,<section>
요소일 경우 그 컨텐츠를 dfn의 정의에 대한 설명으로 간주
<abbr>
<abbr>
태그는 준말, 약자를 나타내고 싶을 때 사용합니다. 보통은 홀로 쓰이고 dfn 태그로 감싸주기도 합니다.
<sup>, <sub>
<sup>
태그는 윗첨자,<sub>
태그는 아랫첨자.- 작은 글자를 표현하는 용도로는 사용하지 않으며 화학기호나 수학공식 등 첨자 기호를 이용해야 하는 곳에서만 사용하기
<span>
- 별다른 의미가 없음 보통 줄 바꿈 없이 영역을 묶는 용도로 사용
- div와 용도 일치 , 디자인적으로 묶어야할때 div태그와 차이는 줄바꿈이 되느냐 안 되느냐
- 여러 요소를 묶어 컨트롤하기 위한 영역으로 id를 주거나 클래스를 사용하기도 한다
- div와 마찬가지로 앵간하면 쓰지말기
<img>
<img src="jeju.jpg" alt=""> <!-- alt 비워놓으면 스크린 리더가 읽지 않는다 --> <img src="jeju.jpg"> <!-- 스크린리더가 'jeju'를 읽는다 --> <img src="jeju.jpg" alt="이미지"> <!-- 스크린리더가 '이미지'를 읽는다 -->
alt는 최대한 상세하게 쓰자 스크린리더가 읽어도 무슨 사진인지 알 수 있도록!
srcset
srcset
속성을 사용하면 여러 해상도에 대응하여 브라우저가 최상의 이미지를 로딩srcset
속성은 다양한 크기를 가지는 동일 이미지를 최소 2개 이상 사용할 때 사용하며, 브라우저에게 이미지의 선택권을 위임하는 속성
이미지
- 상업적 용도 사용가능
- 출처 안 밝혀도 됨
- 사업적 용도로 사용하여 돈을 벌었는지가 주요 쟁점
- 사용을 안하는 것을 권고
폰트- 무료폰트(개인 무료 폰트, 상업 용도 무료폰트)
- 대기업 무료폰트 (한글은 제외, 내용증명 날라온다~)
- 폰트는 저작권 확인하고 써야한다
절대경로 : 절대적인 경로 (내 파일이 어디있는지 상관x)
ex) 이미지 주소(https://www.~~~
) orC:\Users\j****\*****\바탕 화면\지현\개발개발\멋사FE\수업\HTML\jeju.jpg
<<내 파일이다 ㅎㅎ
상대경로 : 현재 내 위치 기준
./
현재 폴더../
상위폴더
- ex)
../img/jeju.jpg
하면 상위폴더의 img폴더의 jeju.jpg 파일
- x서술자는 화소의 밀도(pixel density)를 나타냅니다. 디바이스의 화소 밀도에 따른 이미지를 로딩하도록 브라우저에 알려줍니다.
<img width="200px" srcset="img/logo_1.png 2x, img/logo_2.png 3x" src="jeju.jpg" alt="test">```
- 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="jeju.jpg" alt="test">
💡 w서술자와 x서술자는 동시에 사용할 수 없습니다. 또한
src
속성을 유지하는 것은 필수입니다.srcset
을 사용할 수 없는 브라우저(Internet Explorer)를 대비해 사용하는 이미지입니다.
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="jeju.png" alt="test">
html에 적용한 size 속성과 css의 size 속성이 충돌할 수 있기 때문에 주의!
<picture>
<picture>
요소는<source>
요소와<img>
요소를 통해 각기 다른 디스플레이 혹은 디바이스에 따라 조건에 맞는 이미지를 보여주는 요소입니다.<img>
요소의srcset
이 화면에 따른 이미지의 크기를 조절한다면<picture>
요소는 이미지 포맷 자체를 변경 할 수 있습니다.css media쿼리 이용할 수도 있는데 html 마크업 내에서 picture을..? 흠 🤔 나라면 css에서 ... 하고싶다.... 그래도 알아야지.....~!....
위에서부터 차례대로 브라우저가 지원하는 포맷인지 탐색하며 만약 지원하지 않는 포맷이라고 판단되면 다음
<source>
요소로 넘어갑니다.
--> 만약 모든<source>
요소의 이미지 사용이 불가능하면 최후에<img>
요소의 이미지를 랜더링 합니다.
때문에 WebP나 AVIF 와 같은 최신 포맷의 이미지를 지원하고 싶다면 크로스브라우징을 위해<picture>
요소와 함께 사용 하는것이 좋습니다.
이러한 방식의 크로스브라우징 기법을 ‘점진적 향상기법’이라고 합니다.💡 점진적 향상기법
기본적으로 예전 기술 환경에서 동작할 수 있는 기능을 구현해두고, 최신 기술을 사용할 수 있는 환경에서는 최신 기술을 제공하여 더 나은 사용자 경험을 제공하는 방법
<iframe>
- iframe은 현재 HTML 페이지에서 또 다른 HTML 페이지를 보여주고 싶을 때 사용
- iframe은 width 혹은 height 속성으로 크기를 조절
- 따로 값을 설정하지 않는다면 기본값 height는 150px, width는 300px
<iframe src="링크"></iframe>
속성값<iframe width="1280" height="720" src="https://www.youtube.com/embed/-iuX3r8PSzU" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; p icture-in-picture" allowfullscreen> </iframe>
frameborder
: 테두리를 그려줄지 결정합니다. 0 혹은 1의 값을 가집니다. 이제 사용 x CSS의 border 속성쓴다..~allow
: iframe 에서 허용할 기능들을 지정allowfullscreen
: 전체화면을 지원
<video>
<video src="batman.mp4" controls autoplay loop width="450" height="300"></video>
속성값
src
: 브라우저에게 비디오 파일의 위치 및 파일명controls
: 영상 파일을 재생하는데 필요한 컨트롤러autoplay
: 로딩이 완료되면 자동으로 영상 파일을 재생loop
: 영상이 종료되면 다시 반복해서 재생
<크로스브라우징 할 때 유용한 속성값>preload
(기본 값은 브라우저마다 다름
- none : 비디오 파일을 미리 로딩X 서버가 최소한의 트래픽을 유지하며 페이지 로딩이 좀 더 빨라집니다.
- metadata : 비디오 파일을 미리 로딩하지 않지만 파일의 메타데이터(예를 들어서 영상의 길이)를 미리 가져오도록 합니다.
- auto : 비디오 파일을 미리 로딩하여 사용자가 바로 영상을 볼 수 있도록 준비합니다.
-poster
: 영상이 로딩 중 일 때 대신해서 화면에 보여줄 이미지