1.  표 만들기

🌻  표는 웹 페이지에서 자료를 정리할 때 자주 사용하는 요소

      실제는 게시판이나 회원 가입 페이지의 레이아웃을 만드는데 주로 사용

 

1) 표 구성요소 

 

🍯 tablerowcolumn 그리고 cell 로 이루어진다.

 

table 구조

   -  table > tr > td

 

 table 관련태그


   - table                       :  table 전체를 감싸는 태그

   - caption                  :  표에 제목을 붙일 때 <table> 태그 바로 다음에 사용. 표의 위쪽 중앙에 표시

   - tr("table row")   :  테이블의 행을 의미하는 태그. 자손으로 th나 td가 반드시 있어야 한다.
   - td("table data") :  테이블의 일반 셀(칸)을 의미하는 태그. 부모인 tr안에 있어야 한다.
                                           base style - 왼쪽정렬 (text-align:left)
   - th("table header") : 테이블의 제목 셀(칸)을 의미하는 태그. 부모인 tr안에 있어야 한다.
                                           base style - 중앙정렬(text-align:center), 두껍게(font-weight:bold)

    <style>
        table {
            border: 2px solid red;
        }
        td,th {
            border: 2px solid black;
            width: 200px;
        }
    </style>
</head>
<body>
    <caption>표의 제목1</caption>
    <table>
        <!-- 행의 시작 -->
        <tr>
            <!-- 열의 시작 -->
            <th>제목1</th>
            <th>제목2</th>
        </tr>
        <!-- 행의 시작 -->
        <tr>
            <!-- 열의 시작 -->
            <td>내용1</td>
            <td>내용2</td>
        </tr>
        <!-- 행의 시작 -->
        <tr>
            <!-- 열의 시작 -->
            <td>내용3</td>
            <td>내용4</td>
        </tr>

</table>


 

colspan, rowspan


   - 표를 만든 후 표의 행이나 열을 합치는 속성으로 셀을 만드는 <td>,<th> 태그에서 사용


       🥕 colspan="합쳐지는 열의 개수" : 가로의 병합
       🥕 rowspan="합쳐지는 행의 개수" : 세로의 병합

<head>
    <style>
        td, th {
            border: 2px solid black;
        }
    </style>
</head>
<body>
<!--colspan-->
<table>
    <caption>colspan</caption>
    <tr>
        <th colspan="2">코리아교육그룹</th>
    </tr>
    <tr>
        <td>1</td>
        <td>2</td>
    </tr>
    <tr>
        <td>3</td>
        <td>4</td>
    </tr>
</table>

</body>


 

col, colgroup

 

   -  '특정 열'에 배경색을 넣거나 너비를 바꿀 때 사용. 반드시 <caption> 태그 다음에 써야 함

    -  <col> 태그는 열을 1개만 지정, <colgroup> 태그는 <col>태그를 2개 이상 묶어서 사용 

    -  <colgroup> 태그 안에 표 전체 열 개수 만큼 <col> 태그를 작성해야 함

 

<caption>선물용과 가정용 상품 구성</caption>
<colgroup>
  <col style="background-color:#eee;">
  <col>
  <col style="width:150px">
  <col style="width:150px">
</colgroup>

 


 

2) 표 구조

 

🍯  표의 구조는 head, body, foot 으로 구분

 thead : 표의 제목 부분
 tbody : 표의 본문 부분
 tfoot : 표의 요약 부분

 

<head>
    <style>
        td, th {
            border: 2px solid black;
        }
    </style>
</head>
<body>
    <table>
        <caption>공지사항</caption>
        <!--표의 제목 부분-->
        <thead>
        <tr>
            <th>번호</th>
            <th>제목</th>
            <th>날짜</th>
        </tr>
        </thead>

        <!--표의 본문 부분-->
        <tbody>
        <tr>
            <td>001</td>
            <td>코리아교육그룹 2020 대한민국 교육브랜드 대상</td>
            <td>2020-07-01</td>
        </tr>
        <tr>
            <td>002</td>
            <td>청년학당 WE-GO</td>
            <td>2020-06-29</td>
        </tr>
        </tbody>

        <!-- 표의 요약 부분 -->
        <tfoot>
        <tr>
            <td>250</td>
            <td>10개의 게시물</td>
            <td>2020-07</td>
        </tr>
        </tfoot>
    </table>
</body>

 

 

 

 

 

 

[ 내용 참고 : IT 학원 강의 및 책 'Do it HTML+CSS+자바스크립트 웹 표준의 정석' ]

 


 

1.  input 태그의 주요 속성

 

1) 자동으로 입력 커서를 갖다 놓는 autofocus 속성

<input type=텍스트-입력-필드 autofocus required>

 

🐰  페이지를 불러오자마자 폼에서 원하는 요소에 마우스 포인터를 표시

 

 

2) 힌트를 표시해 주는 placeholder 속성

 

 

 

🐰  사용자가 텍스트를 입력할 때 입력란에 적당한 힌트 내용을 표시해서 그 필드를 클릭하면 내용이 사라지도록 함

 

 

 

 

 

 

 

 

 

 

 

 

 

3) 읽기 전용 필드를 만들어 주는 readonly 속성

<input type=텍스트-입력-필드 readonly>

 

🐰  사용자가 입력하지는 못하고 읽게만 하는 읽기 전용 필드를 만들 수 있다

 

 

 

4)  필수 입력 필드를 지정하는 required 속성

 

🐰  반드시 입력해야 하는 내용에 required 속성을 지정해 필수 필드로 만들 수 있다.

 

 


 

2.  폼에서 사용하는 여러 가지 태그

 

1)  여러 줄을 입력하는 텍스트 영역 <textarea> 태그

<textarea>내용</textarea>

 

🐰  장문의 글자를 입력 받을 때 주로 사용되는 글자박스
🐰  이메일 양식에서 메일 내용이나 게시판의 글 내용을 적을 때 사용 

 

 name   : 다른 폼 요소와 구분하기 위해 텍스트 영역의 이름을 설정
 cols     : 텍스트 영역의 넓이를 문자 단위로 지정
 rows   : 텍스트 영역의 높이를 줄 단위로 지정. 줄 개수가 많아지면 스크롤 바가 나타남

 

<head>
    <style>
        textarea[name=contents] {
            width: 500px;
            height: 200px;
            border: 1px solid #6666;
            background: #eaeaea;
            padding: 20px;
            font-size: 16px;
        }

        textarea[name=contents]:focus {
            outline: none;
        }

        textarea[name=contents2]:focus {
            outline: 2px solid #a00;
        }

    </style>
</head>
<body>
<form name="frmPost" action="action.php" method="post">
    <textarea name="contents"></textarea>
    <textarea name="contents2" cols="60" rows="18"></textarea>
    <input type="submit" value="전송">
