본문 바로가기
프로그래밍/html

html <div>로 웹사이트 레이아웃 구성하기2

by -현's- 2012. 5. 28.
반응형

●웹표준 레이아웃

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>

 

<style type="text/css">
body,div,ul,li,dl,dt,dd,ol,p,h1,h2,h3,h4,h5,h6,form{margin:0; padding:0}
body{font:normal dotum, '돋움';}
ul,il,dl{list-style:none}
img{border:0; vertical-align:top;}
ul{list-style:none; padding:0; margin:0;}

 

#wrap{margin:0; auto; width:900px;  }
#header{float:left; width:900px; height:145; margin-bottom:15px;}
#sidebar{float:left; width:245px;}
#content{float:right; width:645px;}
#footer{float:left; width:900px; margin-top:20px;}
</style>

 

</head>
<body>

 

<div id="wrap">
  <div id="header">a</div>
  <div id="sidebar">b</div>
  <div id="content">c</div>
  <div id="footer">d</div>
</div>

 

</body>
</html> 

 

 

●#wrap{margin:0 auto; width:900px;}

- table에서는 align="center"로 중앙 정렬을 했지만, 웹표준에서는 따로 중앙정렬은 없다. 그래서 중앙정렬을 하려면 가장 바깥 div에 'margin:0 auto'를 선언해 준다. 'margin:0'은 상하 0px라는 뜻이고 'auto'는 좌우를 중앙에 위치하게 한다.

 

 

 

●큰 div(wrap,header,sidebar,content,footer 등)를 만들고 그 안에 세부적인 div를 만든다. 큰 div는 height값을 주지 않고 세부적인 div에 height를 준다.

 

 

 

●width, margin, padding, height 수치를 정확히 계산해서 레이아웃을 만든다. 만들 레이아웃 디자인을 프린트하고 계산기로 위의 값을 계산하면서 하면 편하다.

 

 

 

●margin은 바깥쪽 여백, padding는 안쪽 여백이다.

 

 

 

●padding값은  width값에 포함하지 않는다. 계산할때 따로 더해주어야 한다.

ex)

<div style="padding:10px; width:80px; height:80px;"></div>

여기서 총 길이는 width값 80px와 양쪽 padding값 10px+10px인 100px이다.

 

 

 

●값에 숫자만 쓰면 안되고 px등 단위를 써주어야한다.

 

 

 

●div에 테두리를 사용하려면 'border:1px solid ;border-color:blue;' 를 css에 입력한다.

ex)

#header{float:left; width:900px; height:145px; border:1px solid ; border-color:blue; margin-bottom:15px; }

 

 

 

●연습 예

 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>

<style type="text/css">
/* 공통 속성 */
body,div,ul,li,dl,dt,dd,ol,p,h1,h2,h3,h4,h5,h6,form{margin:0; padding:0}
body{font:normal dotum, '돋움';}
ul,il,dl{list-style:none}
img{border:0; vertical-align:top;}
ul{list-style:none; padding:0; margin:0;}
/* 큰 div */
#wrap{margin:20px auto; width:900px;  }
#header{float:left; width:900px; height:145px; background:green; margin-bottom:15px; }
#sidebar{float:left; width:245px;}
#content{float:right; width:645px;}
#footer{float:left; width:900px; height:80px; background:green; margin-top:15px; margin-bottom:30px;  }
/* sidebar 세부 div */
#sidebar_a{width:250px ;height:150px ;background:green; margin-bottom:10px;  }
#sidebar_b{width:250px ;height:160px ;background:green; margin-bottom:10px; }
#sidebar_c{width:230px ;height:300px ;background:green; padding:10px;  }
#sidebar_c_1{width:230px ;height:145px ;background:yellow; margin-bottom:10px; }
#sidebar_c_2{width:230px ;height:145px ;background:yellow; }
/* content 세부 div */
#content_a{width:625px ; background:green ;margin-bottom:10px; padding:10px;  }
#content_a_1{width:625px ;height:90px ;background:yellow ;margin-bottom:10px;  }
#content_a_2{width:625px ;height:90px ;background:yellow; ;margin-bottom:10px ; }
#content_a_3{width:625px ;height:100px ;background:yellow; ; }
#content_b{width:645px ;height:150px ;background:green ;margin-bottom:10px ; }
#content_c{width:645px ;height:160px ;background:green ; }

</style>

</head>
<body>

<div id="wrap">
 <div id="header"></div>
 <div id="sidebar">
  <div id="sidebar_a"></div>
  <div id="sidebar_b"></div>
  <div id="sidebar_c">
   <div id="sidebar_c_1"></div>
   <div id="sidebar_c_2"></div>  
  </div> 
 </div> 
 <div id="content">
  <div id="content_a">
   <div id="content_a_1"></div>
    <div id="content_a_2"></div>
    <div id="content_a_3"></div>
  </div> 
  <div id="content_b"></div>
  <div id="content_c"></div> 
 </div>
 <div id="footer"></div>
</div>

</body>
</html>

 

 

 

 

반응형

댓글