• 회원가입
  • 로그인
  • 구글아이디로 로그인

[style] HTML - <div> 태그 ★★★★★ - 영역 지정 (= 섹션 분할 = div태그 = 디브태그 = 디비전태그) (HTML5수정)</div>

목차

  1. <div> 예제 - 문서 영역 설정
  2. <div> 정의
  3. <div> 구문
  4. <div> 속성
  5. <div> 예제 - 2x2 테이블 만들기
  6. <div> 예제 - div 태그 특징 이해
  7. <div> 예제 - div 안 공백 특징
  8. 관련 CSS 좌표

 

<div> 예제 - 문서 영역 설정

 
<div style="color:blue">
  <h3>홈짱닷컴 (homzzang.com)</h3>
  <p>HTML CSS PHP JavaScript 무료 강의</p>
</div>

결과 보기
 

<div> 정의

 
의미 상 관련 없는 문서 영역 묶을 때 사용.

 


 
1. 
홈페이지 제작할 때 가장 자주 사용하는 태그 중 하나이며, 
최근엔 <div> 태그 이용해 <table>  레이아웃 대체 중임.
(∵ 영역 분할・섹션 지정이 <table>태그보다 훨씬 간단) 
 
2. 
<div> : 영역(division)의 약자
 
3. 
<div> 태그는 기본적으로 블럭요소 (Block Element : 한 줄 전체를 전부 차지하는 속성)라서 CSS 적용 없을 때는 <div> 태그 앞뒤로 줄바꿈되어 종렬로 정렬 됨. 
단, CSS 중 float 속성 이용해 옆으로 정렬 가능. 
 
4. 
<div> 태그는 홈페이지 레이아웃 (=기본틀) 위해서 CSS와 함께 자주 사용.
 
5. 
HTML5에서는 align 속성 더 이상 지원 X. (CSS 권장.)

6. 
시작 태그와 종료 태그로 구성
 
 

<div> 구문

[예전 방식]
 
<div 속성=속성값> 내용 </div> 
[주의]
HTML5 이전 버전 때 허용되었으나, HTML5에서는 CSS로 대체 됨.
즉, <div align=left>내용</div> 태그가 HTML5에서는 더 이상 지원 안됨.
따라서, HTML5에서는 <div style="text-align:left">내용</div>처럼 해야 함.

 


[권장 방식]
 
<div style="속성:속성값; 속성:속성값; ... "> 내용 </div>
 
[주의]
앞으로 이런 CSS 적용 형식으로 사용해야 함.또한, align 속성 역시 HTML5에서 지원 안 되므로 CSS 속성 중 text-align 속성을 이용해야 함. 왜냐하면, CSS엔 align 속성이란 것이 없기 때문임.
 
 

<div> 속성

 속성  속성값
 쓰임새 
 비고
 align
 left  
right
center
justify 
 left  : 왼쪽 정렬
right : 오른쪽 정렬
center : 중앙 정렬
justify : 좌우 균분 정렬 
 HTML5 X
<div>태그는 전역속성・이벤트속성 지원.
 

<div> 예제 - 2x2 테이블 만들기

 

<style>

*{margin:0; padding:0;}

 

/* float 이용 방법 */

.a{width:400px;}

.a div {

    width:50%; 

    height:100px; 

    line-height:100px;

    float:left; 

    background:yellow;

    outline:1px solid #000;

    box-sizing: border-box;

    text-align:center;

}

 

/* flex 이용 방법 */

.b{width:400px; display:flex; flex-wrap:wrap;}

.b div{

    flex-basis:50%; 

    height:100px;

    line-height:100px;

    background:tomato; 

    outline:1px solid #000;

    text-align:center;

}

</style>


<div class="a">

    <div>홈</div>

    <div>짱</div>

    <div>닷</div>

    <div>컴</div>

</div>

<div class="b">

    <div>홈</div>

    <div>짱</div>

    <div>닷</div>

    <div>컴</div>

</div>

 

결과보기

바트컨트롤 님 (210712) https://sir.kr/qa/421565
 

<div> 예제 - div 태그 특징 이해

 

<style>

/* 바깥 div 높이 설정 X 경우 */

#a {

    border:1px solid red;

}

#a div {

    border:1px solid blue;

    float:left;

    height:100px;

}

 

/* 바깥 div 높이 설정 O 경우 */

#b {

    border:1px solid red;

    height:50px;

    clear:both;

    margin-top:120px;

}

#b div {

    border:1px solid blue;

    float:left;

    height:100px;

}

</style>

 

<div id="a">

    <div>1</div>

    <div>2</div>

    <div>3</div>

    <div>4</div>

