본문 바로가기
HTML&CSS

TAG

by 융디's 2024. 4. 19.
728x90
TAG

TAG

@2024.03.27

태그, 요소, 속성

태그는 박스다.

pink div 박스 : 맨 아래 위치
red d iv 박스 : pink 박스 위에 위치
  <body>
     <div class="pink">
      <div class="red"></div>
    </div>
  </body>

<head> 태그

💡
<head> : 웹브라우저에게 문서 정보를 알려주는 태그로 화면에 보이지 않는다.
  • CSS/JS연결, <meta>태그, <title>태그가 사용된다.
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>문서 제목</title>
        <link rel="stylesheet" href="styles.css">
    </head>

<meta> 태그

💡
문서의 메타 데이터가 담긴다.
  • 메타 데이터는 브라우저, 검색 엔진 및 소셜 미디어 플랫폼에 문서에 관한 정보를 제공
    <!-- 문서의 문자 인코딩을 지정 → meta 요소 중 가장 먼저 선언되어야 한다. -->
    <meta charset="UTF-8">
    
    <!-- 반응형 웹에 필수적인 속성으로, 모바일 브라우저에서 페이지가 어떻게 보일지 제어 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    
    <!-- 페이지 내용과 관련된 키워드 제공 → 검색 엔진 최적화(SEO)에 도움이 된다. -->
    <meta name="keywords" content=" HTML, CSS, JavaScript">
    
    <!-- 웹 페이지의 간단한 설명을 제공하며, 검색 결과에서 페이지 아래에 표시되는 설명문 -->
    <meta name="description" content="Html 구조에 대해 설명합니다.">
    
    <!-- 작성자 정보를 제공 -->
    <meta name="author" content="yoon-D">
    <!-- 페이지를 자동으로 새로고침하거나, 지정된 시간 후 다른 페이지로 리다이렉션 처리 -->
    <meta http-equiv="refresh" content="30;url=https://example.com">

<h1> ~ <h6> 태그

💡
제목을 의미하며, 1이 가장 큰 폰트, 6이 가장 작은 폰트

<p> 태그

💡
가장 일반적인 텍스트 태그
  • block 태그로, 사용 시 줄바꿈한다.

<br> 단일 태그

💡
단락에서 텍스트를 강제로 줄바꿈이 필요할 때 사용하는 개행 태그 → line break

<hr> 단일 태그

💡
수평선 태그로 가로줄이 생성된다.

<a> 태그

💡
앵커 태그로, HTML에서 하이퍼 링크를 생성하는데 사용한다.


@기본 구조

<a href="링크 대상의 URL">링크 텍스트 </a>

  • 속성
    • href(필수 속성) : 링크 대상의 URL을 지정하며, 링크가 이동할 위치를 정의
      <!-- 텍스트를 클릭시 구글 홈페이지로 이동 --> 
      <a href="https://www.google.com">구글로 이동하기</a>
    • target : 링크를 열 위치를 지정한다
      • _self : 링크를 클릭한 현재 창에 연다(기본 값)
      • _blank : 링크를 새 창이나 새 탭에서 연다
      • _parent : 현재 프레임의 부모 프레임에서 링크를 연다
      • _top : 현재 프레임의 최상위 프레임에서 링크를 연다.
      <!-- 현재 창에서 새로운 링크를 열기 -->
      <a href="https://www.example.com" target="_self">예시 웹사이트</a>
      
      <!-- 새 탭에서 새로운 링크를 열기 -->
      <a href="https://www.example.com" target="_blank">예시 웹사이트</a>
      
      <!-- 부모 프레임에서 링크를 열기 -->
      <a href="https://www.example.com" target="_parent">예시 웹사이트</a>
      
      <!-- 최상위 프레임에서 링크를 열기 -->
      <a href="https://www.example.com" target="_top">예시 웹사이트</a>
    • download : 링크 대상을 다운로드 할지 여부 지정
      <!-- 텍스트를 누르면 image.jpj 파일을 다운로드 한다. --> 
      <a href="image.jpg" download>이미지 다운로드</a>
    • rel : 링크와 대상 사이의 관계 지정
      • nofollow : 검색 엔진이 해당 링크를 따라가지 않도록 지시
      • noopener : 링크를 클릭한 후에 새 창을 열 때 보안 취약점을 방지하기 위해 사용
      • noreferrer : HTTP 헤더에 Referrer 정보를 포함하지 않도록 브라우저에 지시
      <!-- 해당 링크를 클릭해도, 검색 엔진이 해당 링크를 따라가지 않는다. -->
      <a href="https://www.example.com" rel="nofollow">예시 웹사이트</a>