</form>
</body>


 

2) 드롭다운 목록을 만들어 주는 <select>, <option> 태그

 

🐰  여러 옵션 중에서 선택하게 하려면 드롭다운 목록이나 데이터 목록을 사용  

🐰  <select> 태그로 드롭다운 목록의 시작과 끝을 표시하고, <option> 태그를 사용해 원하는 항목을 추가  

 

<select> 태그 속성

 

    a.  size  :  화면에 표시할 드롭다운 항목의 개수를 지정
    b.  multiple  :  드롭다운 목록에서 둘 이상의 항목을 선택할 때 사용 

 

<option> 태그 속성

 

    a.  value  :  해당 항목을 선택할 때 서버로 넘겨줄 값을 지정
    b.  selected  :  드롭다운 메뉴를 삽입할 때 기본적으로 선택해서 보여 줄 항목을 지정 

 

<body>
<form name="frmPost" action="action.php" method="post">
    <select name="part">
        <option value="H">HTML</option>
        <option value="C">CSS</option>
        <option value="J" selected>JAVASCRIPT</option>
    </select>

    <!-- select multiple로 입력하면 키보드의 Ctrl 키를 누른 상태에서 여러 개 선택 가능 -->
    <select multiple name="part2[]">
        <option value="H">HTML</option>
        <option value="C">CSS</option>
        <option value="J">JAVASCRIPT</option>
        <option value="H">HTML</option>
        <option value="C">CSS</option>
        <option value="J">JAVASCRIPT</option>
    </select>

    <input type="submit" value="전송">
</form>
</body>


 

3) 데이터 목록 만들어 주는 <datalist>, <option> 태그

 

🐰  데이터 목록을 사용하면 텍스트 필드에 값을 직접 입력하지 않고 미리 만들어 놓은 값 중에서 선택할 수 있다

🐰  <datalist> 태그를 이용해 데이터 목록의 시작과 끝을 표시하고 그 사이에 <option> 태그를 사용해 각 데이터 옵션을 표시

       ➡️  value 속성을 사용해 서버로 넘겨줄 값을 지정, 이 값이 텍스트 필드에도 나타남

       ➡️  데이터 목록을 사용할 텍스트 필드에서 어떤 데이터 목록을 연결할 지 id값을 지정

 

<input type="text" list="데이터 목록 id">
<datalist id="데이터 목록 id">
    <option value="서버로 넘길 값1">선택 옵션1</option>
    <option value="서버로 넘길 값2">선택 옵션2</option>
</datalist>
<body>
  <form action="">  
    <!-- 데이터 목록 -->
    <label for="prod">포장 여부 </label>
    <input type="text" id="prod" list="pack">
    <datalist id="pack">
      <option value="package">선물 포장</option>
      <option value="no_package">포장 안 함</option>
    </datalist>        
  </form>
</body>


 

4) 버튼을 만들어 주는 <button> 태그

<button type="submit">내용</button>
<button type="reset">내용</button>
<button type="button">내용</button>

 

🐰  <button> 태그를 이용하여 폼을 전송하거나 리셋하는 버튼을 삽입

🐰  type 속성은 버튼이 활성화되었을 때 어떤 동작을 할지 지정. 기본 값은 submit

🐰  콘텐츠를 포함할 수 있어 아이콘을 추가하거나 CSS를 이용해 원하는 형태로 꾸밀 수도 있다.

<body>
<form action="action.php">
    <div>
        <button type="submit">주문하기</button>
        <button type="reset">취소하기</button>
    </div>
</form>
</body>

 

 

 

[ 내용 참고 : IT 학원 강의 및 책 'Do it HTML+CSS+자바스크립트 웹 표준의 정석' ]


 

1.  폼 form 삽입하기

 

🐰  form : 여러 입력 양식을 그룹화하고 전송

🐰  폼과 관련한 작업은 정보를 저장하거나 검색, 수정하는 것이 대부분인데 모두 데이터베이스를 기반으로 작동

        ➡️  텍스트 박스나 버튼 같은 폼 형태는 HTML 태그로 만들지만,

             폼에 입력한 사용자 정보는 ASP나 PHP, JSP같은 서버 프로그래밍을 이용해 처리

 

    🥕  form을 만들고 사용자 화면을 구성하는 영역은 프론트엔드 영역에서 담당
    🥕  form을 통해 전달 받은 데이터를 가공하는 일은 벡엔드 영역에서 처리

 

 

1) 폼을 만드는 <form> 태그

<form [속성="속성값"]>여러 폼 요소</form>

 

          💡 폼 태그의 속성

종류 설명
method 폼을 서버로 전송할 때 http 메소드를 지정(=전송방식)

· get : 주소표시줄에 사용자가 입력한 내용이 그대로 표시 - 보안이 위험
· post : 대부분이 사용하는 방식, 내부적으로 보이지 않게 전송
action 특정 주소값이나 파일 위치. 폼 데이터가 전송되는 곳. 
name 자바스크립트로 폼을 제어할 때 사용할 폼의 이름을 지정
target action 속성에서 지정한 스크립트 파일을 현재 창이 아닌 다른 위치에서 열도록 함

 

🐰  autocomplete 속성 : 기본값. 자동 완성 기능

        ▶️  입력한 적 있는 값을 한 두글자 정도 입력하면 이전에 입력 내용을 자동으로 보여준다.

<!-- 자동 완성 기능 끄기 -->
<form action="" autocomplete="off">
...
</form>

 


 

2)  폼 요소를 그룹으로 묶는 <fieldset>, <legend> 태그

<fieldset [속성="속성값"]>
    <legend>그룹 이름</legend>
</fieldset>

 

  fieldset : 하나의 폼 안에서 여러 구역을 나누어 표시할 때 사용
  legend  : fieldset로 묶은 그룹에 제목을 붙일 수 있음 

 

<body>
  <h1>쇼핑몰 주문하기</h1>
  <form action="">
    <fieldset>
      <legend>상품 선택</legend>
      
    </fieldset>
    <fieldset>
      <legend>배송 정보</legend>
      
    </fieldset>      
  </form>

 


3) 폼 요소에 레이블을 붙이는 <label> 태그

 

<label>레이블명<input></label>

 

  <label> 태그  : input 태그와 같은 폼 요소에 레이블을 붙일 때 사용
         📍 label이란 입력란 가까이에 아이디나 비밀번호처럼 붙여 놓은 텍스트
         📍  label 태그를 사용하면 폼 요소와 레이블 텍스트가 서로 연결되어 있다는 것을 브라우저가 인식 

 

