๋ฐ์ํ ์น์ด๋?
- ๋์คํ๋ ์ด ์ข ๋ฅ์ ๋ฐ๋ผ ํ๋ฉด์ ํฌ๊ธฐ๊ฐ ์๋์ผ๋ก ์ต์ ํ๋๋๋ก ์กฐ์ ๋๋ ์น ํ์ด์ง.
- ํ์ดํผํ ์คํธ ์์ฑ ์ธ์ด ๋ฒ์ 5(HTML5) ์๋๊ฐ ๋๋๋จ์ ๋ฐ๋ผ ๊ธฐ๋ฅ ์์ฑ ํํ์ ์๋ก์ด ๋งํฌ์ ์ธ์ด์ ๋ฑ์ฅ์ผ๋ก ์ค๋งํธํ ์นํ์ด์ง ๊ตฌํ์ด ๊ฐ๋ฅํ๋ค.
์ฆ ํ๋์ ์ฌ์ดํธ๋ฅผ ๋ค์ํ ๋๋ฐ์ด์ค์์ ์ต์ ํ๋ ๋์์ธ๊ณผ ๋ ์ด์์์ผ๋ก ์ด์ฉํ ์ ์๋๋ก ์ ์๋ ์ฌ์ดํธ.
์ฒ์์๋ pc์ฉ ์ฌ์ดํธ์ ๋ชจ๋ฐ์ผ์ฉ ์ฌ์ดํธ๋ฅผ ๋ฐ๋ก ๋ง๋ค์ด์ ์ ๊ณตํ๋๊ฒ์ด ๋น์ฐ์๋์๋ค. ์ด๋ฅผ ์ ์ํ ์น์ด๋ผ๊ณ ํ๋ค.
์ ์ ์ค๋งํธ ๊ธฐ๊ณ๊ฐ ๋ณดํธํ๋๊ณ ์ค๋งํธํฐ์ ์ต์ ํ๋ ์ฌ์ดํธ์ ๋ํ needs๊ฐ ๋ฐ์์ ํ๋ฉด์ ๋๊ฐ์ ์ฌ์ดํธ๋ฅผ ์ ์ง ๋ณด์ํด์ผ๋๋ ์ ์ํ ์น๋ณด๋ค๋ ํ๋์ ์์ค๋ก ๊ด๋ฆฌํ๊ณ ์ ์ง๋ณด์๋น์ฉ์ด ์ ๊ฒ๋๋ ์ฅ์ ์ด ์๋ ๋ฐ์ํ ์น ๊ธฐ์ ์ด ๋ฐ์ ํ๊ฒ ๋์๋ค.
์ฌ์ฉ ์์
๊ฐ๋ฐ์ ๋๊ตฌ์์ ๋ค์ํ ํ๋ฆฌ์
์์ ๋ณด์ด๋ ํ๋ฉด์ ํ์ธํ ์ ์๋ค.
์ค์ ๋ก ๋ณด๋ ๋๋ฐ์ด์ค ํ๋ฉด๊ณผ ์ฐจ์ด๊ฐ ์์ ์ ์์์ ์ ์
PC, TABLET, MOBILE 3๊ฐ์ง ๋๋ฐ์ด์ค์ ํฌ๊ธฐ๋ณ๋ก ๋ณํํ๋ 3๊ฐ์ง์ ๋์์ธ ํ์
PC๋ฅผ ๊ธฐ์ค์ผ๋ก ๋จผ์ ์ฝ๋ฉ, ํ๋ธ๋ฆฟ๊ณผ ๋ชจ๋ฐ์ผ์ ํํ๋ฅผ ๋ฏธ๋์ด ์ฟผ๋ฆฌ ๊ธฐ์ ์ด์ฉํด์ ์ ์ฉ
์ค์ ๋ก ์ฌ์ฉ์๋ค ๋๋ถ๋ถ์ด ๋ชจ๋ฐ์ผ์ ๊ธฐ์ค์ผ๋ก ๋ ๋ง์ ์ฌ์ดํธ๋ฅผ ์ ํ๊ณ ์๊ณ ๊ต์ฅํ ๋ณต์กํ ์ปดํฌ๋ํธ๋ค์ด ๋ชจ๋ฐ์ผ์ ๋ฐฐ์น๋๋๊ฒ ์ข ๋ ๋ณต์ก๋๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋ชจ๋ฐ์ผ์ ๋จผ์ mobile first๋ผ๋ ๊ธฐ์ค์ ์ก๊ณ ๊ธฐํ์ ๊ตฌ์ฑ์ด๋ ๋์์ธ, ๋งํฌ์ ์์ ์ ํ๋๊ฒ์ด ์ผ๋ฐ์ .
-> header์ ๋ก๊ณ ์ ๋ฉ์ธ๋ฉ๋ด๊ฐ ์์น
๋ฆฌ์คํธ๋ ํ ๋ผ์ธ์ ๋ค์ฏ๊ฐ์ฉ ๋์ค๋ ์ฌ๋ค์ผํ ๋ฆฌ์คํธ
ํ์ดํ์ ๋ง์ค์
ํ๋จ์ footer
์คํ์ผ ์ ๋ณด
header: ๋ฐฐ๊ฒฝ์ pink, ํฐํธ 14/#fff
content: ์ต๋ ๊ฐ๋ก ๊ธธ์ด 900px, ๋ฆฌ์คํธ ๊ฐ๊ฒฉ 10px, ๋ฆฌ์คํธ ํฐํธ 14px/#000
footer: ๋ฐฐ๊ฒฝ์ #ccc, ํฐํธ 14/#000
header : LOGO๊ฐ ๊ฐ์ด๋ฐ ๋ค์ด์ค๊ณ ๋ฉ๋ด๊ฐ ์๋๋ก ๋จ์ด์ง
๋ฉ๋ด๊ฐ ๊ธธ์ด์ง๋๋ ์ข์ฐ๋ก ์คํฌ๋กค๋๋ ํํ
์ด๋ฏธ์ง ์ฌ๋ค์ผ์ด ํ ๋ผ์ธ์ 4๊ฐ์ฉ
ํ์ดํ์ด ์ด๋ฏธ์ง ์๋ก ์ฌ๋ผ๊ฐ๋ ํํ
footer์ ์์ ๋ณ๊ฒฝ
์คํ์ผ ์ ๋ณด
header: ๋ฐฐ๊ฒฝ์ lightseagrenn, ๋ก๊ณ ํฐํธ 40/#fff, ๋ฉ๋ดํฐํธ 25/#fff
content: ๋ฆฌ์คํธ ๊ฐ๊ฒฉ 8px, ๋ฆฌ์คํธ ๋ฐฐ๊ฒฝ rgba(0,0,0,0,2), ๋ฆฌ์คํธํฐํธ 14px/#fff
footer: ๋ฐฐ๊ฒฝ์ lightcoral, ํฐํธ 14/#000
๋ฉ์ธ๋ฉ๋ด๋ ํ๋ฒ๊ฑฐ ๋ฒํผ์ ๋๋ฌ์ ๋์ค๋ ํ ๊ธํ ๋ฉ๋ด๋ก ๋ณ๊ฒฝ
๋ฆฌ์คํธ๋ ์ฌ๋ค์ผ์ด ์์์ง๊ณ ํ
์คํธ๊ฐ ๊ธธ๊ฒ ์ ๊ณต๋๋ ๊ตฌ์กฐ
๋ง์ง๋ง์ footer
์คํ์ผ ์ ๋ณด
header: ๋ฐฐ๊ฒฝ์ lightseagreen, ๋ก๊ณ ํฐํธ 40/#fff
header GNB: ๋ฐฐ๊ฒฝ์ lightslategray, ํฐํธ 25/#fff
content: ๋ฆฌ์คํธ ํฐํธ 14px/#fff, ๋ง์ค์ ์์
footer: ๋ฐฐ๊ฒฝ์ lightcoral, ํฐํธ 14/#000
๋ฐ์ํ ์น์์ ๊ตฌ์ฑํ ๋ ๋จผ์ ์ค์ ๋์ด์ผ ํ ๊ฒ
-> ๋ณํ๋๋ ์์ ์ ๋ํ ์ฌ์ด์ฆ ์ ๋ณด
HTML
div, header, footer, nav, section
HTML5 ํ๊ทธ๋ค์ ์ด์ฉํด์ ์ข ๋ ๋ช
ํํ๊ณ ์๋ฉํฑํ ๋งํฌ์
์ฝ๋ ์ ์
CSS
๋ฏธ๋์ด ์ฟผ๋ฆฌ์ ํน์ฑ(๋
ผ๋ฆฌ์ฐ์ฐ์ ์ด์ฉํ๊ธฐ)
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width==device-width, initial-scale=1.0"> <!--๋ฏธ๋์ด์ฟผ๋ฆฌ์์๋ ํญ์ ๋ทฐํฌํธ ์ค์ ๋ฃ์ด์ค์ผํจ-->
<title>๋ฐ์ํ ์น</title>
<link rel="stylesheet" href="./reset.css"><!--์ด๊ธฐํ-->
<link rel="stylesheet" href="./responsive.css">
</head>
<body>
<div class="wrap">
<header>
<a href="#" class="logo"><h1>LOGO</h1></a>
<a href="#" class="gnb_menu">gnb menu</a><!--ํ๋ฒ๊ฑฐ ๋ฒํผ-->
<nav>
<a href="#">MENU1</a>
<a href="#">MENU2</a>
<a href="#">MENU3</a>
<a href="#">MENU4</a>
<a href="#">MENU5</a>
<a href="#">MENU6</a>
<a href="#">MENU7</a>
<a href="#">MENU8</a>
</nav>
</header>
<section><!--์ฝํ
์ธ ์์ญ-->
<ul class="list">
<li>
<a href="#" class="inner">
<div class="thumb">
<img src="thumb.png" alt="์ธ๋ค์ผ์ด๋ฏธ์ง">
</div>
<div class="title">
ํ์ดํ์ ๊ธธ๊ฒ ์จ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ์ธ๋ค์ผ๋ณด๋ค ๊ธธ๊ฒ
</div>
</a>
</li>
<li>
<a href="#" class="inner">
<div class="thumb">
<img src="thumb.png" alt="์ธ๋ค์ผ์ด๋ฏธ์ง">
</div>
<div class="title">
ํ์ดํ์
๋๋ค.
</div>
</a>
</li>
<li>
<a href="#" class="inner">
<div class="thumb">
<img src="thumb.png" alt="์ธ๋ค์ผ์ด๋ฏธ์ง">
</div>
<div class="title">
ํ์ดํ์
๋๋ค.
</div>
</a>
</li>
<li>
<a href="#" class="inner">
<div class="thumb">
<img src="thumb.png" alt="์ธ๋ค์ผ์ด๋ฏธ์ง">
</div>
<div class="title">
ํ์ดํ์
๋๋ค.
</div>
</a>
</li>
<li>
<a href="#" class="inner">
<div class="thumb">
<img src="thumb.png" alt="์ธ๋ค์ผ์ด๋ฏธ์ง">
</div>
<div class="title">
ํ์ดํ์
๋๋ค.
</div>
</a>
</li>
<li>
<a href="#" class="inner">
<div class="thumb">
<img src="thumb.png" alt="์ธ๋ค์ผ์ด๋ฏธ์ง">
</div>
<div class="title">
ํ์ดํ์
๋๋ค.
</div>
</a>
</li>
<li>
<a href="#" class="inner">
<div class="thumb">
<img src="thumb.png" alt="์ธ๋ค์ผ์ด๋ฏธ์ง">
</div>
<div class="title">
ํ์ดํ์
๋๋ค.
</div>
</a>
</li>
<li>
<a href="#" class="inner">
<div class="thumb">
<img src="thumb.png" alt="์ธ๋ค์ผ์ด๋ฏธ์ง">
</div>
<div class="title">
ํ์ดํ์
๋๋ค.
</div>
</a>
</li>
<li>
<a href="#" class="inner">
<div class="thumb">
<img src="thumb.png" alt="์ธ๋ค์ผ์ด๋ฏธ์ง">
</div>
<div class="title">
ํ์ดํ์
๋๋ค.
</div>
</a>
</li>
</ul>
</section>
<footer>
Copyright ยฉ NAVER Corp. All Rights Reserved.
</footer>
</div>
</body>
</html>
@charset "UTF-8";
a{ /*reset*/
text-decoration: none;
}
header{
overflow:hidden; /*float ํด์ */
background-color: pink;
padding: 20px;
}
.logo{
float:left;
font-size: 20px;
color:#fff;
}
nav{
float:right;
}
nav a{
padding: 0 5px;
font-size: 20px;
color:#fff;
}
footer{
height: 50px;
line-height: 50px;
text-align:center;
background-color:#ccc;
font-size: 14px;
color:#000;
}
section{
overflow: hidden; /*์ฌ์ด์ฆ๊ฐ ์์์ก์๋ ์ข์ฐ๋ก ์คํฌ๋กค์ด ์๊ธฐ๋๊ฒ์ ๋ง์์ค*/
max-width: 900px;
margin: 50px auto;
}
.list{
margin: -5px; /*๋ถํ์ํ ๊ฐ๊ฒฉ ์์ฐ*/
overflow:hidden;
}
.list li{
float:left;
width: 20%; /*content๊ฐ 1000%์ผ๋ ํ ์ค์ ์ธ๋ค์ผ 5๊ฐ*/
}
.inner{
display:block;
margin: 5px;
border:1px solid #000;
}
.thumb img{
width: 100%;
height: auto;
vertical-align: top;
}
.title{ /*๋ง์ค์*/
overflow:hidden;
padding: 5px 0;
text-align:center;
font-size: 14px;
color:#555;
white-space: nowrap;
text-overflow: ellipsis;
}
.gnb_menu{ /*ํ๋ฒ๊ฑฐ ๋ฉ๋ด๋ ๋ชจ๋ฐ์ผ์์๋ง ๋ณด์ด๊ฒ*/
display:none;
}
ipad ๊ธฐ์ค
@media screen and (max-width: 768px), screen and (max-height: 768px) and (orientation: landscape) {
header{
background-color: lightseagreen;:
}
.logo{
width: 100px;
float: none;
display: block; /*float์ ๋ ฌ์ ์์ ์ฃผ๋ฉด์ block์์๊ฐ ํ๋ ธ์ผ๋ ๋ค์ block์์๋ก ์ฌ์ ์ธ*/
margin: 0 auto;
font-size: 40px;
text-align: center;
}
nav{
overflow-x: auto; /*๋์น๋ฉด ์๋์ผ๋ก ์คํฌ๋กค ๋ ์ ์๋๋ก*/
overflow-y: hidden; /*์์๋๋ก ์คํฌ๋กค ๋ ์ผ์ด ์์ผ๋ฏ๋ก ๋ง์*/
margin-top: 20px;
float: none; /*float ํด์ */
white-space: nowrap; /*๊ฐํ๋์ง ์๊ฒ*/
}
nav a{
font-size: 25px;
}
footer{
background-color: lightcoral;
color: #fff;
}
.list {
margin: -4px;
}
.list li{
width: 25%; /*ํ์ค์ 4๊ฐ๊น์ง๋ง*/
}
.inner{
position: relative;
margin: 4px
}
.title{ /*title์ด ์ฌ๋ค์ผ ์๋ก ์ฌ๋ผ์ค๊ฒ*/
position: absolute;
left:0; right:0; bottom:0;
padding: 10px 0;
background-color: rgba(0,0,0,0.2);
color:#fff;
}
}
์์ดํฐ X ๊ธฐ์ค
@media screen and (max-width: 375px), screen and (max-height: 375px) and (orientation: landscape) {
header{
padding: 10px 0;
}
nav{
display: none; /*๋ฉ๋ด ์๋ณด์ด๊ฒ*/
position: absolute;
top: 60px;
left:0;
bottom: 0;
z-index: 10; /*์ฐ์ ์์ ๋์*/
width: 200px;
margin:0; /*margin๊ฐ ์ด๊ธฐํ*/
background-color: lightslategray;
}
nav a{
display: block;
padding: 20px 10px;
font-size: 20px;
border-bottom: 1px solid #fff;
}
.gnb_menu{
position: absolute;
top: 12px;
left:12px;
display: block;
width: 40px;
height: 35px;
font-size: 1px;
color: transparent;
background: linear-gradient(#fff 50%, transparent 50%); /*5px์ ํฐ์, 5px์ ํฌ๋ช
ํ๊ฒ*/
/*์ข์ฐ๋ 100% ๊ฝ์ฐจ๊ฒ, ์๋์ชฝ์ผ๋ก๋ 10px์ฉ๋ง ๋ฐ๋ณต๋๋๋ก ์ค์ */
background-size: 100% 10px;
}
section{
margin: 0;
}
.list li {
width: 100%;
}
.inner{
display: table;
table-layout: fixed;
width: 100%;
margin: 0;
border: none;
border-top: 1px solid #000;
}
.thumb{
display: table-cell;
width: 100px;
}
.title{
display: table-cell;
/*position ์ด๊ธฐํ*/
position: relative;
right:auto;
left: auto;
bottom: auto;
vertical-align: middle;
background-color:#fff;
padding: 8px;
color:#000;
/*๋ง์ค์ ํด์ */
text-overflow: inherit;
white-space: inherit;
text-align: left;
}
}
gnb๊ฐ ์จ๊ฒจ์ง ๊ฑธ ๋์ค๊ฒ ํ๋๊ฒ์ gnb ๋ฒํผ์ ์ปจํธ๋กคํด์ ์๋ฐ์คํฌ๋ฆฝํธ๋ ์ ์ด์ฟผ๋ฆฌ ๋ฑ์ผ๋ก ์ปจํธ๋กคํด์ค์ผ ํ๋ ๋ถ๋ถ์ด๊ธฐ ๋๋ฌธ์ ๋ค๋ฃจ์ง ์์