본문 바로가기
Front-end/Web

HTML - 콘텐츠 구분 & 문자 콘텐츠

by 안녕주 2021. 2. 2.

BODY 내 구조 개념

1. HEADER

  • <header> 요소는 소개 및 탐색에 도움을 주는 콘텐츠
  • <header>안에 <header>와 <footer>가 올 수 없다, <footer>와 <address>안에 <header>가 올 수 없다.
header { display: block; }

 

 

2. FOOTER

  • <footer>는 일반적으로 구획의 작성자, 저작권 정보, 관련 문서를 담는다.
  • <footer> 요소는 <address>, <header>, 혹은 다른 <footer>아래에 올 수 없다. 
footer { display: block; }

 

 

3. H1 ~H6

  • <h1>~<h6> 요소는 6단계의 구획 제목을 구현.
  • 숫자가 커질 수록 크기가 작아진다.
  • 글씨 크기를 위해 제목 태그를 사용하지 말고 대신 CSS의 font-size 속성을 사용해야한다.
  • h1 ---> h6대로 순서대로 제목 단계를 써야한다.
  • h1 레벨의 제목을 되도록이면 한페이지에 한번만 사용
h1, h2, h3, h4, h5, h6 { display: block; }

 

 

4. MAIN

  • <main> 요소는 문서 <body>의 주요 콘텐츠
  • 주요 콘텐츠 영역은 문서의 핵심 주제나 앱의 핵심 기능에 직접적으로 연결됐거나 확장하는 콘텐츠로 이루어진다.
  • 브라우저 호환성 - internet explorer 사용 불가
  • 한 문서에 하나의 <main>만 포함 가능
main { display: block; }

 

 

5. ARTICLE

  • 독립적으로 구분되거나 재사용 가능한 영역을 설정. (매거진/신문 기사, 블로그 등)
  • 일반적으로 <h1>~<h6>를 포함하여 식별.
  • 작성일자와 시간을 <time>의 datetime 속성으로 작성.
  • <article>안에 <section>이 들어갈 수 있다.
article { display: block; }

 

 

6. SECTION

  • 문서의 일반적인 영역을 설정.
  • 일반적으로 <h1>~<h6>를 포함하여 식별.
  • <section>안에 <article>이 들어갈 수 있다.
section { display: block; }

 

 

 

7. ASIDE

  • 문서의 별도 콘텐츠를 설정. (보통 광고나 기타 링크 등의 사이드바(Side bar)를 설정)
aside { display: block; }

 

 

8. NAV

  • 다른 페이지 링크를 제공하는 영역을 설정. (Navigation, 보통 메뉴(Home, About, Contact), 목차, 색인 등을 설정)
nav { display: block; }

 

 

9. ADDRESS

  • <body>, <article>, <footer> 등에서 연락처 정보를 제공하기 위해 포함하여 사용
address { display: block; }

 

 

 

10. DIV

  • 본질적으로 아무것도 나타내지 않는 콘텐츠 영역을 설정. (Division, 꾸미는 목적으로 사용)
div { display: block; }

 

 


예제

Ctrl+B : side bar 조작

Ctrl + Shift + P : 약어로 래핑

Ctrl + Alt + L : beautify

<!DOCTYPE html>
<html lang="jo">
<head>
    <meta charset="UTF-8">
    <title>콘텐츠 구분 예제</title>
    <link rel="stylesheet" href="./main.css">
</head>
<body>
    <header>
        <nav>
            <ul>
                <li>메뉴1</li>
                <li>메뉴2</li>
                <li>메뉴3</li>
            </ul>
        </nav>
    </header>

    <main>
        <section>
            <h1>Section</h1>
            <article>
                <h2>Article1</h2>
                <p>Contents...</p>
            </article>
            <article>
                <h2>Article2</h2>
                <p>Contents...</p>
            </article>
            <article>
                <h2>Article3</h2>
                <p>Contents...</p>
            </article>
        </section>
    
        <aside>
            Aside
        </aside>
    </main>

    <footer>
        <address>
            <a href="mailto:ahju0011@gmail.com">ahju0011@gmail.com</a>
            <a href="tel:+8201012345678">010-1234-5678</a>
        </address>
    </footer>