<!-- 폼 요소의 id 속성값을 <label>태그의 for 속성에 알려 주는 방법 -->
<label for="id명">레이블명<input id="id명"></label>

 


 

2.  사용자 입력을 위한 input 태그 

🐰  <input> 태그 : 다양한 폼에서 사용자가 입력한 정보를 받을 때 사용

 

1)  <input> 태그의 type 속성

 

종류 설명
text 한 줄짜리 텍스트를 입력할 수 있는 텍스트 박스 생성
password 비밀번호 입력할 수 있는 필드 생성, 문자를 입력하면 특수문자로 생성
search 검색할 때 입력하는 필드 생성
검색 키워드를 입력할 경우 키워드를 지울 수 있도록 X 표시가 나타남
url url 주소 입력할 수 있는 필드 생성
email email 주소 입력할 수 있는 필드 생성
tel 전화번호를 입력할 수 있는 필드 생성. 모바일에서는 숫자 키보드로 자동 전환.
checkbox 주어진 여러 항목에서 2개 이상 선택할 수 있는 체크 박스 생성
radio 주어진 여러 항목에서 1개만 선택할 수 있는 라디오 버튼 생성
number 숫자를 조절할 수 있는 스핀 박스 생성. 모바일에서는 숫자 키보드로 자동 전환.
[min은 이상, max는 이하, step은 클릭할 때 값]
range 숫자를 조절할 수 있는 슬라이드 막대 생성
date 사용자 지역을 기준으로 날짜(연, 월, 일) 생성
month 사용자 지역을 기준으로 날짜(연, 월) 생성
week 사용자 지역을 기준으로 날짜(연, 주) 생성
time 사용자 지역을 기준으로 시간(시, 분, 초, 분할 초) 생성
datetime 국제 표준시로 설정된 날짜와 시간(연, 월, 일, 시, 분, 초, 분할 초) 생성
datetime-local 사용자가 있는 지역을 기준으로 날짜와 시간(연, 월, 일, 시, 분, 초, 분할 초) 생성
submit 전송 버튼 생성
reset 리셋 버튼 생성
image submit 버튼 대신 사용할 이미지를 생성
button 일반 버튼 생성
file 파일을 첨부할 수 있는 버튼 생성
hidden 사용자에게 보이지 않지만 서버로 넘겨주는 값이 있는 필드 생성
color 색상 선택 양식을 생성. 선택 시 색상 선택 화면이 나타나면 색상을 선택 할 수 있음.
<input type= "속성" name= "이름(서버에서 사용하는 이름) 필수" id="css나 자바스크립트에서 제어할 때 사용">
<!-- 이미지 버튼 -->
<input type="image" src="이미지 경로" alt="대체 텍스트">

 

💡  텍스트, 비밀번호 필드에서 사용하는 주요 속성

종류 설명
size 텍스트와 비밀번호 필드 길이 지정
= 화면에 몇 글자가 보이도록 할 것인지 지정
value 텍스트 필드 요소가 화면에 표시될 때 텍스트 필드 부분에 보여주는 내용
maxlength 텍스트 필드와 비밀번호 필드에 입력할 수 있는 최대 문자 수 지정

 

💡  체크 박스, 라디오 버튼에서 사용하는 속성

종류 설명
value 선택한 체크 박스나 라디오 버튼을 서버에 알려 줄 때 넘겨줄 값을 지정.
영문이거나 숫자여야 하며 필수 속성.
checked 체크 박스나 라디오 버튼의 항목 중에서 기본으로 선택해 놓고 싶은 항목에 사용.

 

💡  number, range에서 사용하는 속성

속성 설명
min 필드에 입력할 수 있는 최솟값을 지정
기본 최솟값은 0
max 필드에 입력할 수 있는 최댓값을 지정
기본 최댓값은 100
step 숫자 간격을 지정. 기본값은 1
value 필드에 표시할 초깃값

 

💡  날짜, 시간 범위를 지정하는 속성

종류 설명
min 날짜나 시간의 범위를 제한.
min은 범위의 시작 날짜나 시간, max는 범위의 마지막 날짜나 시간
max
step 스핀 박스의 화살표를 클릭했을 때 증감시킬 크기 지정
value 기본적으로 표시할 날짜나 시간 지정

 


 

type="text", type="hidden", type="submit"
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        input[type=text]{
        width: 200px; height: 16px; border: 1px solid #999;
        }
    </style>
</head>
<body>
    <form name="frmPost" action="action.php" method="post">
        <label for="memberID">아이디</label>
        <input type="hidden" name="loginType" value="general">
        <input type="text" name="memberID" id="memberID" value="1" maxlength="4">

        <input type="submit" value="전송">
    </form>
</body>

전송버튼 눌렀을 때 결과

 


 

type="password", type="search"
<body>

    <form action="action.php" method="post">
        <label for="mId">아이디</label>
        <input type="text" name="memberId" id="mId" />

        <label for="pwd">비밀번호</label>
        <input type="password" name="password" id="pwd">

        <input type="reset" />
        <input type="submit" />
    </form>
    <br><br>
    <form action="action.php" method="get">
        <input type="search" name="search">
        <input type="submit" value="검색" />
    </form>
</body>

 


 

type="checkbox"

💡 php에서는 checkbox의 name을 배열처리해야 함 ▶️ name="hobby[]"
     자바 계열에서는 배열처리를 하지 않음 ▶️ name="hobby"
<body>
    <form name="frmPost" action="action.php" method="post">
        <h4>취미</h4>
        <!-- for에 해당 태그의 아이디 값을 지정하면 label 클릭 시에 해당 체크박스 선택, 해제 됨 -->
        <input name="hobby[]" type="checkbox" value="sports" id="sportsId">
        <label for="sportsId">스포츠</label>

        <!-- label 태그로 전체를 감싸도 동일한 기능 -->
        <label>
            <input name="hobby[]" type="checkbox" value="game">
            게임</label>

        <!-- 분리해서 사용하면 선택, 해제 기능 안 됨. -->
        <input name="hobby[]" type="checkbox" value="cook">
        <label>요리</label>
        <input type="submit" value="전송">
    </form>
</body>


 

type="radio"
    
📍 짧은 항목에 대한 선택이 필요할 때 주로 활용되며, 반드시 한 가지 항목을 선택해야 할 때 사용
📍 name 값을 동일하게 작성해야 같은 그룹으로 인식

checked="checked"는 방문자의 편의를 돕기 위해 미리 항목에 체크된 상태를 보여주는 옵션

 

<body>
<form action="action.php" method="post">
    <h4>직업</h4>

    <input type="radio" name="job" value="design" id="design" checked="checked">
    <label for="design">UI/UX 디자이너</label>

    <input type="radio" name="job" value="front_end dev" id="front_end">
    <label for="front_end">프런트엔드 개발자</label>

    <input type="radio" name="job" value="back_end dev" id="back_end">
    <label for="back_end">백엔드 개발자</label>

    <input type="submit" value="전송">
