ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 1. 브라우저의 개념과 HTML 기초
    HTML, CSS 2021. 12. 20. 16:53

    <0> 목차

    1. 개발도구준비

    2. 브라우저와 웹

    3. HTML 기초 - 엘리먼트와 속성

        3-1. HTML의 구조

        3-2. 자주 사용하는 엘리먼트

        3-3. 엘리먼트에 속성주기

    4. html 파일 작성 시 유의할 점

     

     

    <1> 개발도구준비

    • 비주얼스튜디오코드 사용 + 확장프로그램으로 Korean, live server 설치
    • 비주얼스튜디오코드란? 

    코드를 쓰는건 텍스트를 저장하는 기능을 가진 어디서든지 다 가능하나,

    코딩 시 사용하는 단어들 자동완성 + 그 외 여러가지 기능으로 코드작성을 쉽게 할 수 있도록 기능을 강화시킨 편집기(메모장)

    Extension 탭에서 다양한 확장프로그램 설치 가능

     

     

     

    <2> 브라우저와 웹

    • 브라우저란?

    웹 정보를 화면에 표시해주는 응용프로그램 (ex. 크롬, 사파리, 파이어폭스...)

    브라우저는 크게 1. 주소입력영역 2. 랜더링영역 으로 나누어짐.

    1. 주소입력영역 (=네트워크)
    2. 랜더링영역(=화면을 띄움) : HTML, CSS, JavaScript 세가지로 이루어짐

    랜더링영역은 브라우저마다 조금씩 그 랜더링방법이 다름.

    기존에는 각 브라우저 별로 호환되도록 하는 것이 복잡했으나 현재는 W3C라는 표준개발기구가 등장하고 웹 표준화 작업이 진행중이라 많이 개선됨

     

     

     

    <3> HTML 기초 - 엘리먼트와 속성

    <3-1> HTML의 구조

     

    • HTML이란?

    Hyper Text Markup Language의 약자.

    여기서 Markup이란 <  > 기호로 이루어진 태그(엘리먼트)방법을 말함

    예전에는 '태그'라고 불렀지만 지금은 'element'가 맞는 표현

    HTML은 <head>와 <body> 라는 요소가 반드시 필요함

     

    <html>
        <head>
            저장소느낌. 내용을 보여주는 게 아니라 필요한 내용을 끌고 오기 위한 부분. 
            ex) <title></title> 등..
        </head>
        <body>
            화면에 나타낼 내용. body영역 안에서 사용하는 엘리먼트들을 많이 아는 것이 HTML을 잘하는 것.
            ex) <h1></h1> , <ul>, <li>, <input> 등..
        </body>
    </html>

       

    <3-2> 자주 사용하는 엘리먼트

     

    • <h1> ~ <h6> 제목 : 숫자가 클수록 폰트사이즈 작아짐
    • <ul> 리스트묶음 : 반드시 묶어서 리스트 사용해야함
    • <li> 리스트 : 앞에 점이 붙음
    • <a> 링크
    • <div> 영역 : block속성
    • <span> 작은영역 : inline속성
    • <input> 
    • <table> 표 : <tr>, <td> 엘리먼트를 사용하여 표 작성, 게시판 만들 때 자주 사용함

     

    #사용예시

    <html>
      <head>
        <title>Title</title>
      </head>
      <body>
        hello world
        <h1>제목1</h1>
        <h2>제목2</h2>
        <h3>제목3</h3>
        <h4>제목4</h4>
        <h5>제목5</h5>
        <h6>제목6</h6>
    
        <ul>
          <li>리스트1</li>
          <li>리스트2</li>
          <li>리스트3</li>
          <li>리스트4</li>
        </ul>
    
        <a href="http://naver.com">링크</a>
    
        <div>영역</div>
    
        <span>작은영역</span>
        <span>작은영역2</span>
    
        <div>영역2</div>
      </body>
    </html>

     

     

    #<table>엘리먼트 사용예시

     <table>
            <tr>
                <td>번호</td>
                <td>제목</td>
                <td>작성자</td>
                <td>작성일</td>
                <td>조회수</td>
            </tr>
            <tr>
                <td>1</td>
                <td>안녕하세요</td>
                <td>ingoo</td>
                <td>2021-12-21</td>
                <td>10</td>
            </tr>
            <tr>
                <td>2</td>
                <td>안녕하세요</td>
                <td>ingoo</td>
                <td>2021-12-21</td>
                <td>11</td>
            </tr>
        </table>

     

    &lt;table&gt; 결과화면

    행의 수 = <tr> 수

    열의 수 = <tr>엘리먼트 내의 <td> 수, 행마다 열의 수가 다르다면 좌측열부터 순서대로 입력되며 모자라는만큼 빈칸으로 출력됨.

     

     

     

    <3-3> 엘리먼트에 속성주기

    • 속성이란?

    html 태그(엘리먼트)의 동작을 제어하기 위해 태그 내부에 사용되는 요소

    ex) <a> 엘리먼트는 링크의 기능을 가지므로 이동할 주소값을 부여해줘야함

          따라서 <a href="http://www.naver.com"> 텍스트 </a> 형태로 사용함.

          (위와 같은 key="내용" 형식으로 값을 넣는 것을 queryString 이라고 함.)

          <a href="http://www.naver.com" target="_blank"> : target속성으로 새 탭에서 링크열기

     

     

     

    • 디스플레이 속성 : inline / block

    block속성은 해당 엘리먼트가 있는 줄 한 칸을 모두 차지하는 성질을 띔. 따라서 다음 엘리먼트는 옆이 아닌 아래로 한 칸 밀려서 화면에 랜더링 됨.

    inline 속성은 해당 엘리먼트의 크기만큼만 차지함. 다음 엘리먼트는 아래가 아닌 옆에 나타나며 한 줄이 꽉 찬 경우 다음줄로 밀리게 됨.

    (위 예시화면에서 block 속성인 <div> 엘리먼트와 inline 속성인 <span> 엘리먼트의 결과값 비교)

    html은 위에서 아래로, 좌에서 우로 구현됨. 블록/인라인 속성을 가진 엘리먼트를 정확히 구분해서 아는 것이 중요함.

     

     

     

    • <input> 엘리먼트의 속성

    <input> 엘리먼트는 닫는 태그 (</input>) 가 불필요.

    <input> 엘리먼트는 속성이 매우 많음. 

    속성의 종류 (아래 외에도 많음)

    1. type=" 인풋의 타입 종류 (텍스트, 체크박스, 버튼 등) "
    2. value=" 인풋 상자 내에 들어갈 초기값 "
    3. placeholder=" 빈 인풋 상자에 나타나는 텍스트 "
    4. name=" 인풋의 이름(그룹화 용) "
    5. id=" 인풋의 고유한 이름(하나만!) "
    6. checked="checked" : 라디오박스, 체크박스의 기본값을 체크된 상태로.

     

    사용예시

     

    1
    2
    3

     

     

    • input 타입 별 상세설명

    1. text

    <input  type=“text" value="hello world!"  placeholder="아이디를 입력해주세요.”/>

    텍스트박스 형태의 인풋박스가 화면에 나오고 초기 값으로는 "hello world!" 라는 텍스트가 입력된 상태.

    해당 텍스트를 지운 빈 텍스트박스에는 "아이디를 입력해주세요."라는 텍스트가 써져있음.

    이때, type="text"가 아닌 "password"로 설정하면 입력한 텍스트가 보이지 않게 나옴.

     

     

    2. button

    <input  type=“button" value="로그인"  />

    버튼 형태의 인풋박스가 화면에 나오고 버튼 내에는 value의 텍스트가 있음.

    <button>로그인</button>이라는 독립된 엘리먼트로도 나타낼 수 있으나 인풋 엘리먼트로 더 많이 사용함.

    <input type="submit"> 으로 변경하면 조금 다름 (나중에 더 배울 예정)

     

    3. radio와 checkbox

    라디오박스 = 여러 개의 선택지 중 하나만 선택 가능
    체크박스 = 여러 개의 선택지 중 복수 선택 가능
     

    라디오박스의 속성을 줄 때, 여러 선택지를 하나의 주제로 묶기 위해 name 속성을 사용함.

    해당 name 값을 가진 라디오박스 엘리먼트 중 하나만 선택이 가능함.

     

     

    라디오박스와 체크박스에서 중요한 것은 웹 접근성 개념.

    체크박스 엘리먼트와 관련된 텍스트, 이미지 등과 연결해 하나의 요소로 인식하게끔 하는 것.

    이를 위해 id 속성과 <label> 엘리먼트를 사용

    <input  type=“radio" name="gender" id="women" /> <label  for=“women">여자</label>

     

    input 엘리먼트인 라디오박스와 label 엘리먼트인 '여자'라는 텍스트를 하나의 요소로 인식해 텍스트를 클릭해도 체크가 됨.

    (❗️name속성과 id속성은 매우 중요한 개념이니 잘 알아두기)

     

     

     

     

     

    <4> html 파일 작성 시 유의할 점

    1. 파일명은 영어로, 확장자는 .html

       파일명에는 특수문자나 띄어쓰기 사용X ( -, _ 만 가능)

     

    2. <!-- 주석 -->

        단축키는 command + /

     

    3. ! 만 입력하고 엔터 치면 아래처럼 기본구조가 자동으로 나옴. 편하다.

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
        
    </body>
    </html>

     

    4. 태그명만 입력하고 엔터치면 알아서 꺽쇠로 열고 닫아줌. 편하다.

     

    5.

    들여쓰기 잘하기

    html파일 수정 후 저장해야 브라우저에 반영됨. 까먹지 말기

     

     

     

     

     

    +) 시멘틱 태그

    같은 기능을 가지고 있지만 명시적으로 구별하기 위해 사용하는 엘리먼트

    <img>, <input>, <table> 등과 같이 고유한 기능이 있는 엘리먼트도 있지만

    <header>, <aside>, <section>, <address> 등과 같이 <div>와 기능적으로 차이가 없는 엘리먼트도 있음.

    이런 엘리먼트는 작성자가 각각의 역할을 쉽게 이해하기위해 사용함.

Designed by Tistory.