</body>
</html>
header {
    background-color: tomato;
    margin: 10px;
    padding :20px;
}
header nav{

}
header nav ul{
    display : flex;
}
header nav ul li{
    list-style:none;
    margin: 10px;
}
main{
    display:flex;
}
section{
    width:70%;
    background-color: tomato;
    margin:10px;
    padding:10px;
    box-sizing: border-box;
}
section h1{

}
article{
    background-color: yellowgreen;
    margin-bottom: 10px;
    padding:10px;
}
article h2{

}
article p{

}
aside{
    width:30%;
    background-color: tomato;
    margin:10px;
    padding:10px;
    box-sizing: border-box;
}
footer{
    background-color: tomato;
    margin:10px;
    padding:20px;
}
footer address{

}
footer address a{
    display:block; /*inline요소(수평)를 block요소(수직)로 */
}

 


문자 콘텐츠

1. OL,UL,LI

각 항목(<li>)의 정렬된 목록(<ol>)이나 정렬되지 않은 목록(<ul>)을 설정.

  • <ol>과 <ul>은 자식으로 <li>만 포함 가능. (즉 ol +li 와 ul +li)
  • <li>는 단독으로 사용할 수 없으며, <ol>이나 <ul>에 자식으로 포함되어야 함.
  • 정렬된 목록(<ol>)의 항목 순서는 중요도를 의미할 수 있음.
ol, ul { display: block; }
li { display: list-item; }

<ol>

속성 의미
start 항목에 매겨지는 번호의 시작 값 숫자(Number)
type 항목에 매겨지는 번호의 유형 a, A, i, I, 1
reversed 역순으로 번호 reversed

<li>

속성 의미 특징
value 항목의 순서를 설정 숫자(Number) 이하 항목들의 순서가 다시 지정됨

 

 

2. DL,DT,DD

영역(<dl>)속에 용어(<dt>)와 정의(<dd>) 쌍

  • <dl>은 <dd>, <dt>만을 포함해야 함.
  • 키(key)/값(value) 형태를 표시할 때 유용.
  • 디자인할 때 한계가 있어서 (dl은 ul)로 (dt는 dfn)로 (dd는 p)태그로 바꿔서 사용
<dl>
  <dt>Coffee</dt>
  <dd>Coffee is a brewed drink prepared from roasted coffee beans, the seeds of berries from certain Coffea species.</dd>
  <dt>Milk</dt>
  <dd>Milk is a nutrient-rich, white liquid food produced by the mammary glands of mammals.</dd>
</dl>
dl, dt, dd { display: block; }

 

 

3. P,HR

<p>

하나의 문단을 설정.

  • 일반적으로 정보통신보조기기 등은 다음 문단(<p>)으로 넘어갈 수 있는 단축키를 제공함.
p { display: block; }

 

<hr/>

문단의 분리(주제에 의한)를 위해 설정.

  • 대부분의 경우 수평선(border)으로 표시(표현적 관점)되나 의미적 관점으로만 사용해야 함.
  • 기본적으로 선을 출력 --> CSS에서 border : none 하면 선이 없음
hr { display: block; }

</br> : 줄바꿈 태그

 

 

4. PRE

서식이 미리 지정된 텍스트를 설정.

  • 텍스트의 공백과 줄바꿈을 유지하여 표시할 수 있음. (내가 원하는 서식 그대로 입력대로 출력)
  • <pre>내용</pre> 이런형태로 바로 붙여서 써야지 빈 공백이 출력안된다.
  • 기본적으로 Monospace 글꼴 계열로 표시됨.
pre { display: block; }

 

 

5. BLOCKQUOTE

일반적인 인용문을 설정.

속성 의미
cite 인용된 정보의 URL URL
blockquote { display: block; }

 

 


Thanks to heropy.blog/2019/05/26/html-elements/

 

자세한 내용은 '태그이름 + mdn'을 사용해서 검색 (ex. div mdn)

 

 

'Front-end > Web' 카테고리의 다른 글

HTML - 멀티미디어 & 내장 콘텐츠 & 스크립트  (0) 2021.02.02
HTML - 인라인 텍스트 & 수정  (0) 2021.02.02
HTML - 주요범위 & 메타데이터  (0) 2021.02.02
CSS  (0) 2021.02.01
HTML  (0) 2021.02.01

댓글