목록 태그

<ul> 태그

💡
순서가 없는 목록을 표현할 때 사용
  • 하위 요소
    • <li> : 항목 표현
        <ul>
      	  <li>연필</li>
      	  <li>펜</li>
      	</ul>

<ol> 태그

💡
순서가 있는 목록을 표현할 때 사용
  • 하위 요소
    • <li> : 항목 표현
      <ol>
          <li>연필</li>
      	  <li>펜</li>
      </ol>

<dl> 태그

💡
정의 목록을 나타내는데 사용
  • 하위 요소
    • <dt> : 단어 항목 표현
    • <dd> : 단어 정의 표현
      <dl>
        <dt>펜</dt>
        <dd>중성 잉크펜이다.</dd>
        <dt>연필</dt>
        <dd>4B심이다.</dd>
      </dl>

<table> 태그

💡
표를 생성하는 데 사용되며, 행과 열로 이루어진 데이터를 표시하는 데 사용
  • <caption> : 표의 제목을 정의하는데 사용
  • 하위 요소
    • <tr> : 표 내부의 행
    • <th> : 헤더 셀
    • <td> : 표의 데이터 셀
          <table>
            <caption>
              가장 좋아하는 과일
            </caption>
            <thead>
              <tr>
                <th>순위</th>
                <th>과일명</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td>1위</td>
                <td>샤인머스켓</td>
              </tr>
              <tr> 
                <td>2위</td>
                <td>사과</td>
              </tr>
          </table>

<img> 태그

💡
이미지를 표시하는데 사용하며 img 태그 자체가 닫는 태그다.
  • 주요 속성
    • src : 이미지 경로
    • alt : 이미지가 로드 되지 않았을 때 화면에 출력할 대체 텍스트
    • width : 이미지 너비
    • height : 이미지 높이
  • 예시
    <img src="chrome-image.png" alt="크롬로고">
    • 이미지를 클릭하면 인스타그램으로 이동
    <a href="http://instagram.com"><img src="instagram.png"></a>

<form> 태그