</form>

</body>


 

 type="color" 색상값 선택하기
<body>
<form name="frmPost" action="action.php" metho="post">
    <label for="color">색상 선택</label>
    <input type="color" name="color" id="color">

    <input type="submit" value="전송">
</form>
</body>


 

type="date",  type="month",  type="week",  type="datetime"
<body>
<form name="frmPost" action="action.php" method="post">
    <label for="date2">날짜 선택</label>
    <input type="date" name="date" id="date2">

    <br><br>
    <!-- type="month"  년/월에 대한 정보를 달력을 통해 선택 -->
    <input type="month" name="month">

    <br><br>
    <!-- type="week" 년/주에 대한 정보를 달력을 통해 선택 -->
    <input type="week" name="week">
    <input type="submit" value="전송">
    
    <br><br>
    <!-- type="datetime" 날짜, 시간을 지정. -->
    <label>datetime <input type="datetime-local" name="datetime-local"/></label>
</form>
</body>


 

type="search",  type="url",  type="email",  type="tel",  type="number",  type="range"
<head>
    <style>
        label {
            display: block;
            padding: 10px;
        }
    </style>
</head>
<body>
<form name="etc" action="action.php" method="post">
    <!-- type="search"-->
    <label>검색<input type="search" name="search" /></label>

    <!-- type="url" 자동으로 주소 양식 검사 -->
    <label>url <input type="url" name="url"/></label>

    <!-- type="email"-->
    <!-- required : submit 전 반드시 채워져 있어야 하는 입력 필드를 명시 -->
    <label>email <input type="email" name="email" required></label>

    <!-- type="tel" -->
    <label>tel <input type="tel" name="tel"/></label>

    <!-- type="number" -->
    <label>number <input type="number" name="number" min="1" max="100" step="5"/></label>

    <!-- type="range" value는 초기값 -->
    <label>range <input type="range" name="range" min="1" max="5" value="3"/></label>


    <input type="reset"/>
    <input type="submit"/>
</form>

</body>

 

 

 

 

[ 내용 참고 : IT 학원 강의 및 책 'Do it HTML+CSS+자바스크립트 웹 표준의 정석' ]


 

웹 문서 제작 시 초기화 스타일
<style>
    * {
        margin: 0;
        padding: 0;
    }

    a {
        text-decoration: none; /* 링크 속성 글자 밑줄 없앰 */
    }

    li {
        list-style: none; /* 항목 태그 블릿 아이콘 장식 없앰 */
    }

    img {
        display: block; /* inline 속성을 지니고 있는 img 태그의 오차 간격을 없애기 위한 속성 변경 */
        border: none; /* img 태그의 모든 테두리선은 없음으로 초기화  */
    }

    body {
        font-family: 'Verdana'; /* 글꼴 */
        font-size: 14px; /* 글자 크기 */
        color: black; /* 글자 색상 */
        line-height: 28px; /* 줄 간격 */ }
</style>

1.  시맨틱 태그  semantic-tags

 

👩🏻‍💻  시맨틱 태그 semantic : 이름만 봐도 의미를 알 수 있다는 의미로 사용

👩🏻‍💻  의미 요소를 가진 태그
      - 자신의 컨텐츠를 명확하게 정의
      - 코드의 가독성을 높이고 의미를 명확하게 해주는 장점
      - 컴퓨터의 정보를 이해, 논리적인 추론이 가능한 구조

 

시맨틱 태그 종류

 

1)  <header> 태그 : 헤더 영역을 의미

     - 머리말 의미, 헤더, 로고, 네비게이션, 검색창

     - 주로 맨 위쪽이나 왼쪽에 있으며, 로고를 중심으로 네비게이션 메뉴와 검색 창이 들어간다.

     - 네비게이션 메뉴는 <nav> 태그로 구성


2)  <nav> 태그 : 내비게이션 영역을 나타내는 태그

     - 같은 웹 문서 안에서 다른 위치로 연결하거나 다른 웹 문서로 연결하는 링크를 만든다.

     - 웹 문서의 위치에 영향을 받지 않으므로 헤더나 푸터, 사이드바 안에 포함할 수도 있고, 독립해서 사용 가능

     - <nav> 태그를 여러 개 사용할 경우 각각 id 속성을 지정하면 내비게이션마다 다른 스타일을 적용할 수 있다.


3)  <section> 태그 : 콘텐츠 영역을 나타낸다

    - <section> 태그는 몇 개의 콘텐츠를 묶는 용도로 사용하고, <article> 태그는 블로그의 포스트처럼 독립된 콘텐츠로 쓴다.

    -  콘텐츠를 주제별로 묶을 때 사용하며 내부에는 <h1>~<h6> 제목 태그가 함께 사용

    -  태그 안에는 다른 태그를 넣을 수 있음


4)  <article> 태그 : 독립적인 콘텐츠를 담는다

     문맥의 흐름 중 콘텐츠를 주제별로 묶을 때 사용

    -  아티클 article의 사전적 의미인 신문이나 잡지의 기사처럼 웹에서 실제로 보여 주고 싶은 내용을 넣는다.

         ex.  블로그의 포스트나 뉴스 사이트의 기사처럼 독립된 웹 콘텐츠 항목

    -  문서 안에 <article> 태그를 여러 개 사용할 수 있고, 이 안에 <section> 태그를 넣을 수도 있다.

   


5)  <aside> 태그: 사이드 바 영역을 나타낸다

   -  본문 내용 외에 왼쪽이나 오른쪽, 혹은 아래쪽에 사이드 바를 만든다.

   -  필요할 경우에만 사용 

   -  광고나 일반적인 링크 모음처럼 문서의 메인 내용에 영향을 미치지 않는 내용을 넣을 때 사용


6)  <footer> 태그 : 푸터 영역을 나타낸다

    -  웹 문서에서 맨 아래쪽에 있는 푸터 영역을 만든다.

    -  사이트 제작 정보나 저작권 정보, 연락처 등을 포함

    -  시맨틱 태그를 모두 사용 가능


7)  <main> 태그 : 웹 문서에서 핵심이 되는 내용

     - 메뉴, 사이드 바, 로고처럼 페이지마다 똑같이 들어간 정보는 넣을 수 없고,

        웹 문서마다 다르게 보여 주는 내용으로 구성

     - 웹 문서에서 한 번만 사용 가능


