[1] SGML과 HTML의 관계

 

✔ 단일태그란?

: 그 자체의 내용을 가진 태그

<meta charset = "UTF-8">

 

 General Mark up 언어의 필요성

데이터를 저장하거나 전달하기 위한 마크업 ▶ 범용적으로 사용할 수 있는 마크업 언어를 만듦 ▶ 웹에서 사용하게 됨

 

SGML이 html의 !ELEMENT를 정의함 ▶ SGML기반으로 돌아가는 HTML ▶ 문서를 정의한대로 써야하는게 문제점이 됨

 

 

 

[2] 시멘틱웹과 XML, HTML의 관계

1. 시멘틱을 지원하는 문서로의 변화 - W3C : 문서를 좀 더 문서답게 만들기 ▶ html

2. 프로그래밍 플랫폼으로의 변화 - WHATWG : 문서를 프로그래밍 환경으로 변화시키기 XML & XHTML

 

시멘틱을 지원하는 웹의 모양 : 데이터 자동 추출 문서로 변화

태그를 사용자가 정의할 수 있는 마크업 언어의 필요성 : 데이터를 꾸미기보단 내용을 더 잘 설명할 수 있는 태그 필요

 

의미가 더 잘 살아있는 태그 = 시멘틱 태그 

예시) <header /> <main /><footer />

 

XML (Extensible Markup Language ) 기반 XHTML을 사용하게 됨 (태그확장성이 부여된 메타언어) ▶ 문서타입(형식)을 정의하는 새로운 언어로 활용됨. '단, 형식만 잘 맞춰 쓰세요' ▶ 단일태그 사용 지양 (해석기에 의한 결과가 유효하지않음) ▶ XHTML 이 발전할수록 기존 태그를 반영하지 못하는 문제점(호환성)으로 인해  HTML5로 개발됨

 

 

 

[3]  HTML 문서에서 사용되는 콘텐츠 블록의 종류

<html /> <head /> <meta />
<title />
<body /> 제목:
<h /> (h1~h6)
<hgorup />
목록:
<ul /> unordered list // *
<ol /> ordered list // 1,2,3
<dl /> definition with tap // <dt>용어 <dd>설명 
문장:
<div> 이도 저도 아닌것 구역나누기
<p />
표:
<table />
<tr /> 행나누기
<td /> 열나누기
입력폼: <form /> 사용자로부터 입력받는 폼

3-1) 콘텐트의 일반적인 구성

header <h1>

main (title 포함) <h2> - 각 영역에서의 제목은 모두 동일하게 맞춰준다

aside <h2>

footer <h2>

 

3-2) 목록태그

<ul /> unordered list : 정렬되지 않은 항목을 갖고있는 목록 (*으로 표기)

<ol /> ordered list : 1,2,3으로 정렬된 목록

<di /> definition list: <dt /> <dd /> 가 쌍을 이루어서 목록을 만든다. (제목이 나오고 내용이 들여쓰기되어있음)

ul, ol, di 어느곳이든 무조건 목록 안에 들어가는 태그 <li />. 목록의 줄을 구분해준다고 생각.

✅ ul>li // <ul /> 과 <li /> 가 동시에 생긴다

ul >li *3  // <ul /> 안에 <li /> 3개가 동시에 생긴다