💡
사용자 입력을 받는 양식을 생성하는 데 사용하며, 사용자가 데이터를 입력하고, 서버로 전송하거나 클라이언트 측 스크립트를 실행할 때 사용
  • 주요 속성
    • action : 양식 데이터를 처리할 서버 쪽의 scirpt 파일을 지정 (목적지 URL)
    • method : POST, GET 방식 지정
    • name : 폼을 식별하기 위한 이름
    • accept-charset :폼 전송에 사용할 문자 인코딩
    • target : 폼 데이터가 제출되었을 때 결과가 표시될 위치를 지정
      • _self : 제출시 결과가 현재창에 표시
      • _blank : 새로운 브라우저 창이나 탭에서 결과 표시
      • _parent : 현재 프레임의 상위 프레임에 결과 표시
      • _top : 현재 프레임 세트의 가장 상위 프레임에 결과 표시
  • 하위 요소
    • <label> : 입력 요소와 연결된 레이블을 정의하는데 사용
      <!--  입력 요소와 연견된 텍스트 또는 설명 --> 
      <label for="username">사용자 이름:</label>
      <input type="text" id="username" name="username">
    • <fieldset> : 폼에 입력되는 정보를 그룹핑
      • disabled : 그룹 내 모든 입력 요소를 비활성화
      <form>
          <fieldset>
              <legend>개인 정보</legend>
              <label for="name">이름:</label>
              <input type="text" id="name" name="name"><br>
              <label for="email">이메일:</label>
              <input type="email" id="email" name="email"><br>
          </fieldset>
      </form>
    • <input> : 사용자로부터 입력을 받을 수 있는 입력 필드
      • value : 해당 입력 필드의 기본값으로 아무것도 입력하지 않을 시, 해당 값이 서버로 전송
      • palceholder : 사용자가 입력할 내용을 알려주는데 사용되며, 텍스트 입력 시 사라짐
      • name : 서버로 데이터를 전송할 때 데이터와 함께 전송되는 키(key) 역할
      • readonly : 읽기 전용 필드
      • maxLength : 텍스트 필드에 입력할 수 있는 최대 문자 개수 설정
      • required : 필수 입력해야 하는 필드임을 표시
      • type : 입력 폼의 종류
        • submit : 서버로 값을 보낸다.
        • button : 버튼 → 이벤트
        • text : 한 줄 텍스트 입력 필드
           <input type="text" placeholder="한 줄 텍스트를 입력하세요" />
        • checkbox : 체크 박스 생성(default : 2개 이상 선택 가능)
        <input type="checkbox" name="gender" value="male" /> 남성
        <input type="checkbox" name="gender" value="female" /> 여성
        • radio : 라디오 버튼(default : 1개만 선택 가능)
        • password : 비밀번호 입력 필드
        • tel : 전화번호 입력 필드
        • url : URL 주소 입력 필드
        • email : 메일 주소 입력 필드로 @가 존재하는지 검사
        • color : 색상표 생성
        • month : 년, 월 지정
        • week : 주 지정
        • time : 시간 지정
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
  </head>
  <body>
    <form
      action="http://localhost:8080/server.jsp"
      accept-charset="utf-8"
      name="form practice"
      method="get"
    >
      <label><input type="checkbox" /> 콜라 <br /></label>
      <input type="radio" name="animal" value="panda" /> 판다
    </form>
  </body>
</html>

GET 방식

💡
서버로부터 데이터를 요청하는데 사용되며, 주로 데이터를 가져오는데 사용
  • URL의 끝에 쿼리 문자열의 형태로 데이터를 전달
    • 쿼리 문자열 → key=value 쌍으로 구성되며, 여러 개의 쌍이 &로 구성
  • 브라우저 주소 표시줄에 데이터가 표시되어 보안에 취약
  • 캐싱이 가능하며, 브라우저 히스토리에 남는다.
  • 주로 검색 결과를 가져오거나 페이지에 필요한 데이터를 가져오는데 사용

POST 방식

💡
서버로 데이터를 제출하는데 사용되며, 주로 데이터를 제출하는데 사용
  • HTTP 요청 body에 데이터를 포함시켜 전송하며 이 데이터는 URL에 노출되지 않는다.
  • 캐싱 되지 않으며, 브라우저 히스토리에 남지 않는다
  • 대용량 데이터를 전송할 수 있다.
  • 서버에 페이지를 요청하고 기다리는 시간이 존재하므로 TIME OUT이 발생할 수 있음

공간 분할 태그

<div> 태그

💡
block 형식으로 공간을 분할하며, 주로 섹션을 나누거나 레이아웃을 구성하는 데 사용
  • block : 한 줄 전체 영역을 차지하며, 새로운 줄에서 시작한다.

<span> 태그

💡
inline 형식으로 공간을 분할하며, 주로 특정 부분을 스타일링하거나 스크립트를 적용할 때 사용
  • inline : 텍스트 영역에 맞게 크기가 조절되며, 줄 바꿈 없이 같은 줄에 표시한다.

728x90

'HTML&CSS' 카테고리의 다른 글

CSS 속성  (1) 2024.04.19
CSS 선택자  (1) 2024.04.19
CSS  (1) 2024.04.19
시맨틱 구조  (1) 2024.04.19
HTML  (0) 2024.04.17