8)  <div> 태그 : 여러 소스를 묶는다

    -  division의 줄임말로 id나 class 속성을 사용해서 문서 구조를 만들거나 스타일을 적용할 때 사용

        ex. <div id="header">, <div class="detail">

    -  영역을 구별하거나 스타일로 문서를 꾸미는 것

 


 

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="./css/reset.css" type="text/css">
    <style>
      header {
          width: 1000px;
          height: 100px;
          margin: 0 auto; /* block 속성일 때 가운데 배치 */
          margin-top: 10px;
          border: 2px solid black;
          overflow: hidden;
          box-sizing: border-box;
      }

      header h1 { /* logo */
          width: 200px;
          line-height: 100px;
          background-color: yellow;
          float: left;
          text-align: center;
      }

      header nav { /* 오른쪽 메뉴 */
          float: right;
          overflow: hidden;
      }

      header nav ul {
          overflow: hidden;
          background-color: antiquewhite;
      }

      header nav ul:nth-of-type(1) li {
          float: left;
          padding-left: 20px;
          background-color: yellow;
          line-height: 30px;
      }

      header nav ul:nth-of-type(2) li {
          float: left;
          padding-left: 20px;
          background-color: orange;
          line-height: 30px;
          margin-top: 40px;
      }

      #main {
          width: 1000px;
          margin: 10px auto;
          overflow: hidden;
      }

      #main section {
          width: 700px;
          float: left;
          overflow: hidden;
      }

      #main section article {
          box-sizing: border-box;
          width: 700px;
          padding: 20px;
          border: 2px solid black;
          margin-bottom: 10px;
          overflow: hidden;
      }

      #main section article > h2 {
          background-color: antiquewhite;
      }

      #main aside {
          box-sizing: border-box;
          width: 280px;
          padding: 20px;
          border: 2px solid black;
          float: right;
          overflow: hidden;
      }

      #main aside div.bannerbox {
          margin-top: 10px;
          margin-bottom: 10px;
          background-color: gray;
      }

      footer {
          box-sizing: border-box;
          width: 1000px;
          height: 50px;
          border: 2px solid black;
          margin: 10px auto;
          line-height: 50px;
          text-align: center;
          background-color: antiquewhite;
      }
    </style>
</head>

<body>
    <!--header(시맨틱 태그)-->
    <header>
        <h1>WEB-logo</h1>
        <!--nav(시맨틱 태그)-->
        <nav>
            <ul>
                <li>menu-1</li>
                <li>menu-1</li>
                <li>menu-1</li>
                <li>menu-1</li>
            </ul>

            <ul>
                <li>menu-2</li>
                <li>menu-2</li>
                <li>menu-2</li>
                <li>menu-2</li>
            </ul>
        </nav>
    </header>

    <!--본문 감싸주는 박스는 일반 선택자 박스로 지정-->
    <div id="main">
        <!--왼쪽 section (시맨틱 태그)-->
        <section>
            <!--article (시맨틱 태그)-->
            <article>
                <h2>Main Article</h2>
                <p>
                    ColorZilla for Google Chrome is an extension that assists web developers and graphic designers with color related tasks - both basic and advanced. ColorZilla includes a Color Picker, Eye Dropper, Gradient Generator and many additional advanced color tools.
                </p>
            </article>
            <!--article (시맨틱 태그)-->
            <article>
                <h2>Main Article</h2>
                <p>
                    ColorZilla for Google Chrome is an extension that assists web developers and graphic designers with color related tasks - both basic and advanced. ColorZilla includes a Color Picker, Eye Dropper, Gradient Generator and many additional advanced color tools.
                </p>
            </article>

            <!--article (시맨틱 태그)-->
            <article>
                <h2>Main Article</h2>
                <p>
                    ColorZilla for Google Chrome is an extension that assists web developers and graphic designers with color related tasks - both basic and advanced. ColorZilla includes a Color Picker, Eye Dropper, Gradient Generator and many additional advanced color tools.
                </p>
            </article>
        </section>

        <!--오른쪽 aside (시맨틱 태그)-->
        <aside>
            <h2>Right aside</h2>
            <p>
                ColorZilla for Google Chrome is an extension that assists web developers and graphic designers with color related tasks - both basic and advanced.
            </p>
            <input type="email" />
            <button>mailto</button>
            <div class="bannerbox">
                <h2>TEXT</h2>
                <p>banner</p>
            </div>
        </aside>

    </div>

    <!--하단 footer(시맨틱 태그)-->
    <footer>
        <p>HTML5 COPYRIGHT</p>
    </footer>
</body>

 

 

 

[ 내용 참고 : IT 학원 강의 및 책 'Do it HTML+CSS+자바스크립트 웹 표준의 정석' ]

 


 

1.  이미지 태그

1) 이미지 삽입 <img> 태그

<!-- 기본형 -->
<img src="이미지 파일 경로" alt="대체용 텍스트">

 

👩🏻‍🚀  src 속성은 이미지 파일의 경로를 지정하여 웹 브라우저에 알려 주는 역할

👩🏻‍🚀  alt 속성에는 화면 낭독기 등에서 이미지를 대신해서 읽어 줄 텍스트를 입력

 

💡  웹에서 사용하는 대표적인 이미지 파일 형식

종류 설명
GIF
(graphic interchange format)
표시할 수 있는 색상 수는 최대 256가지. 작은 이미지에 주로 사용
JPG/JPEG
(joint photographic experts group)
GIF 보다 색상과 명암을 다양하게 표현 가능. 이미지 수정하고 저장하는 작업 반복 시 화질이 떨어질 수 있다.
PNG
(portable network graphics)
네트워크용으로 개발된 파일 형식. 색상을 다양하게 표현하면서도 투명한 배경도 만들 수 있어 웹에서 가장 많이 사용

 

💡  src 속성

    ·  파일 경로를 정확하게 입력하지 않으면 이미지가 화면에 나타나지 않는다.

    ·  웹 문서 파일의 위치를 기준으로 파일의 경로가 정해진다.

    ·  웹 문서 파일과 이미지 파일이 같은 경로에 있다면 src 속성에 이미지 파일의 이름만 적으면 된다

        ▶️  하위 폴더에 이미지 파일이 있다면 src 속성에 하위 폴더와 함계 이미지 파일 이름을 적어야 한다.

 

💡  alt 속성

    ·  alt 속성을 지정하면 인터넷이 불안정하거나 이미지 파일 경로를 잘못 넣었을 때 이미지 대신 텍스트가 표시

    ·  메뉴를 이미지로 삽입하는 경우와 같이 내용을 강조하기 위해 이미지로 처리할 때

        alt 속성안에 들어갈 텍스트는 이미지를 부연설명 하는 것이 아닌 이미지 안에 포함된 텍스트를 알려줘야 한다.

 