✅ 컨텐트 블럭 중에서 목록태그, 폼태그, 표 태그 내부에는, 구조를 깨는 다른 항목 (<div />같은 다른 요소들)이 들어오면 안됨!!!!!!!!!!

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <a href="../index.html">홈</a>   <!-- 경로지정 -->
    <a href="list.html">공지사항목록</a>
    <a href="../member/login.html">로그인</a>
    <a href="../member/signup-agree.html">회원가입</a>
    <h1> 공지사항 리스트 페이지</h1>

    <h1>뉴렉처 온라인</h1> <!-- 제목단 -->
    <ul> 
        <li>학습가이드</li>
        <li>강좌선택</li>
        <li>AnswerIs</li>
    </ul>
    
    <form>
        <fieldset> <!-- 검색창을 한번 더 디자인적으로 감싸줄 수 있음 -->
            <legend>검색입력필드</legend> <!-- 필드 -->
            <label>과정검색</label> <!-- 검색창 -->
            <input type="text" > 
            <input type="submit" value="검색"> <!-- 검색버튼 -->
        </fieldset>
    </form>
    
    <ul>
        <li>HOME</li>
        <li>로그인</li>
        <li>회원가입</li>
    </ul>

    <ul>
        <li>마이페이지</li>
        <li>고객센터</li>
    </ul>

    <h2>고객센터</h2> 

    <h3>고객센터메뉴</h3>

    <ul>
        <li>공지사항</li>
        <li>자주하는 질문</li>
        <li>수강문의</li>
        <li>이벤트</li>
    </ul>

    <h3>협력업체</h3>

    <ul>
        <li>노트펍스</li>
        <li>나무랩연구소</li>
    </ul>
    
    <h2>공지사항</h2>
    
    <ol> <!-- 검색 경로이므로 ordered list -->
        <li>home</li>
        <li>고객센터</li>
        <li>공지사항</li>
    </ol>

    <table border="1"> <!-- 테이블에 선 지정 -->
        <tr> <!-- 행구분 -->
            <td>번호</td> <!-- 열구분 -->
            <td>제목</td>
            <td>작성자</td>
            <td>작성일</td>
            <td>조회수</td>
        </tr>
        <tr>
            <td>1045</td>
            <td>2023년 5월말 국비지원 오프라인 무료과정 2차모집</td>
            <td>newlec</td>
            <td>2023-04-08</td>
            <td>123</td>
        </tr>
        <tr>
            <td>1044</td>
            <td>2023년 2월초 국비지원 오프라인 무료과정 모집</td>
            <td>newlec</td>
            <td>2022-12-11</td>
            <td>2001</td>
        </tr>
        <tr>
            <td>1043</td>
            <td>11월 말 2차모집 공지</td>
            <td>newlec</td>
            <td>2022-11-05</td>
            <td>2350</td>
        </tr>
    </table>
    
    <div> <!-- 제목,내용,테이블,폼에 해당되지 않는 애매한 부분은 div로 구분 -->
    1 / 3 pages
    </div>

    <div>
        <div>이전</div>
        <ul> <!-- 페이지 넘기는 부분은 리스트에 해당 -->
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
            <li>5</li>
        </ul>
        <div>다음</div>
    </div>
    
    <h2>회사정보</h2>
    <dl>
        <dt>주소:</dt>
            <dd>서울특별시 노원구 노해로 491 중앙빌딩 4층 4034호</dd>
        <dt>관리자메일:</dt>
            <dd>admin@newlecture.com</dd>
        <dt>사업자 등록번호:</dt>
            <dd>639-88-01988</dd>
        <dt>통신 판매업:</dt>
            <dd>신고제 2013-서울강동-0969 호</dd>
        <dt>입금계좌:</dt>
            <dd>신한은행 : 100-035-443742</dd>
        <dt>상호:</dt>
            <dd>(주)뉴렉처</dd>
        <dt>대표:</dt>
            <dd>박용우</dd>
        <dt>전화번호:</dt>
            <dd>070-4206-4084</dd>
    </dl>
    
    <div>
    Copyright ⓒ newlecture.com 2012-2014 All Right Reserved. Contact admin@newlecture.com for more information
    </div>

</body>
</html>

 

서식 결과물

 

 

 

[+]  문서의 아웃라인을 묶는 그룹 설정하기

: <div> 태그를 통해서 그룹을 만들어줄 수 있다

 

 

 

[4] 시멘틱태그

: html5부터 적용된, 필수구조를 설명하는 태그. 문서 내용 식별에 표준 방식이 생김

<div id="header"></div> ▶ <header><h2></header>

<div id="main"></div> ▶ <main><h2></main>

<div id="footer"></div> ▶ <footer><h2></footer> 

 

 

[5] 섹션태그 <section />

: 제목을 일련번호로 나누지말고, 섹션 태그로 영역을 잡아서 그 내부는 태그 순서를 다시 잡을때 쓰는 태그

: 해당 영역에서는 <h1>부터 다시 시작할 수 있다 (이때, h1이라고 해서 가장 큰 제목만큼 커지진 않고 넘버링만 자동으로 붙는 것)

: [제목+컨텐트]를 감싸는 영역. 이때 각 섹션은 저작권 정보를 포함할 수 있으며, 포함할 경우  <footer />를 사용하여 표기한다.

 

 

[6] 시멘틱 섹션 태그 = 특정역할을 표기한 섹션태그

