일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
31 |
- aws
- 꿀단집
- Python
- 중간이들
- 개발자취업
- Cookie
- node.js
- HTML
- nestjs
- 방송대
- 유노코딩
- TiL
- MySQL
- 방송대컴퓨터과학과
- 데이터베이스시스템
- 코드잇
- 프로그래머스
- SQL
- redis
- 99클럽
- 파이썬
- 코딩테스트준비
- 코딩테스트
- 엘리스sw트랙
- 파이썬프로그래밍기초
- CSS
- Git
- 자격증
- JavaScript
- 항해99
- Today
- Total
배꼽파지 않도록 잘 개발해요
[코드잇] HTML 핵심 개념 ② 링크, 텍스트, 리스트, 테이블 본문
6. 멀티미디어
이미지 <img>
<img src="poster.jpg" alt="영화 명량 포스터" width="300" height="428">
src : 파일 주소
alt : 이미지 이름 (이미지 안 보일 때 설명이 나옴)
비디오 <video>
<video src="codeit-logo.mp4" autoplay muted controls width="480" height="360"></video>
autoplay : 자동재생 (일부 브라우저에서는 꼭 써줘야 함)
muted : 음소거
controls : 컨트롤바 (하단 재생, 소리, 화면 버튼)
이미지 태그 사이에 공백이 생기는 이유
<div class="feeds">
<img src="1.png" alt="코드잇 스마일 로고">
<img src="2.png" alt="코드잇 텍스트 로고">
<img src="3.png" alt="실습화면">
<video src="4.mp4" controls>
</div>
이미지와 비디오 태그 사이에 공백이 생기는 이유는 HTML에서 인라인 요소(inline element)가 공백을 처리하는 방식 때문이다.
연달아 나오는 인라인 요소 사이에는 브라우저가 공백을 처리하고 그에 따라 렌더링한다.
<div class="feeds">
<img src="1.png" alt="코드잇 스마일 로고"
><img src="2.png" alt="코드잇 텍스트 로고"
><img src="3.png" alt="실습화면"
><video src="4.mp4" controls>
</div>
이미지 태그를 연달아 쓰면된다. 닫는 괄호만 밑으로 이어 붙이면 해결됨.
오디오 <audio>
<audio src="codeit-logo.mp3" controls autoplay></audio>
iframe <iframe>
iframe = 인라인 프레임
· frame : 사이트 화면을 나눠서 각각 다른 HTML 파일을 보여주는 기능
여러 가지 문제점이 많아서 최근에는 사용하지 않음.
· iframe : 프레임의 인라인 버전
HTML 문서 안에서 다른 HTML 문서를 보여주는 태그
<iframe src="current.html" width="200" height="160"></iframe>
화면 내 지도삽입, 온라인 결제창 띄울 때 사용함.
7. 폼
폼 만들기
폼 구성요소
· input : 내용을 적는 칸
· label : input에 설명을 적음
· button : 입력한 내용 전송
<!--인풋의 id와 for속성 일치-->
<label for="signup-email">이메일</label> <!-- 라벨과 인풋 연결-->
<input id="signup-email" name="email">
· email : input의 이름
· 뒤에 있는 값 : 웹 브라우저에서 입력한 값
라벨에 포커싱될 때
<label> 태그로 <input>을 감싸는 경우
<label>
아이디
<input name="...">
</label>
라벨의 for 속성과 인풋의 id속성 일치
<label for="username">아이디</label>
<input id="username" name="...">
기본적인 입력 폼 예시
<form>
<div>
<label for="signup-email">이메일</label>
<input id="signup-email" name="email" type="email">
</div>
<div>
<label for="signup-password">비밀번호</label>
<input id="signup-password" name="password" type="password">
</div>
<div>
<label for="signup-password-repeat">비밀번호 확인</label>
<input id="signup-password-repeat" name="password-repeat" type="password">
</div>
</form>
버튼
button 태그는 기본적으로 form안에 있으면 눌렀을 때 적은 내용을 전송함.
· <button type="button"> : 버튼 누를 때 데이터 전송 X
· <button type="submit"> : 버튼 누를 때 데이터 전송 O
· <button type="reset"> : 버튼 누를 때 내용 초기화
다양한 인풋
checkbox
한 항목만 선택할 때 : label과 input 1개만 작성
여러 항목 중 몇 개를 선택할 때 : name값을 다 같이 해줘야함.
<label for="fruit">좋아하는 과일</label>
<label>
<input type="checkbox" name="fruit" value="apple">
사과
</label>
<label>
<input type="checkbox" name="fruit" value="banana">
바나나
</label>
<label>
<input type="checkbox" name="fruit" value="orange">
오렌지
</label>
날짜 date
<input name="birthdate" type="date">
파일 file
<input name="protile" type="file" accept=".png, .jpg" multiple>
accept : 업로드 가능한 파일 형식
multiple : 있으면 여러 개 선택 가능, 없으면 1개만 선택
이메일 email
<input name="email" type="email">
숫자 number
<!-- 100에서 1000사이, 버튼을 눌렀을 때 100씩 증가, 감소 -->
<input type="number" min="100" max="1000" step="100">
라디오 radio
동그란 선택 버튼으로 1개만 지정 가능함
<input id="very-good" name="feeling" value="0" type="radio">
<label for="very-good">최고</label>
<input id="soso" name="feeling" value="1" type="radio">
<label for="soso">보통</label>
범위 range
막대기 늘리는 거
<label for="signup-feeling">현재 기분</label>
<input id="signup-feeling" name="feeling" min="1" max="10" type="range">
텍스트 text
기본값이라 굳이 지정하지 않아도 됨
<input name="nickname" type="text">
긴 글 textarea
꼭 닫아주는 태그를 써야 함
<textarea name="content"></textarea>
옵션 선택 select
아래 내리면 목록 나와서 고르는 거
<label for="genre">장르</label>
<select id="genre" name="genre">
<option value="korean">한국 영화</option>
<option value="foreign">외국 영화</option>
</select>
8. 다른 코드 불러오기
link 태그
· 외부 파일을 불러올 때 사용, 용도와 경로를 지정할 수 있음.
· rel : 불러올 파일이 어떤 종류인지 적기
- preconnect : 불러올 파일들이 어떤 사이트에 있는지 미리 브라우저에 알려줌
- icon : 파비콘 등록 가능 (브라우저 제목 왼쪽 아이콘)
· href : 파일의 주소 (현재 폴더를 기준으로 파일을 찾아줌)
<head>
<meta charset="utf-8">
<title>코드잇 캠핑장</title>
<link rel="stylesheet" href="style.css">
<link rel="icon" href="favicon.ico">
</head>
script 태그
· 자바스크립트 파일을 불러올 떄 사용하는 태그
· 주로 body 안 맨 마지막에 써줌.
· 반드시 </script>로 닫아줘야 함.
화면에는 출력되지 않지만, 크롬 개발자 도구 console창에 실행됨.
<body>
<script>
console.log('아무 문장이나 넣자!'); <!--콘솔창에 출력됨-->
</script>
</body>
script.js 파일이 실행됨.
<body>
<script src="script.js"></script>
</body>
9. 의미있는 HTML
사이트에 대한 정보
<head> 안에는 메타데이터가 있음.
메타데이터 : 데이터에 대한 데이터, 컴퓨터가 읽어서 처리
<meta charset="utf-8">
웹 브라우저에서 한글이 깨질 수 있기 때문에 인코딩 지정한 코드
<meta property="ogLtitle" content="라멘">
og : 오픈 그래프, 페이스북에서 제작한 메타데이터, 미리보기를 보여줄 때 사용
시맨틱 태그
· 의미를 가진 태그로 <div> 태그와 기능은 완전히 같음
· 작성자 의도를 잘 표현하는게 중요함
· 엄격한 규칙을 갖고 있는 것이 아님
header | 사이트 위쪽에 공통으로 들어가는 내용 여러 곳에서 쓸 수 있음 |
nav | 메뉴 영역 |
main | 영역의 본격적인 내용 |
footer | 사이트에서 아래쪽에 공통적으로 들어가는 내용 영역 아래 여러가지 정보, 여러 영역에서 쓸 수 있음 |
main | 한 페이지에 딱 한번만 쓴다 |
article | 하나의 독립적인 내용 ex. 블로그 본문, 블로그 댓글 |
section | 어떤 것의 부분 ex. 주제별로 나눠진 부분 |
figure | 이미지 + 이미지에 대한 설명 |
시맨틱 태그를 사용하면 좋은 점
• 검색 최적화(SEO) : 메타태그 및 시맨틱 태그 꼼꼼히 작성
• 접근성(A11y) : 시각장애인을 위한 스크린리더가 읽어줄 때 편리함
• 개발자 관점 : 코드를 통해 사이트를 이해하기 편리함
'코드잇 Codeit > Front-End' 카테고리의 다른 글
[코드잇] 인터랙티브 자바스크립트 ② - 이벤트 살펴보기, 다양한 이벤트 (0) | 2023.12.25 |
---|---|
[코드잇] 인터랙티브 자바스크립트 ① 시작하기, 브라우저와 자바스크립트 (1) | 2023.12.23 |
[코드잇] HTML 핵심 개념 ① - 링크, 텍스트, 리스트, 테이블 (0) | 2023.12.20 |
[코드잇] CSS 핵심개념 ② - Display, 선택자, 스타일 계산하기 (0) | 2023.12.18 |
[코드잇] CSS 핵심개념 ① - 기본개념, 자주 쓰는 CSS 속성, 박스모델 (0) | 2023.12.17 |