💡  이미지 크기 조절 width, heigh 속성

    ·  웹 브라우저 창에서 보이는 이미지 크기만 조절하고 싶을 때 사용

    ·  width는 너비, height는 높이를 지정. 둘 중 하나만 지정해도 나머지 속성 비율은 자동으로 계산하여 나타낸다.

 

💡  이미지 크기 표현 단위

종류 설명
% 웹 브라우저 창의 너비와 높이를 기준으로 이미지 크기를 결정
px 이미지의 너비나 높이를 해당 픽셀 크기만큼 표시
<body>
    <!--
    이미지를 나타내주는 태그. 단독 태그.
    글자와 같이 나열되는 성격(inline 속성)

    <img src="이미지 파일의 1)경로 또는 2)url" alt="대체문자">
    alt: 주석문, 이미지가 안보일 때를 대비한 대체문자, html5 기본 규칙!

    이미지의 확장자(대표)
        jpg -> 가장 대표적인 이미지 표현방식, 이미지의 색상을 가장 잘 표현할 수 있는 확장자!
        gif -> 투명한 배경이 가능한, 색상이 256개의 표현만 가능~ 화질이 떨어져 보임 / 움짤, 움직이는 이미지
        png -> 이미지의 색상을 유지하며 투명한 배경을 나타낼 수 있는 확장자!

    이미지 파일의 경로 : * 작성하는 문서(html)의 기점으로부터.
    -->
    <!-- 경로에 맞게 불러온 이미지 -->
    <img src="./img/camera01.png" alt="카메라1"><br>

    <!-- 경로에 맞지 않게 불러온 이미지 -->
    <img src="../img/camera02.png" alt="카메라2"><br>

    <!-- 넓이 옵션을 적용한 이미지 (원 사이즈보다 크게 적용하면 이미지가 흐릿해짐) -->
    <img src="img/camera03.png" alt="카메라3" width="600"><br>

</body>

 


 

  📍 웹 페이지의 이미지 주소 복사로 가져온 경우

<body>
    <!-- 이미지태그를 url로 연결하는 방법 -->
    <img src="https://image.istarbucks.co.kr/upload/store/skuimg/2021/04/[30]_20210415144252425.jpg">
</body>

 

  📍 figure 와 figcaption

<body>
    <!-- figure : 이미지, 사진, 삽화 같은 콘텐츠를 넣을 때 사용 -->
    <figure>
        <img src="img/camera01.png" alt="카메라1">
        <!-- figure 요소에 캡션을 넣을 때 사용하는 태그로 figure 안에서 사용, 제일 처음이나 마지막에 배치! -->
        <figcaption>카메라를 올바르게 촬영하는 방법</figcaption>
    </figure>
</body>

 


 

2.  하이퍼링크 삽입

1) 링크를 삽입하는 <a> 태그와 href 속성

<!-- 기본형식 -->
<a href="링크할 주소">텍스트 또는 이미지</a>

 

  👾  한 번이라도 클릭한 링크는 자주색으로 변경

 

a. 텍스트 링크 만들기

 

👩🏻‍🚀  텍스트 링크는 <a>와 </a> 태그 사이에 링크로 만들 텍스트를 입력하고,

      href 속성에는 텍스트를 클릭하면 연결할 문서의 경로와 파일명을 넣으면 된다.

 

b. 이미지 링크 만들기

 

👩🏻‍🚀  <a>와 </a> 태그 사이에 <img> 태그를 넣어 만든다.

 

c. 링크를 새 탭에서 열어주는 target 속성

 

👩🏻‍🚀  target 속성에 _blank를 지정하면 링크를 클릭했을 때 연결된 문서가 새 탭에서 열린다.

<body>
    <!-- a 태그 : 웹페이지의 연결, url연결 시 사용
    1) 다른 페이지의 전환 (메뉴 표현) 2) 글자와 같이 나열되는 성격!(inline 속성)
    링크연결 시 기본 스타일 (글자색, 밑줄, 손모양의 커서) / 브라우저 내에서 바로 전환

    href = h + ref : h : hypertext, ref : reference
    -->
    <!-- 링크 target 값의 종류 -->
    <p>
        <!--target 값을 지정하지 않으면 _self와 같음 -->
        <a href="https://www.naver.com">네이버(none)</a>
    </p>

    <p>
        <!-- 현재 페이지에서 바로 페이지로 이동 -->
        <a href="https://www.daum.net" target="_self">다음(_self)</a>
    </p>

    <p>
        <!-- 현재 페이지는 그대로 두고 새로운 브라우저 창이나 탭을 열어 이동 -->
        <a href ="https://www.starbucks.co.kr/" target="_blank">스타벅스(_blank)</a>
    </p>

</body>


 

<body>
    <!-- 다양한 링크의 형태 -->
    <p>
        <!-- 같은 도메인이라도 http://와 https:// 의 홈페이지 주소가 다른 경우도 있음. 주의할 것
        -->
        <a href="https://www.naver.com">네이버</a>
    </p>

    <p>
        <!-- 같은 폴더 내의 html 페이지로의 이동 -->
        <a href="./04.html">메인페이지로</a>
    </p>

    <p>
        <!-- 아웃룩 메일 계정으로 연결할 때 -->
        <a href="mailto:webmaster@koreaedugroup.com">관리자</a>
    </p>

    <p>
        <!-- 빈 링크 또는 임시 링크로 표시 -->
        <a href="#">임시링크</a>
    </p>

    <!-- 빈 링크의 경우 문서의 탑으로 이동하는 성격이 있음 -->
    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
    <a href="#">임시링크</a><br>
    <a href="#none">임시링크 2</a>

</body>

 


 📍 링크 속성 변경

<style>
    a { /* 태그를 먼저 선택 후 속성명과 속성을 입력 */
        text-decoration: none; /* 텍스트 꾸미기 : 밑줄 사용 안함 */
        color: black; /* 텍스트의 색상을 검정색으로 */
    }
</style>

 

 

[ 내용 참고 : IT 학원 강의 및 책 'Do it 한권으로 끝내는 웹 기본 교과서']


 

1.  HTML ?

 

👩🏻‍💻  HyperText Markup Language ; 웹 문서를 만드는 언어, 하이퍼텍스트란 문서를 서로 연결해 주는 링크를 의미

    ⚡️  엑셀, 워드 파일과 달리 웹 문서는 내용을 작성하는 프로그램과 그 내용을 확인하는 프로그램이 다르다.

 

1) 기본 구조

<!DOCTYPE html>
<html lang="ko">
  <head>
    <meta charset="UTF-8">
    <title>기본 문서</title>
  </head>
  <body>
    <h1>프론트엔드 웹 개발</h1>
    <hr>
    <p>HTML</p>
  </body>
</html>

 

 

