ย
์ฝ๋ฉ์ ๋ค์ด๊ฐ๊ธฐ ์ ์ body ํ๊ทธ๊ฐ ์๋ ๊ฐ์ฅ ํฐ container๋ฅผ ๋ง๋๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋จผ์ section ํ๊ทธ๋ฅผ ์ด์ฉํ์ฌ ๊ฐ์ฅ ํฐ container๋ฅผ ๋ง๋ค์ด ๋ณด๊ฒ ์ต๋๋ค. ๋ฐ๋ผ์ container๋ผ๋ id๋ฅผ ๊ฐ์ง section์ ์์ฑํ ๋ค header ํ๊ทธ๋ฅผ ์ถ๊ฐํ์์ต๋๋ค.
ย
์ฝ๋์์ ๊ฐ์กฐ๋ ๋ถ๋ถ์ด ์๋กญ๊ฒ ์ถ๊ฐ๋์๋ค๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค. ์์ผ๋ก๋ ์ด๋ ๊ฒ ํ์ํ๋๋ก ํ๊ฒ ์ต๋๋ค.
ย
ํ์ผ๋ช
:
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="css/reset.css"> <link rel="stylesheet" href="css/style.css"> <script src="js/main.js"></script> </head> <body> <section id="container"> <header id="header"> <section class="inner"> </section> </header> </section> </body> </html>
ย
ํ์ผ๋ช
:
css/style.css
body{ background: #fafafa; } #header{ width: 100%; /* ๊ณต์ค์ ๋จ๊ธฐ ์ํจ */ position: absolute; /* ๊ฐ์ฅ ์์ ์ฌ๋ผ๊ฐ ์์ด์ผ ํ๊ธฐ ์ํจ */ z-index: 999; /* absolute์ ๊ฒฝ์ฐ ์ต์ x์ถ์์ 1๊ฐ y์ถ์์ 1๊ฐ์ ๊ฐ์ ์ฃผ์ด์ผ ํจ */ left: 0; top: 0; background: white; border-bottom: 1px solid rgba(0,0,0,0.1); }
ย
๋์ด ๊ฐ์ header๊ฐ ์๋ header ์์ ์์๋ค์๊ฒ ์ฃผ๋ ๊ฒ์ด ์ข์ต๋๋ค.
ย
ํ์ผ๋ช
:
css/style.css
body{ background: #fafafa; } #header{ width: 100%; /* ๊ณต์ค์ ๋จ๊ธฐ ์ํจ */ position: absolute; /* ๊ฐ์ฅ ์์ ์ฌ๋ผ๊ฐ ์์ด์ผ ํ๊ธฐ ์ํจ */ z-index: 999; /* absolute์ ๊ฒฝ์ฐ ์ต์ x์ถ์์ 1๊ฐ y์ถ์์ 1๊ฐ์ ๊ฐ์ ์ฃผ์ด์ผ ํจ */ left: 0; top: 0; background: white; border-bottom: 1px solid rgba(0,0,0,0.1); } #header .inner{ /* inner ์์ ์ปจํ ์ธ ๋ฅผ ๋ฃ์ผ๋ฉด ์์ ๊ฐ์ด ๋ค์ด์ด */ width: 975px; height: 77px; margin: 0 auto; /* ๊ฐ์ด๋ฐ ์ ๋ ฌ */ }
ย
๊ฒฐ๊ณผ๋ฅผ ๋ณด์๋ฉด ์๋์ฒ๋ผ header์ inner๊ฐ ์๊ธด ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
ย
inner๊ฐ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ inner ์์๋ง ์ปจํ
์ธ ๋ฅผ ๋ฐฐ์นํ ์ ์์ต๋๋ค.
inner ๋ํ ๋ก๊ณ ๋ฐ์ค, ๊ฒ์ ๋ฐ์ค, ์์ด์ฝ ๋ฐ์ค์ 3๊ฐ์ ๋ฐ์ค๋ก ๊ตฌ๋ถ๋์ด ์์ต๋๋ค.
ย
๋จผ์ ๋ก๊ณ ๋ฅผ ์ถ๊ฐํด๋ณด๊ฒ ์ต๋๋ค.
๋ก๊ณ ๋ <h1>ํ๊ทธ๋ฅผ ์ฌ์ฉํ๋ ๊ด๋ก๊ฐ ์๊ธฐ ๋๋ฌธ์ <h1>ํ๊ทธ๋ฅผ ์ ์ธํด์ฃผ์์ต๋๋ค. ๋ํ ๋ก๊ณ ๋ฅผ ํด๋ฆญํ๋ฉด ๋ฉ์ธ ํ์ด์ง๋ก ์ด๋ํ๊ธฐ ๋๋ฌธ์ <a>๋ฅผ ํ๊ทธ๋ฅผ ํตํด์
index.html
๋ก ๋์์ฌ ์ ์๋๋ก ํ์์ต๋๋ค.ย
ํ์ผ๋ช
:
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="css/reset.css"> <link rel="stylesheet" href="css/style.css"> <script src="js/main.js"></script> </head> <body> <section id="container"> <header id="header"> <section class="inner"> <h1 class="logo"> <a herf="index.html"> </a> </h1> </section> </header> </section> </body> </html>
ย
์์ด์ฝ์ ๋ฃ์ ๋ ์ด๋ฏธ์ง๋ฅผ ํตํด์ ๋ฃ์ ์ ์์ต๋๋ค. ์ ํฌ๋ background๋ฅผ ํ์ฉํด์ ์ฌ๋ฌ๊ฐ์ง ์์ด์ฝ์ ๋ฐฐ์นํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
ย
๋จผ์ , ๋ก๊ณ ์ ์ธ ์ด๋ฏธ์ง๊ฐ ๋ค์ด์๋ ์ ๊ณต๋
imgs
ํ์ผ์ ์์ถํด์ ํ์ฌ insta_clone
ํด๋์ ์ถ๊ฐํฉ๋๋ค.ย
ํด๋ ์์ background ์ด๋ฏธ์ง๋ฅผ SpriteCow๋ก ํ์ฉํ ๊ฒ์
๋๋ค.
ย
ย
๊ฒ์ ์ฐฝ์ SpriteCow๋ฅผ ๊ฒ์ํด์ www.spritecow.com ์ฌ์ดํธ์ ์ ์ํฉ๋๋ค. ์ฌ์ดํธ์ OpenImage๋ฅผ ํด๋ฆญํ๊ณ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ด๋ฏธ์ง๋ฅผ ์ฝ๋๋ค.
ย
๊ทธ๋ฌ๋ฉด ์๋์ ๊ฐ์ ์ฐฝ์ด ๋ํ๋๊ฒ ๋ฉ๋๋ค.
ย
ย
์ฌ๊ธฐ์ ๋ด๊ฐ ์ํ๋ ์ด๋ฏธ์ง์ ์ ํํ๊ฒ ๋๋ฉด ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ด์ ๋ํ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ด๋ฏธ์ง์ ๊ฒฝ๋ก, ๋์ด์ ๋๋น๋ฅผ ๋ณด์ฌ์ฃผ๊ฒ ๋ฉ๋๋ค. ๋ฐฑ๊ทธ๋ผ์ด๋ ์ด๋ฏธ์ง๋ ๊ณต๊ฐ์ ์ฐจ์งํ์ง ์๊ธฐ ๋๋ฌธ์ ๋์ด์ ๋๋น๋ฅผ ํญ์ ์ง์ ํด ์ฃผ์ด์ผ ํฉ๋๋ค.
์๋์ ์ฝ๋๋ฅผ ๋ณต์ฌํ์ฌ
css/style.css
ํ์ผ์ ์ถ๊ฐํด์ฃผ๋ฉด ๋ฉ๋๋ค. ์ด์ฒ๋ผ ๋ชจ๋ ์์ด์ฝ์ ๊ฐ์ ธ์จ CSS ์์ค์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.ย
ํ์ผ๋ช
:
css/style.css
.sprite_insta_icon{ display: inline-block; background: url('../imgs/background01.png') no-repeat -53px -235px; width: 22px; height: 22px; } .sprite_write_logo{ display: inline-block; background: url('../imgs/background01.png') no-repeat -94px -72px; width: 103px; height: 29px; } .sprite_compass_icon{ display: inline-block; background: url('../imgs/background01.png') no-repeat -130px -286px; width: 23px; height: 23px; } .sprite_user_icon_outline{ display: inline-block; background: url('../imgs/background01.png') no-repeat -272px -182px; width: 22px; height: 24px; } .sprite_heart_icon_outline{ display: inline-block; background: url('../imgs/background01.png') no-repeat -52px -261px; width: 24px; height: 22px; } .sprite_small_search_icon{ display: inline-block; background: url('../imgs/background01.png') no-repeat -337px -246px; width: 10px; height: 10px; } .sprite_more_icon{ display: inline-block; background: url('../imgs/background01.png') no-repeat -301px -218px; width: 15px; height: 3px; } .sprite_bubble_icon{ display: inline-block; background: url('../imgs/background01.png') no-repeat -239px -202px; width: 24px; height: 24px; } .sprite_share_icon{ display: inline-block; background: url('../imgs/background01.png') no-repeat -324px -52px; width: 21px; height: 24px; } .sprite_bookmark_outline{ display: inline-block; background: url('../imgs/background01.png') no-repeat -237px -286px; width: 19px; height: 24px; } .sprite_bookmark_outline.on{ background: url('../imgs/background01.png') no-repeat -159px -286px; width: 19px; height: 24px; } .sprite_small_heart_icon_outline{ display: inline-block; background: url('../imgs/background01.png') no-repeat -323px -274px; width: 12px; height: 11px; } .sprite_camera_icon{ display: inline-block; background: url('../imgs/background01.png') no-repeat -271px -104px; width: 24px; height: 22px; } .sprite_insta_big_logo{ display: inline-block; background: url('../imgs/background02.png') no-repeat -98px -150px; width: 175px; height: 51px; } .sprite_plus_icon{ display: inline-block; background: url('../imgs/background01.png') no-repeat -187px -202px; width: 23px; height: 23px; } body{ background: #fafafa; } ...
ย
CSS ์ฝ๋์ display: inline-block; ์ ๋ค ๊น์์ค ์ด์ ๋ ๋๋น์ ๋์ด๊ฐ์ ์
๋ ฅํ๋ ค๋ฉด block element์๊ฒ๋ง ์
๋ ฅ์ด ๊ฐ๋ฅํฉ๋๋ค. ๊ฐํน๊ฐ๋ค๊ฐ ์์ด์ฝ์ ์
๋ ฅํ ๋ ์ธ๋ผ์ธ ์์๋ฅผ ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ๊ฐ ์๊น๋๋ค. ์ธ๋ผ์ธ ์์์๋ค๊ฐ ์์ด์ฝ ์
๋ ฅํ๊ฒ ๋๋ฉด ์ธ๋ผ์ธ ์์์ด๊ธฐ ๋๋ฌธ์ ํํ๋ฅผ ๊ฐ์ง ์ ์๊ฒ ๋ฉ๋๋ค. ๊ทธ๋์ class์ ์
๋ ฅํ๋ ๋ชจ๋ display ์์ฑ์ ์ธ๋ผ์ธ ์์ฑ๊ณผ ๋ธ๋ก ์์ฑ์ ํจ๊ป ๊ฐ์ง ์ ์๋๋ก ๋ง๋ ๊ฒ ์
๋๋ค.
ย
์ด๋ ๊ฒ ์์ด์ฝ๋ค์ ๊ฐ์ง๊ณ ์์ผ๋ฉด header ๋ถ๋ถ์ ์์ด์ฝ์ ์ถ๊ฐํด ๋ด
์๋ค.
ย
ํ์ผ๋ช
:
index.html
... <header id="header"> <section class="inner"> <h1 class="logo"> <a herf="index.html"> <div class="sprite_insta_icon"></div> <div class="sprite_write_logo"></div> </a> </h1> </section> </header> ...
ย
๊ฒฐ๊ณผ๋ฅผ ๋ณด์๋ฉด ๋ก๊ณ ๋ค ์ฌ์ด์ ์์ ๊ธ์๊ฐ ์๊ธฐ๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค. ์ด๋ <a>ํ๊ทธ๋ก ์ธํ์ฌ ์๊ธฐ๋ ๊ฒ์ผ๋ก <a>ํ๊ทธ์ ๋ฐฐ๊ฒฝ์์ ์์ ์ฃผ๋ฉด ํด๊ฒฐ์ด ๊ฐ๋ฅํฉ๋๋ค.
ย
ํ์ผ๋ช
:
css/style.css
... #header .inner{ /* inner ์์ ์ปจํ ์ธ ๋ฅผ ๋ฃ์ผ๋ฉด ์์ ๊ฐ์ด ๋ค์ด์ด */ width: 975px; height: 77px; margin: 0 auto; /* ๊ฐ์ด๋ฐ ์ ๋ ฌ */ } #header .inner .logo > a{ color: transparent; /* ๋ฐฐ๊ฒฝ์์ ํฌ๋ช ํ๊ฒ ๋ง๋ฌ */ }
ย
ย
๋ํ ์์ด์ฝ๋ค์ ์ผ์ง์ ์์ ์์นํ๊ฒ ํ๊ธฐ ์ํด์๋ vertical-align ๊ฐ์ middle๋ก ์ฃผ๋ฉด ํด๊ฒฐ์ด ๊ฐ๋ฅํฉ๋๋ค.
ย
ํ์ผ๋ช
:
css/style.css
... #header .inner .logo > a{ color: transparent; /* ๋ฐฐ๊ฒฝ์์ ํฌ๋ช ํ๊ฒ ๋ง๋ฌ */ } #header .inner .logo div{ vertical-align: middle; }
ย
ย
๋ ๋ก๊ณ ๊ฐ ๊ฐ๋ก๋ก ์ ๋ ฌ๋ฐ๋ ์ด์ ๋ display: inline-block; ์์ฑ์ ์ฃผ์๊ธฐ ๋๋ฌธ์
๋๋ค. ์๋ ๋ธ๋ก ์์๋ ํ๋ฉด์ ๋ฐฐ์น์ํค๋ฉด ์ธ๋ก ๋ฐฐ์น ๋ฐ๋ ๊ฒ์ด ๊ธฐ๋ณธ์
๋๋ค. ์ธ๋ก ๋ฐฐ์น๋ฅผ ๋ฐ๋ ๋ธ๋ก ์์๋ฅผ ๊ฐ๋ก ๋ฐฐ์น ์ํค๊ธฐ ์ํ float(ํ๋กฏ), inline-block ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
ย
๋ค์์๋ ๋ก๊ณ ์ฌ์ด์ ๋ฐ(๋ง๋)๋ฅผ ๋ง๋ค์ด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
ย
๋ฐ๋ฅผ ๋ง๋์ค ๋ ์ด๋ฏธ์ง๋ฅผ ํ์ฉํ์๋ ๋ถ๋ค๋ ๋ง์ด ๊ณ์ ๋ฐ, ๊ฐ์ ์ ํ์๋ฅผ ํ์ฉํ๋ ๊ฒ์ด ์กฐ๊ธ ๋ ํธ๋ฆฌํ ์ ์์ต๋๋ค. ์ ํฌ๋ ๊ฐ์ ์ ํ์๋ฅผ ํ์ฉํด์ ๋ฐ๋ฅผ ๋ง๋ค์ด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
ย
CSS ์ ํ์ ๋ค์ ์ฝ๋ก (:)์ ๋ฃ๊ฒ ๋๋ฉด ๊ฐ์ ์ ํ์๊ฐ ๋ฉ๋๋ค. ๋ง ๊ทธ๋๋ก ๊ฐ์์ผ๋ก ์ ํํด์ฃผ๊ฒ ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. after๋ ์ ํํ ํ์ ๋ฌด์ธ๊ฐ๋ฅผ ๋ง๋ค์ด ์ฃผ๊ฒ ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. after๋ ๊ผญ content๋ผ๋ ๊ณต๋ฐฑ์ ๋ฐ์์ผ ํฉ๋๋ค.
ย
ํ์ผ๋ช
:
css/style.css
... #header .inner .logo div{ vertical-align: middle; } #header .inner .logo .sprite_insta_icon{ position: relative; /* after์๊ฒ ์์น ๊ธฐ์ค์ ์ ๋ฌํด์ฃผ๊ธฐ ์ํจ */ margin-right: 30px; } #header .inner .logo .sprite_insta_icon:after{ content: ''; /* ๊ณต๋ฐฑ์ ๋ฐ์์ด */ width: 1px; height: 28px; background: #000; position: absolute; /* ๋ถ๋ชจ๋ฅผ ๊ธฐ์ค์ผ๋ก ์์น๋ฅผ ์ก์ */ right: -15px; top: 0; }
ย
ย
๋ค์์ผ๋ก ๊ฒ์ ์ฐฝ๊ณผ ์ค๋ฅธ์ชฝ์ ์์ด์ฝ๋ค์ ์ถ๊ฐํด ๋ณด๊ฒ ์ต๋๋ค.
๊ฒ์ ์ฐฝ ์์ ๊ธ์๋ค์ด ํฌ์ปค์ค ๋๋ ์๊ฐ ์ฌ๋ผ์ง๊ณ ์์ผ๋ก ๊ฐ๋ fake_field ๊ธฐ๋ฅ๊ณผ 4๊ฐ์ ์์ด์ฝ๋ค๋ ๋ง๋ค์ด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
ย
ย
ํ์ผ๋ช
:
index.html
... <header id="header"> <section class="inner"> <h1 class="logo"> <a herf="index.html"> <div class="sprite_insta_icon"></div> <div class="sprite_write_logo"></div> </a> </h1> <div class="search_box"> <input type="text" placeholder="๊ฒ์" id="search-field"> <div class="fake_field"> <span class="sprite_small_search_icon"></span> <span>๊ฒ์</span> </div> </div> <div class="right_icons"> <div class="sprite_camera_icon"></div> <div class="sprite_compass_icon"></div> <div class="sprite_heart_icon_outline"></div> <div class="sprite_user_icon_outline"></div> </div> </section> </header> ...
ย
๊ฒฐ๊ณผ๋ฅผ ๋ณด์๋ฉด ์ธ๋ก๋ก ๋ฐฐ์น๋ ๊ฒ์ ๋ณด์ฌ์ฃผ๊ณ ์์ต๋๋ค. ๋ฐ๋ผ์ ๊ฐ๋ก๋ก ๋ฐฐ์น์ํค๊ธฐ ์ํด์ display: flex ์์ฑ์ ์ฌ์ฉํ๋๋ก ํ๊ฒ ์ต๋๋ค. flex๋ ์ ๋ ฌํ๊ณ ์ ํ๋ ๋์์ด ์๋ ์ ๋ ฌํ๊ณ ์ ํ๋ ๋์์ ๋ถ๋ชจ์๊ฒ ์ฃผ๋ ์์ฑ์
๋๋ค.
ย
ํ์ผ๋ช
:
css/style.css
... #header .inner{ /* inner ์์ ์ปจํ ์ธ ๋ฅผ ๋ฃ์ผ๋ฉด ์์ ๊ฐ์ด ๋ค์ด์ด */ width: 975px; height: 77px; margin: 0 auto; /* ๊ฐ์ด๋ฐ ์ ๋ ฌ */ display: flex; /* ๊ฐ๋ก ๋ฐฐ์น */ justify-content: space-between; /* x์ถ ์ ๋ ฌ_๊ณต๊ฐ์ ์๋์ผ๋ก ๋ถ๋ฐฐํจ */ align-items: center; /* y์ถ ์ ๋ ฌ */ } ...
ย
ย
๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด ์ ์ ๋ ฌ์ด ๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค. ๊ฒ์ ์ฐฝ ๋ถ๋ถ๊ณผ ์์ด์ฝ ๋ง์ง ๋ถ๋ถ์ ์ข ๋ ์์ ํด ๋ณด๊ฒ ์ต๋๋ค.
ย
ํ์ผ๋ช
:
css/style.css
... #header .inner .logo .sprite_insta_icon{ position: relative; /* after์๊ฒ ์์น ๊ธฐ์ค์ ์ ๋ฌํด์ฃผ๊ธฐ ์ํจ */ margin-right: 30px; } #header .inner .logo .sprite_insta_icon:after{ content: ''; /* ๊ณต๋ฐฑ์ ๋ฐ์์ด */ width: 1px; height: 28px; background: #000; position: absolute; /* ๋ถ๋ชจ๋ฅผ ๊ธฐ์ค์ผ๋ก ์์น๋ฅผ ์ก์ */ right: -15px; top: 0; } #header .search_box{ position: relative; /* ๊ธฐ์ค์ ์ ์ก๊ณ ๊ฐ๋ก ๋ฐฐ์น */ } #search-field{ width: 185px; height: 28px; background: #fafafa; border: 1px solid #dbdbdb; border-radius: 3px; padding: 3px 30px; /* ์์๋ ์์ชฝ */ color: #999; font-weight: 400; text-align: left; /* ๊ธ์ ์ ๋ ฅ ์ ์ผ์ชฝ๋ถํฐ ๋ณด์ด๋๋ก ํ๊ธฐ ์ํจ */ font-size: 14px; outline: none; /* ํฌ์ปค์ค ํ์ ๋ ๋ํ๋๋ ํ๋์ */ } #search-field::placeholder{ /* ์ฝ๋ก 2๊ฐ(::) - ์์ฑ์ ํ์ */ font-size: 0; /* ํฌ์ปค์ค๊ฐ ๋์ง ์์ ๋ ๊ฒ์ ๊ธ์๊ฐ ๋ณด์ด์ง ์๋๋ก ํ๊ธฐ ์ํจ */ } #search-field:focus::placeholder{ font-size: 14px; /* ํฌ์ปค์ค ๋์์ ๋ ๊ฒ์ ๊ธ์๊ฐ ๋ณด์ด๋๋ก ํ๋ค */ } #header .search_box .fake_field{ position: absolute; /* ๊ฒ์ ์ฐฝ ์์ ๊ธ์๋ฅผ ๋ณด์ด๊ธฐ ์ํจ */ /* ๊ฐ์ด๋ฐ ๋ฐฐ์นํ๋ ๊ณต์ */ left: 50%; top: 50%; transform: translate(-50%, -50%); pointer-events: none; /* ๊ฒ์์ ๋๋ ์ ๋์๋ ํฌ์ธํฐ ์ธ์์ด ์ ๋จ */ } /* ๋ฌผ๊ฒฐ(~) - ๊ทผ์ฒ์ ์๋ fake_field */ #search-field:focus~.fake_field > span:nth-child(1){ transform: translateX(-105px); /* ๋๋ณด๊ธฐ๋ฅผ ์ผ์ชฝ์ผ๋ก ์ด๋ */ } #search-field:focus~.fake_field > span:nth-child(2){ display: none; /* ํฌ์ปค์ค ๋์์ ๋ ๊ธ์ ์จ๊ธฐ๊ธฐ */ } #header .right_icons{ width: 132px; /* ๋ถ๋ชจ๊ฐ ์ข์ฐ๊ฐ ๊ณ ์ */ display: flex; justify-content: space-between; /* x์ถ ์ ๋ ฌ_๊ณต๊ฐ์ ์๋์ผ๋ก ๋ถ๋ฐฐํจ */ }
ย
์ด๋ ๊ฒ ํด์ header๋ถ๋ถ์ด ์๋ฃ๋์์ต๋๋ค. ๋ง์ง๋ง์ผ๋ก ๋ํ
์ผ์ ๋ค๋ฌ์ด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
๋ง๋ ๋ฐ๋ฅผ ์๋ก ์ด์ง ์ฌ๋ฆฌ๊ณ instagram ๋ก๊ณ ๋ ์๋๋ก ์ด์ง ๋ด๋ฆฌ๋๋ก ํ๊ฒ ์ต๋๋ค.
ย
ํ์ผ๋ช
:
css/style.css
... #header .inner .logo div{ vertical-align: middle; } #header .inner .logo div:nth-child(2){ transform: translateY(2px); } #header .inner .logo .sprite_insta_icon{ position: relative; /* after์๊ฒ ์์น ๊ธฐ์ค์ ์ ๋ฌํด์ฃผ๊ธฐ ์ํจ */ margin-right: 30px; } #header .inner .logo .sprite_insta_icon:after{ content: ''; /* ๊ณต๋ฐฑ์ ๋ฐ์์ด */ width: 1px; height: 28px; background: #000; position: absolute; /* ๋ถ๋ชจ๋ฅผ ๊ธฐ์ค์ผ๋ก ์์น๋ฅผ ์ก์ */ right: -15px; top: -4px; } ...
ย
์ด๋ ๊ฒ ์น ํ์ด์ง๋ฅผ ๋ง๋ค ๋์๋ ํฐ ํ์ ๋ณด๊ณ ์ ์ฐจ์ ์ผ๋ก ์์ ์์ญ๋ค์ ์ดํด๋ณด๋ฉด์ ์ฝ๋ฉํ๋ ๊ฒ์ด ์ค์ํ๋ค๊ณ ์๊ณ ๋์ด๊ฐ์๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค.
ย
์์ฑ๋ ์ฝ๋๋ ์๋์ ๊ฐ์ต๋๋ค.
ย
ํ์ผ๋ช
:
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="css/reset.css"> <link rel="stylesheet" href="css/style.css"> <script src="js/main.js"></script> </head> <body> <section id="container"> <header id="header"> <section class="inner"> <h1 class="logo"> <a herf="index.html"> <div class="sprite_insta_icon"></div> <div class="sprite_write_logo"></div> </a> </h1> <div class="search_box"> <input type="text" placeholder="๊ฒ์" id="search-field"> <div class="fake_field"> <span class="sprite_small_search_icon"></span> <span>๊ฒ์</span> </div> </div> <div class="right_icons"> <div class="sprite_camera_icon"></div> <div class="sprite_compass_icon"></div> <div class="sprite_heart_icon_outline"></div> <div class="sprite_user_icon_outline"></div> </div> </section> </header> </section> </body> </html>
ย
ํ์ผ๋ช
:
css/style.css
.sprite_insta_icon{ display: inline-block; background: url('../imgs/background01.png') no-repeat -53px -235px; width: 22px; height: 22px; } .sprite_write_logo{ display: inline-block; background: url('../imgs/background01.png') no-repeat -94px -72px; width: 103px; height: 29px; } .sprite_compass_icon{ display: inline-block; background: url('../imgs/background01.png') no-repeat -130px -286px; width: 23px; height: 23px; } .sprite_user_icon_outline{ display: inline-block; background: url('../imgs/background01.png') no-repeat -272px -182px; width: 22px; height: 24px; } .sprite_heart_icon_outline{ display: inline-block; background: url('../imgs/background01.png') no-repeat -52px -261px; width: 24px; height: 22px; } .sprite_small_search_icon{ display: inline-block; background: url('../imgs/background01.png') no-repeat -337px -246px; width: 10px; height: 10px; } .sprite_more_icon{ display: inline-block; background: url('../imgs/background01.png') no-repeat -301px -218px; width: 15px; height: 3px; } .sprite_bubble_icon{ display: inline-block; background: url('../imgs/background01.png') no-repeat -239px -202px; width: 24px; height: 24px; } .sprite_share_icon{ display: inline-block; background: url('../imgs/background01.png') no-repeat -324px -52px; width: 21px; height: 24px; } .sprite_bookmark_outline{ display: inline-block; background: url('../imgs/background01.png') no-repeat -237px -286px; width: 19px; height: 24px; } .sprite_bookmark_outline.on{ background: url('../imgs/background01.png') no-repeat -159px -286px; width: 19px; height: 24px; } .sprite_small_heart_icon_outline{ display: inline-block; background: url('../imgs/background01.png') no-repeat -323px -274px; width: 12px; height: 11px; } .sprite_camera_icon{ display: inline-block; background: url('../imgs/background01.png') no-repeat -271px -104px; width: 24px; height: 22px; } .sprite_insta_big_logo{ display: inline-block; background: url('../imgs/background02.png') no-repeat -98px -150px; width: 175px; height: 51px; } .sprite_plus_icon{ display: inline-block; background: url('../imgs/background01.png') no-repeat -187px -202px; width: 23px; height: 23px; } body{ background:#fafafa; } #header{ width: 100%; /* ๊ณต์ค์ ๋จ๊ธฐ ์ํจ */ position: absolute; /* ๊ฐ์ฅ ์์ ์ฌ๋ผ๊ฐ ์์ด์ผ ํ๊ธฐ ์ํจ */ z-index: 999; /* absolute์ ๊ฒฝ์ฐ ์ต์ x์ถ์์ 1๊ฐ y์ถ์์ 1๊ฐ์ ๊ฐ์ ์ฃผ์ด์ผ ํจ */ left: 0; top: 0; background: white; border-bottom: 1px solid rgba(0,0,0,0.1); } #header .inner{ /* inner ์์ ์ปจํ ์ธ ๋ฅผ ๋ฃ์ผ๋ฉด ์์ ๊ฐ์ด ๋ค์ด์ด */ width: 975px; height: 77px; margin: 0 auto; /* ๊ฐ์ด๋ฐ ์ ๋ ฌ */ display: flex; /* ๊ฐ๋ก ๋ฐฐ์น */ justify-content: space-between; /* x์ถ ์ ๋ ฌ_๊ณต๊ฐ์ ์๋์ผ๋ก ๋ถ๋ฐฐํจ */ align-items: center; /* y์ถ ์ ๋ ฌ */ } #header .inner .logo > a{ color: transparent; /* ๋ฐฐ๊ฒฝ์์ ํฌ๋ช ํ๊ฒ ๋ง๋ฌ */ } #header .inner .logo div{ vertical-align: middle; } #header .inner .logo .sprite_insta_icon{ position: relative; /* after์๊ฒ ์์น ๊ธฐ์ค์ ์ ๋ฌํด์ฃผ๊ธฐ ์ํจ */ margin-right: 30px; } #header .inner .logo .sprite_insta_icon:after{ content: ''; /* ๊ณต๋ฐฑ์ ๋ฐ์์ด */ width: 1px; height: 28px; background: #000; position: absolute; /* ๋ถ๋ชจ๋ฅผ ๊ธฐ์ค์ผ๋ก ์์น๋ฅผ ์ก์ */ right: -15px; top: -4px; } #header .search_box{ position: relative; /* ๊ธฐ์ค์ ์ ์ก๊ณ ๊ฐ๋ก ๋ฐฐ์น */ } #search-field{ width: 185px; height: 28px; background: #fafafa; border: 1px solid #dbdbdb; border-radius: 3px; padding: 3px 30px; /* ์์๋ ์์ชฝ */ color: #999; font-weight: 400; text-align: left; /* ๊ธ์ ์ ๋ ฅ ์ ์ผ์ชฝ๋ถํฐ ๋ณด์ด๋๋ก ํ๊ธฐ ์ํจ */ font-size: 14px; outline: none; /* ํฌ์ปค์ค ํ์ ๋ ๋ํ๋๋ ํ๋์ */ } #search-field::placeholder{ /* ์ฝ๋ก 2๊ฐ(::) - ์์ฑ์ ํ์ */ font-size: 0; /* ํฌ์ปค์ค๊ฐ ๋์ง ์์ ๋ ๊ฒ์ ๊ธ์๊ฐ ๋ณด์ด์ง ์๋๋ก ํ๊ธฐ ์ํจ */ } #search-field:focus::placeholder{ font-size: 14px; /* ํฌ์ปค์ค ๋์์ ๋ ๊ฒ์ ๊ธ์๊ฐ ๋ณด์ด๋๋ก ํ๋ค */ } #header .search_box .fake_field{ position: absolute; /* ๊ฒ์ ์ฐฝ ์์ ๊ธ์๋ฅผ ๋ณด์ด๊ธฐ ์ํจ */ /* ๊ฐ์ด๋ฐ ๋ฐฐ์นํ๋ ๊ณต์ */ left: 50%; top: 50%; transform: translate(-50%, -50%); pointer-events: none; /* ๊ฒ์์ ๋๋ ์ ๋์๋ ํฌ์ธํฐ ์ธ์์ด ์ ๋จ */ } /* ๋ฌผ๊ฒฐ(~) - ๊ทผ์ฒ์ ์๋ fake_field */ #search-field:focus~.fake_field > span:nth-child(1){ transform: translateX(-105px); /* ๋๋ณด๊ธฐ๋ฅผ ์ผ์ชฝ์ผ๋ก ์ด๋ */ } #search-field:focus~.fake_field > span:nth-child(2){ display: none; /* ํฌ์ปค์ค ๋์์ ๋ ๊ธ์ ์จ๊ธฐ๊ธฐ */ } #header .right_icons{ width: 132px; /* ๋ถ๋ชจ๊ฐ ์ข์ฐ๊ฐ ๊ณ ์ */ display: flex; justify-content: space-between; /* x์ถ ์ ๋ ฌ_๊ณต๊ฐ์ ์๋์ผ๋ก ๋ถ๋ฐฐํจ */ } #header .inner .logo div:nth-child(2){ transform: translateY(2px); } #header .inner .logo .sprite_insta_icon{ position: relative; /* after์๊ฒ ์์น ๊ธฐ์ค์ ์ ๋ฌํด์ฃผ๊ธฐ ์ํจ */ margin-right: 30px; }
ย