</div>


<div id="b">

    <div>1</div>

    <div>2</div>

    <div>3</div>

    <div>4</div>

</div>

 

결과보기


[위 코드 설명]

 

1.

#a 경우 높이 미설정으로 인해서 제대로 상자 구성 X

반면,

#b 경우 낮은 높이 설정 탓에 자식요소를 제대로 못 감쌈.

 

2.

그 결과, #a와 #b가 둘 다 블럭요소이지만,

$a의 자식요소와 #b의 자식요소가 옆으로 나린히 배치됨. 보기 ★

따라서, 

#a와 #b를  상하로 간격 두고 배치하려면 아래 속성 필요.

clear:both; /* 강제 줄바꿈 */

margin-top:120px; // #a의 자식요소 높이보다 큰 값을 줘야 함.

 

3. ★

#a와 #b를 제대로 상자 구실 하게 하려면 둘 다 각각에

overflow:hidden 또는 overflow:auto 속성 추가 필요.

이 경우, clear:both 속성은 불필요하게 되며,

#b에 margin-top:20px만 줘도 상하 간격 벌어지게 됨.

 


[예제] - 위 코드 해설을 적용한 경우

 

<style>

/* 바깥 div 높이 설정 X 경우 */

#a {

    border:1px solid red;

    overflow:auto

}

#a div {

    border:1px solid blue;

    float:left;

    height:100px;

}


/* 바깥 div 높이 설정 O 경우 */

#b {

    border:1px solid red;

    height:50px;

    margin-top:20px;

    overflow:auto;

}

#b div {

    border:1px solid blue;

    float:left;

    height:100px;

}

</style>

 

<div id="a">

    <div>1</div>

    <div>2</div>

    <div>3</div>

    <div>4</div>

</div>


<div id="b">

    <div>1</div>

    <div>2</div>

    <div>3</div>

    <div>4</div>

</div>

 

결과보기 

 

<div> 예제 - div 안 공백 특징

1. 링크 앞뒤에 글자 없는 경우, Enter키 쳐서 줄바꿈 해도 공백 안 생김.

 

<style>

div {display:inline-block; border:1px solid red;}

</style>

 

<div><a href="https://homzzang.com">홈짱닷컴</a></div>

 

<div>

    <a href="https://homzzang.com">홈짱닷컴</a>

</div>

 

결과보기


2. 링크 앞뒤로 글자 넣고 Enter 키 치면 링크 앞뒤로 공백 생김.

※ 주의: 링크 앞뒤로 공백 여러 개 넣어도 1개로 간주됨.

 

<style>

div {display:inline-block; border:1px solid red;}

</style>

 

<div>앞

<a href="https://homzzang.com">홈짱닷컴</a>

뒤</div>

 

결과보기

 

관련 CSS 좌표

 

CSS 레이아웃 속성 모음

https://homzzang.com/b/css-254

 

CSS 정렬/위치 속성 모음

https://homzzang.com/b/css-256

 

DIV 테이블 생성기

https://divtable.com/generator/

 


방문 감사합니다. (즐겨찾기 등록: Ctrl + D)

분류 제목
style HTML - <style> 태그 ★ - 요소에 CSS스타일적용 (= style태그 = 스타일태그)
style HTML - <div> 태그 ★★★★★ - 영역 지정 (= 섹션 분할 = div태그 = 디브태그 = 디비전태…
style HTML - <span> 태그 ★★★ - 인라인요소그룹 (= span태그 = 스팬태그 = 스판태그)</spa…
style HTML - <header> 태그 ★ - 단락머리말 (= header태그 = 헤더태그 = 헤더요소) (HT…
style HTML - <footer> 태그 ★ - 단락꼬릿말 (= footer태그 = footer요소 = 푸터태그 =…
style HTML - <main> 태그 ★ - 문서기본내용 (= main태그 = 메인태그)
style HTML - <section> 태그 ★ - 연관된 문서단락 (= section태그 = 섹션태그, IE9)
style HTML - <article> 태그 ★ - 자족적인 독립콘텐츠 (= 아티클태그 = article태그. IE9…
style HTML - <aside> 태그 ★ - 관련 별도 콘텐츠 (= aside태그 = 어사이드태그)
style HTML - <details> 태그 - 토글 가능한 세부사항(상세사항)을 표시 (= details태그 = 디…
style HTML - <dialog> 태그 - 대화박스 (= 대화상자 = dialog태그 = 다이알로그태그) (HTM…
style HTML - <summary> 태그 - 세부사항의 머리글 (= summary태그 = 서머리태그 = 써머리태…
목록
찾아주셔서 감사합니다. Since 2012