a.  <!DOCTYPE html> : 현재 문서가 HTML5 언어로 작성한 웹 문서라는 뜻

 

b.  <html>~</html> : 웹 문서의 시작과 끝을 나타내는 태그, 웹 브라우저가 <html> 태그를 만나면

                                           </html>까지 소스를 읽어 화면에 표시한다.

 

c.  <head>~</head>웹 브라우저가 웹 문서를 해석하는 데 필요한 정보를 입력하는 부분

         - <meta> 태그 : 화면에 글자를 표시할 때 어떤 인코딩을 사용할지 지정.

                                         이 외에 웹 사이트의 키워드나 간단한 설명, 제작자 등의 정보를 지정

<meta name="keywords" content="html의 구조">
<meta name="description" content="html의 구조를 알아봅시다.">
<meta name="author" content="Kyunghee Ko">

 

         - <title> 태그 : 웹 브라우저의 제목 표시줄에 표시

 

d.  <body>~</boody> : 실제로 웹 브라우저 화면에 나타나는 내용

 


2. 텍스트 입력하기

 

1) 제목을 나타내는 <hn> 태그

 

🍒  웹 문서에서 제목은 다른 텍스트보다 크고 진하게 표시

🍒  heading을 줄인말, n의 자리에 1~6의 숫자가 들어가며 크기별로 표시할 수 있다.

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>제목 글자 태그</title>
</head>
<body>
<!-- 주석 -->
<!-- 주석문은 실행 결과에 아무런 영향을 주지 않으며, 코드 내에서 수정 및 보완을 위해 표시하여 사용. -->
<!-- 프로그래밍의 주석과 다르게 사용자가 주석을 볼 수 있으니, 민감한 내용은 적으면 안됨. -->
<!-- 주석 기호와 주석 내용 사이에는 반드시 공백 한 칸이 있어야 가독성이 좋음 -->
<!-- 공식적으로 주석의 종료는 없음. 하지만 종료 역할을 하는 태그가 있어야 코드의 시작과 끝을 알 수 있음
관습적으로 주석의 종료는 주석의 시작과 동일한 내용이고, 앞에 "//"를 붙여줌 -->
<!-- 주석 -->

<!-- 블럭 형태의 글자 태그 -> 박스처럼 작성한 순서대로 위에서 아래로 쌓이는 형태
01. 제목 태그
h1 ~ h6 : 숫자가 뒤로 갈수록 글자 사이즈가 줄어듦, 타이틀에 사용, 볼드체
-->

<h1>Header-1</h1>
<h2>Header-2</h2>
<h3>Header-3</h3>
<h4>Header-4</h4>
<h5>Header-5</h5>
<h6>Header-6</h6>

<!-- 다른 태그로도 제목 표현이 가능하나 span 태그는 단순한 텍스트가 들어가는 용도.
html5에서는 표현 뿐만 아니라 '문서 구조'도 중요하니 제목이면 h 태그를 사용 할 것. -->
<span style="font-weight: bold; font-size: 32px;">Header-1 by span</span>
</body>
</html>


 

2)  텍스트 단락을 만드는 <p> 태그, 줄을 바꾸는 <br> 태그

 

🍒  <p>와 </p> 태그 사이에 텍스트를 입력하면 텍스트 앞뒤로 빈 줄이 생기면서 텍스트 단락이 만들어 진다.

🍒  주의할 점은 편집기에서 줄을 바꾸더라도 웹 브라우저에서는 한 줄로 표시된다.

       but, 텍스트 단락의 내용이 길어서 웹 브라우저에 한 줄로 표시할 수 없을 경우 자동으로 줄이 바뀐다.

       ➡️  <br> 태그를 사용하면 원하는 위치에서 줄 바꿈 가능, 닫는 태그가 필요 없다.

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <!-- p: 단락, 본문에서 단락을 구분하거나 나타낼 때 주로 글자를 담아서 표현 -->
    <!-- p 태그는 레이아웃에 사용하지 말고 본문글의 내용의 단락을 나눌 때 사용할 것 -->
    <h1>Header-1</h1>

    <p>
        Lorem
        Ipsum is simply dummy text of dummy text of the printing and typesetting industry. <br>
        Lorem Ipsum has been the industry's standard dummy text ever since the 1500s,
        when an unknown printer took a galley of type and scrambled it to make a type specimen book.
        It has survived not only five centuries, but also the leap into electronic typesetting,
        remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets
        containing Lorem Ipsum passages, and more recently with desktop publishing software
        like Aldus PageMaker including versions of Lorem Ipsum.
    </p>
    <p>
        It is a long established fact that a reader will be distracted by the readable content of a page
        when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution
        of letters, as opposed to using 'Content here, content here', making it look like readable English.
        Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text,
        and a search for 'lorem ipsum' will uncover many web sites still in their infancy.
        Various versions have evolved over the years, sometimes by accident, sometimes on purpose
        (injected humour and the like).
    </p>
</body>
</html>

 

<body>
<!-- br : 본문 작성시 줄을 바꿔야 하는 경우에 사용
    닫는 태그가 없다. <br>, <br/> 모두 사용 가능 -->
<h1>Header-1</h1>
<p>
    Lorem Ipsum is simply dummy text of the <br><br><br><br><br><br><br><br><br><br><br><br> printing and

    typesetting industry.
</p>
<p>
    when an unknown printer took a galley of type <br/> and scrambled it to make a type specimen book.
</p>
</body>


 

3)  인용할 때 쓰는 <blockquote> 태그

 

🍒  인용문을 인식할 수 있도록 <blockquote>와 </blockquote> 태그로 감싸주어야 한다.

🍒  다른 텍스트보다 약간 들여 쓰기 된다.

<body>
    <!-- blockquote : 태그는 긴 인용문을 나타낼 때 사용하며, 들여쓰기를 한 것으로 표현 -->
    <blockquote>
        - 존 레논 (John Lennon) - <br>
        그룹 비틀스의 리더로 작가, 그래픽 아티스트, 솔로 가수로도 활동했다.
    </blockquote>

</body>

들여쓰기가 된 결과

 


 

4) 텍스트 굵기 강조 <strong>, <b>

 

🍒  <strong>~</strong> : 경고, 주의사항과 같이 중요한 내용을 강조할 때

🍒  <b>~<b> : 단순히 글자를 굵게 표현하고 싶을 때

 


 

5) 기울인 텍스트 입력 <em>, <i>

 

🍒  <em>~</em> : emphasis의 줄임말로 문장에서 흐름상 특정 부분을 강조하고 싶을 때 사용

🍒  <i>~</i> : italic의 줄임말로 마음속의 생각이나 용어, 관용구 등에 강조할 때 사용

 


 

6) 글자 스타일 적용 <span>

 

