๋ฏธ๋์ด์ฟผ๋ฆฌ๋ฅผ ํ์ฉํ ๋ชจ๋ฐ์ผ๋ฒํผ ๋ง๋ค๊ธฐ
ํ๋ ์ค๋ฐ์ค ์ฌ์ดํธ์์ ์ํ๋ CSS๋ฅผ ์ฒดํฌํ๊ณ , ์๋ CSS OUTPUT ํ๊ทธ๋ฅผ ์ฐธ๊ณ ํ์ฌ ์ฝ๋ ์์ฑ
๊ฒฐ๊ณผ ๐
.media-menu {
list-style: none;
margin: 0;
padding-top: 0;
padding-left: 0;
display: flex;
justify-content: space-between;
align-items: center;
width: 700px;
background-color: black;
}
@media (min-width: 320px) and (max-width: 767px) {
.media-menu {
flex-direction: column;
align-items: flex-start ;
/* ๋ฉ๋ด๊ฐ์ด 700์ผ๋ก ์กํ์๊ธฐ์ ๋์ผํ๊ฒ ์ฃผ๊ธฐ์ํด */
width: 190px;
}
.media-menu li {
margin-bottom: 10px;
}
.media-menu li:last-child {
margin-bottom: 0;
}
}
๋ด๋งํฌ ์ผํ๋ชฐ ์๋จ๋ฐ ์ฐ์ต
๐ป PC ๋ฒ์
/* PC */
.intro {
display: flex;
/* ์๋จ๋ฐ ๊ณ ์ */
position: fixed;
width: 100%;
height: 80px;
background-color:#ffffff;
}
.intro h1 {
width: 50%;
height: 80px;
background-color: black;
}
.intro nav {
width: 50%;
height: 80px;
background-color: yellow;
}
.intro nav ul {
list-style: none;
padding: 0;
margin: 0;
}
/* 3๋ฑ๋ถ */
.intro nav ul li {
width: 33.3333%;
height: 80px;
}
/* liํ๊ทธ x์ถ ์ ๋ ฌ */
.intro nav ul {
display: flex;
}
/* ๊ฐ๊ฐ ๋ฉ๋ด๋ฒํผ ๋ฐฐ๊ฒฝ์ ์ง์ */
.intro nav ul li:nth-child(1) {
background-color: lightgray;
}
.intro nav ul li:nth-child(2) {
background-color: darkgray;
}
.intro nav ul li:nth-child(3) {
background-color: dimgray;
}
main {
width: 100%;
height: 2000px;
background-color: pink;
padding-top: 80px;
}
๐ฑ ๋ชจ๋ฐ์ผ ๋ฒ์
/* ๋ชจ๋ฐ์ผ */
@media (min-width: 320px) and (max-width: 767px) {
.intro {
/* ์๋จ๋ฐ ๊ณ ์ */
position: static;
flex-direction: column;
height: 160px;
}
.intro h1 {
width: 100%;
}
.intro nav {
width: 100%;
}
/* ๊ณต๋ฐฑ ์์ ์ฃผ๊ธฐ */
main {
padding-top: 0;
}
}
๋ถํธ์คํธ๋ฉ ์ฌ์ดํธ ์ฐ์ต
๐ป PC ๋ฒ์
.container {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
width: 1140px;
margin: 0 auto;
background-color: pink;
}
.column {
/* 4๊ฐ์งธ์ ์ค๋ฐ๊ฟ์ ํ๊ธฐ์ํด width๊ฐ ์ค */
width: 355px;
background-color: #ffffff;
border: solid 2px red;
margin-bottom: 10px;
}
/* ๋ฐ๋ถ๋ถ ๊ณต๋ฐฑ ์์ ๊ธฐ */
.column:nth-child(4),
.column:nth-child(5),
.column:nth-child(6) {
margin-bottom: 0;
}
/* ์ด๋ฏธ์ง๋ฅผ ๊ฝ์ฑ์ฐ๊ธฐ ์ํด css๋ก ์ด๋ฏธ์ง๊ฐ ๋ค์ ์ค์ ํจ */
.column img {
width: 100%;
/* ๊ณต๋ฐฑ์ ์์ ๊ธฐ ์ํ imgํ๊ทธ์ ๋ํดํธ๊ฐ */
vertical-align: middle;
}
.image-info {
padding: 20px 0;
text-align: center;
}
.image-info h2 {
margin: 0;
}
๐ฑ ๋ชจ๋ฐ์ผ ๋ฒ์
@media (min-width: 540px) and (max-width: 720px) {
.container {
width: 720px;
}
.column:nth-child(4) { margin-bottom: 10px; }
}
@media (min-width: 320px) and (max-width: 539px) {
.container {
box-sizing: border-box;
width: 100%;
padding: 0 20px;
}
.column {
width: 100%;
}
.column:nth-child(4),
.column:nth-child(5) { margin-bottom: 10px; }
}
๋ฏธ๋์ด์ฟผ๋ฆฌ ์ ์ฉ ๋ฐฉ์ 3๊ฐ์ง
1) CSS์ ๋ฏธ๋์ด์ฟผ๋ฆฌ ์ ๋ ฅ (๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ)
2) ๋ชจ๋ฐ์ผ ๋ฒ์ ๋ฐ๋ก ๋ง๋ค๊ธฐ (์ฝ๋๋ถ๋์ด ๊ธธ์ด์ง ๊ฒฝ์ฐ ์ํ ํ ์ ์ง๋ณด์๋ฅผ ์ํ์ฌ)
3) style ํ๊ทธ ํ์ฉ (๊ฑฐ์ ์ฌ์ฉX)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="css/style.css">
<style media="(min-width: 300px) and (max-width: 700px)">
body {
background-color: red;
}
</head>
1) 3์ฐจ์์ด ์์ ๋์ฌ๊ฒฝ์ฐ 2์ฐจ์์ธ mainํ๊ทธ๋ 3์ฐจ์์ธ header์์ญ ๋ค๋ก ๋ค์ด๊ฐ๋ค.
<!-- 3์ฐจ์ -->
<header class="intro">
<h1></h1>
<nav>
<ul>
<li></li>
<li></li>
<li></li>
</ul>
</nav>
</header>
<!-- 2์ฐจ์ -->
<main role="main"></main>
๐ ํด๊ฒฐ๋ฐฉ๋ฒ
main {
width: 100%;
height: 2000px;
background-color: pink;
padding-top: 80px;
}
header ๋์ด๊ฐ๋งํผ padding-top ๊ฐ ์ฃผ๊ธฐ
mainํ๊ทธ๋ ์ฌ์ ํ ๊ฒน์ณ์ ธ์์ง๋ง padding ๊ณต๋ฐฑ์ผ๋ก ์ธํด h1ํ๊ทธ๋ ๋ณด์ฌ์ง๊ฒ ๋จ
2) ์์ง ์ฐ์ต๋จ๊ณ์ด๊ธฐ ๋๋ฌธ์ height๋ฅผ ์ง์ ํด์ ์ฐ์ตํด์ฃผ๊ธฐ
CSS์ด๊ธฐํ ๊ณผ์ ์ด ์๋๋ฐ, ์ผ์ชฝ ํจ๋ฉ๊ฐ์ด ์๋์ผ๋ก ์ ์ฉ๋์๋ค.
CSS ์ด๊ธฐํํ์์๋ ์ด๋ฐ๊ณผ์ ์ด ํ์ํ ์ด์ ๋ ๋ญ๊น?
๋ฏธ๋์ด์ฟผ๋ฆฌ๋ก ๋ชจ๋ฐ์ผ์ ๊ตฌํํ๋ ์ฐ์ต๊ณผ์ ์์ PC๋ฒ์ ์์ ๋จผ์ ์ค์ ํด๋ ๊ฐ์ ์ํฅ์ ๋ฐ์ padding๊ฐ์ ์์ ํ๋ ์ผ์ด ๋ง๋ค๊ณ ๋๊ผ๋ค. ์์ง ์ฃผ๋์ด๊ณผ์ ์ด๋ผ ํ๋ ํ๋ ๋ฏ์ด์ ๊ณต๋ถํ๋ ์ค์ด์ง๋ง, ๋น ๋ฅด๊ฒ ํ์ตํด ์ ์ฒด ๊ทธ๋ฆผ์ ๋ณผ์ค ์์์ผ๊ฒ ๋ค. ์ ์ฒด๋ฅผ ๋ณผ์ค ์๋ค๋ฉด ์์ ํ๋ ์ผ์ด ๋ง์ด ์ค์ด๋ค์ง ์์๊น ์ถ๋ค.