: 섹션태그를 이용해 아웃라인을 잡는 새로운 방식 (섹션태그에 속하는 태그들)

: 각 섹션의 용도에 따라 이름을 달리 달아줌

<article> - 내용(문장)을 가지고 있는 섹션. header(O), footer (O), main (X)

<aside /> - main, title, footer을 제외한 양사이드 header(O), footer (O), main (X)

<nav /> - 하이퍼링크로 연결되어 다른페이지로 연결되는 파트 (예.메뉴). 컨텐트에 링크만 갖고 있는 섹션. header(X), footer (X), main (X)

<body /> header(O) footer (O) main(O)

(* 메인은 한 세션당 최대 1번만 가능하며, 나오지 않아도 된다)

 

------------------------------------------------------------------지금까지 설명된 태그들은 모두 콘텐츠 영역(블록)을 위한 태그

 

 

 

[7] 블록태그-  (영역) 방을 만드는데 신경쓰는 것

✔ 블록태그 <div />

: 모든 블록태그들은 가로 너비를 다 쓰게 되어있다

 

✔ 제목스타일 블록 <ul /><ol />

: 위아래 마진 발생

 

✔ 목록 스타일 블록 <li />

: 위아래+좌우 마진 발생

 

 

 

[8] 인라인 태그 - 컨텐트를 설명하거나 컨텐트를 꾸며주는데 사용 = 블록태그 안에서 꾸미는 역할이므로 블록태그 안에 포함됨

: <div /> 블럭태그 안쪽에서 사용되는 태그 <a /><b /><u /> 

: 자신이 감싸는 콘텐트의 크기와 밀접하며 콘텐트의 크기가 자신의 크기가 된다. 자기가 크기를 늘리고 줄이고 할 수 없음

: <img> <input> 같은 단일태그도 포함된다

: <span /> 대표적인 인라인태그. 컨텐트만큼만 감싼다. 따라서 한 줄에 같이 나열된 컨텐트를 꾸며줄때 사용.

 

✅ 인라인태그에 스타일을 주는 이유 👉 스타일 / 의미를 주려고 / 새로운 컨텐트임을 표시.

 

* mozila사이트에 소개된 인라인 태그- 메인 업데이트 페이지인 영문페이지로 볼 것.

 

인라인 요소 - HTML: Hypertext Markup Language | MDN

HTML(Hypertext Markup Language)의 요소는 역사적으로 "블록 레벨" 요소와 "인라인" 요소로 분류됐습니다. 인라인 요소는 콘텐츠의 흐름을 끊지 않고, 요소를 구성하는 태그에 할당된 공간만 차지합니다.

developer.mozilla.org

 

 

<fieldset>: The Field Set element
The <fieldset> HTML element is used to group several controls as well as labels (<label>) within a web form.
: 여러 컨트롤러들을 웹 폼 내에서 하나의 그룹으로 묶어줄때 사용됨

<legend>: The Field Set Legend element
The <legend> HTML element represents a caption for the content of its parent <fieldset>.
: <fieldset>에 이름을 붙여주는 역할. 부모콘텐츠인fieldset에 대한 캡션.

 

 


 

 

 

[9] CSS = cascading style sheet

: 스타일을 변경하기 위한 명령어 집합

 

* css mozila 사이트

 

CSS reference - CSS: Cascading Style Sheets | MDN

Use this CSS reference to browse an alphabetical index of all of the standard CSS properties, pseudo-classes, pseudo-elements, data types, functional notations and at-rules. You can also browse key CSS concepts and a list of selectors organized by type. Al

developer.mozilla.org

 

<body>
    <h1><a href="../index.html">뉴렉처 온라인</a></h1> <!-- 헤드에 하이퍼링크 연결-->

    <header> <!-- 시멘틱태그 -->
        <section> <!-- div를 섹션으로 변경. h1부터 다시 숫자 카운팅 가능 -->
            <h1>목차</h1>

            <nav> <!-- section을 시멘틱섹션으로 적용해서 변경. 다른곳과 연결되는 네비게이터 -->
                <h1 style="color:blue;font-size:10px;">메인메뉴</h1>
                <ul>
                    <li><a href="">학습가이드</a></li>
                    <li><a href="">강좌선택</a></li>
                    <li><a href="">AnswerIs</a></li>
                </ul>
            </nav>
<!-- 생략 -->

+ Recent posts