🍒  <span>~</span> : 글자를 꾸밀 때 사용. 스타일의 선택자와 함께 주로 사용.
                                            스타일을 안주면 아무런 효과가 없다. 인라인 태그 중에 사용 빈도가 제일 높다 

<body>
<!-- 글자와 같은 성격을 가진 글자 태그(inline) : 옆으로 쌓이는 태그 -->
<!-- 거의 모든 인라인 속성의 태그는 블럭 속성 안에서 사용 된다. -->

    <p>
        <!-- strong : 경고, 주의사항과 같이 중요한 내용을 강조할 때 -->
        <strong>굵게</strong>

        <!-- b : 글자를 굵게 표현하고 싶을 때 : 내용이 아니라 표현만 할 때 -->
        <b>굵게</b><br>
    </p>
    <p>
        <!-- 주위 텍스트에 비해서 강조된 부분이나 저자의 생각 강조 -->
        <em>기울이기</em>

        <!-- i : 이탤릭체를 표현하고 싶을 때 : 내용이 아니라 표현만 할 때 -->
        <i>기울이기</i><br>
    </p>
    <p>
        <!-- span : 글자를 꾸밀 때 사용. 스타일의 선택자와 함께 주로 사용.
        스타일을 안주면 아무런 효과가 없다. 인라인 태그 중에 사용 빈도가 제일 높다 -->
        <span>글자내용</span><br>
        <span>글자</span>내용<br>
        <span style="font-weight: bold;">글자</span>내용<br>
    </p>
</body>

 


 

7)  수평줄 태그 <hr> 

 

🍒  <hr> : 수평줄을 나타내는 태그, 닫는 태그 x

<body>
    <h1>Header-1</h1>
    <hr>
    <p>
        Lorem Ipsum is simply dummy text of the <br> printing and typesetting industry.
    </p>
    <hr>
    <p>
        when an unknown printer took a galley of type <br/> and scrambled it to make a type specimen book.
    </p>
</body>

 


 

8) 기타 태그

 

🍒  <q>~</q> : 따옴표로 감싼 인용 문구 표현. 짧은 부분 인용할 때 사용

🍒  <mark>~</mark> : 노란 형광펜 효과. 중요한 부분 강조할 때 사용

🍒  <del>~</del> : 문서에서 삭제된 텍스트나 지워야 할 부분 강조. 취소선, 중간줄 표시

🍒  <ins>~</ins> : 문서에 나타난 텍스트에 강조하거나 밑줄 표현시 사용

🍒  <ruby>~</ruby> : 동아시아 국가들의 주석(발음) 내용을 표시하기 위해 사용

🍒  <sub>~</sub> : 글자의 아래로 붙는 아래 첨자

🍒  <sup>~</sup> : 글자의 위로 붙는 위 첨자

 

<p>
    <q>장마</q>기간입니다.<br>

    <mark>형광펜 표시</mark> <br>
</p>


<p>
    <del>지울 것</del><br>

    <ins>밑줄 표현</ins><br>
</p>

<p>
    <ruby>
        漢子<rt>한자</rt>
    </ruby>
    <br>
    글자의 위로 붙는 <sup>위첨자</sup><br>
    글자의 아래로 붙는 <sub>아래첨자</sub>
</p>

 


 

3. 목록 만들기

1) 순서 없는 목록을 만드는 태그

 

🍒  unordered list의 약자인 <ul>과 </ul> 태그를 목록 앞 뒤에 붙인 후 list의 약자인 <li>와 </li> 태그를 삽입한다.

🍒  항목 앞에 작은 원이나 사각형을 붙여서 구분하는데 이런 작은 그림을 불릿 bullet 이라고 한다.

<body>
    <!-- 순서가 없는 목록 태그 예문 -->
    <!-- ul : unordered list의 약자 -->
    <!-- li : list item의 약자 -->
<ul>
    <li>짜장면 </li>
    <li>짬뽕</li>
    <li>울면</li>
    <li>야끼우동</li>
</ul>

</body>


 

2) 순서가 있는 목록을 만드는 태그

 

🍒  ordered list의 약자인 <ol>과 list의 약자인 <li> 태그를 사용해 만든다.

🍒  ol의 type 속성을 사용하면 숫자 이외에도 영문자나 로마 숫자등으로 순서를 나타낼 수 있다.

종류 설명
type = "1" 숫자(기본값)
type = "a" 영문 소문자
type = "A" 영문 대문자
type = "i" 로마 숫자 소문자
type = "I" 로마 숫자 대문자

 

🍒  'start' 속성을 사용해서 시작 번호를 바꿀 수도 있다.

<body>
    <!-- 순서가 있는 항목 예문 -->
    <!-- ol : ordered list의 약자 -->
    <ol type="A">
        <li>짜장면 </li>
        <li>짬뽕</li>
        <li>울면</li>
        <li>야끼우동</li>
    </ol>

    <ol start="3">
        <li>짜장면 </li>
        <li>짬뽕</li>
        <li>울면</li>
        <li>야끼우동</li>
    </ol>
</body>


 

3) 설명 목록을 만드는 <dl>, <dt>, <dd> 태그

 

🍒  설명 목록 description list 란 이름과 값 형태로 된 목록을 말한다.

🍒  이름(단어명)을 지정하는 <dt> 태그, 태그와 값(설명) 부분을 지정하는 <dd> 태그로 구성

🍒  <dl>과 </dl> 태그 사이에 한 쌍의 <dt>, <dd> 태그를 넣는다.

        ▶️  <dt> 태그 하나에 <dd> 태그를 여러 개 사용할 수도 있다.

<body>
    <!-- 제목 -->
    <h2>SBS아카데이컴퓨터아트학원</h2>

<!-- dl : definition list : 정의 목록 -->
<!-- dt : definition term : 정의 용어 : 용어의 제목 -->
<!-- dd : definition description : 정의 설명 : 용어의 설명 -->

<!-- 정의 목록 전체 선언 -->
<dl>
    <!-- 정의될 항목 -->
    <dt>강남지정</dt>
    <!-- 항목에 대한 설명 -->
    <dd>주소:서울특별시 서초구 서초대로 77길3 아라타워 5층</dd>
    <dd>전화:02)530-8555</dd>
</dl>

<dl>
    <!-- 정의될 항목 -->
    <dt>신촌지점</dt>
    <!-- 항목에 대한 설명 -->
    <dd>주소:서울특별시 서대문구 신촌로 183 유인빌딩 5층</dd>
    <dd>전화:02)312-9660</dd>
</dl>

</body>

 

 

 

 

[ 내용 참고 : IT 학원 강의 및 책 'Do it 한권으로 끝내는 웹 기본 교과서']

+ Recent posts