ย
๊ฒ์๋ฌผ์ ์๋ ํํธ๋ฅผ ๋๋ฅด๋ฉด ํํธ์ ๋ถ์ด ๋ค์ด์ค๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
๋จผ์
main.js
์ ์์น๋ฅผ body ๊ฐ์ฅ ๋ฐ์ผ๋ก ์ฎ๊ฒจ ์ค๋๋ค. ๊ฐ์ฅ ์์ ์์ ๊ฒฝ์ฐ ์น ํ์ด์ง๊ฐ ๋ก๋๋๊ธฐ ์ ์ ์ฝ๋๊ฐ ์คํ๋์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ย
JS๋ฅผ ์์ ๋๊ณ ์ฌ์ฉํ ์๋ ์์ต๋๋ค. JS์ ๊ธฐ๋ค๋ฆฌ๋ผ๋ ๋ช
๋ น์ด๋ฅผ ์ฃผ์ด ์ฌ์ฉํ ์๋ ์์ต๋๋ค. HTML๋ฌธ์๊ฐ ๋ก๋๋ ๋๊น์ง ๊ธฐ๋ค๋ ธ๋ค๊ฐ ์คํํ๋ผ๋ ๋ป์ ๊ฐ๊ณ ์์ต๋๋ค.
ย
ํ์ผ๋ช
:
js/main.js
window.addEventListener('DOMContentLoaded',function(){ });
ย
์ ํฌ๋ body ์ ๋ถ๋ถ์ ๋ฃ๋๋ก ํ๊ฒ ์ต๋๋ค.
ย
ํ์ผ๋ช
:
index.html
... <script src="js/main.js"></script> </body> </html>
ย
๋จผ์ ์ ํด๋ฆญ๋๋์ง ํ์ธํ๊ธฐ ์ํ์ฌ ์ฝ์ ์ฐฝ์ ๋ฉ์์ง๋ฅผ ๋์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
ย
ํ์ผ๋ช
:
js/main.js
const heart = document.querySelector( '.heart_btn'); // ํํธ ์์ ๋ถ๋ถ์ ์ ํํด์ ๊ฐ์ ธ์ด heart.addEventListener('click', function(){ console.log('hit'); // heart.classList.toggle('on'); // ํํธ๋ฅผ ํด๋ฆญํ๋ฉด .on ํด๋์ค๋ฅผ ์ถ๊ฐ });
ย
ย
ํ์ผ๋ช
:
js/main.js
const heart = document.querySelector( '.heart_btn'); // ํํธ ์์ ๋ถ๋ถ์ ์ ํํด์ ๊ฐ์ ธ์ด heart.addEventListener('click', function(){ console.log('hit'); heart.classList.toggle('on'); // ํํธ๋ฅผ ํด๋ฆญํ๋ฉด .on ํด๋์ค๋ฅผ ์ถ๊ฐ });
ย
ํ์ผ๋ช
:
css/style.css
... .contents .bottom_icons .left_icons > div{ margin-right: 10px; } .heart_btn.on .sprite_heart_icon_outline{ /* on ํด๋์ค๊ฐ ์ถ๊ฐ ๋ ๊ฒฝ์ฐ ์ด๋ฏธ์ง๋ฅผ ๋ณ๊ฒฝ */ background: url('../imgs/background01.png') no-repeat -26px -261px; } .contents .likes{ padding: 5px 20px; color: #262626; } ...
ย
ํํธ๋ฅผ ๋๋ฅผ๋๋ง๋ค ์์ด ๋ณํ๋ ๊ฒ์ ๋ณด์ค ์ ์์ต๋๋ค.
ย
ํ์ง๋ง ๋ค์ ๊ฒ์๋ฌผ์ด ํํธ๋ ์คํ์ด ์๋๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค. querySelector()๋ ํ๋๋ง ๊ฐ์ง๊ณ ์ค๊ธฐ ๋๋ฌธ์
๋๋ค. ๊ทธ๋ ๋ค๊ณ querySelectorAll()์ ์ฌ์ฉํ๊ฒ ๋๋ฉด ๋ฐฐ์ด๋ก ๋ค์ด์ค๊ธฐ ๋๋ฌธ์ ํ๋ํ๋ ์ด๋ฒคํธ๋ฅผ ๋ฃ์ด์ผ ํฉ๋๋ค. ์ฌ๊ธฐ์๋ event delegation์ ์ฌ์ฉํ๋๋ก ํ๊ฒ ์ต๋๋ค.
ย
์ด๋ฒ์๋ ์คํฌ๋กค ์ด๋ฒคํธ๋ฅผ ์ถ๊ฐํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์คํฌ๋กค์ ํ ๋ ๋ง๋ค ์ซ์๊ฐ ๋ฐ๋๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ๊ฐ ์น ํ์ด์ง์์ ์คํฌ๋กค์ ํ๋ ๋์์ด ๋ธ๋ผ์ฐ์ ํ๋ฉด์ด๊ธฐ ๋๋ฌธ์ ์๋์ฐ ๊ฐ์ฒด์ ์ด๋ฒคํธ๋ฅผ ์ถ๊ฐํ์ฌ์ผ ํฉ๋๋ค.
ย
์ด๊ฒ์ ์ด์ฉํด pageYOffset ๊ฐ์ด 10์ ๋์ด๊ฐ๊ฒ ๋๋ฉด ์์ ์๋ header๋ฅผ ๊ณ ์ ์์ผ ๊ฐ์ด ์ด๋ํ๋ ๊ธฐ๋ฅ์ ๋ง๋ค๊ฒ ์ต๋๋ค.
ย
ํ์ผ๋ช
:
css/style.css
... #header{ ... } #header.on{ position: fixed; /* ์๋จ์ ๊ณ ์ ๋์ ๊ฐ์ด ์์ง์ */ } #header .inner{ ... transition: all 1s; /* ์์ฐ์ค๋ฌ์ด ํจ๊ณผ */ } #header.on .inner{ height: 52px; } ...
ย
ํ์ผ๋ช
:
js/main.js
const heart = document.querySelector( '.heart_btn'); // ํํธ ์์ ๋ถ๋ถ์ ์ ํํด์ ๊ฐ์ ธ์ด const header = document.querySelector('#header'); heart.addEventListener('click', function(){ console.log('hit'); heart.classList.toggle('on'); // ํํธ๋ฅผ ํด๋ฆญํ๋ฉด .on ํด๋์ค๋ฅผ ์ถ๊ฐ }); function scrollFunc(){ // console.log(pageYOffset); if(pageYOffset >= 10){ // ๋๋๊ทธํ ๊ฒฝ์ฐ header.classList.add('on'); }else{ header.classList.remove('on'); } } window.addEventListener('scroll', scrollFunc); // ์คํฌ๋กค ์ด๋ฒคํธ ๋ฐ์ ์ scrollFunc ์คํ
ย
๋จผ์ ์ปจํ
์ธ ๋ฐ์ค๋ฅผ ๋ณต์ฌํ์ฌ ์คํฌ๋กคํ ์ ์์ ์ ๋๋ก ๋ง๋ค์ด์ฃผ์๋ฉด ๋ฉ๋๋ค. ๋ํ ์คํฌ๋กค ๋๋ ๋์ ์ธ์คํ๊ทธ๋จ ๋ก๊ณ ๊ฐ ์ฌ๋ผ์ง๋ ๊ธฐ๋ฅ ๋ํ ์ถ๊ฐํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
ย
ํ์ผ๋ช
:
css/style.css/
... #header .inner .logo .sprite_insta_icon:after{ ... transition: all .5s; } ... #header .right_icons{ width: 132px; /* ๋ถ๋ชจ๊ฐ ์ข์ฐ๊ฐ ๊ณ ์ */ display: flex; justify-content: space-between; /* x์ถ ์ ๋ ฌ_๊ณต๊ฐ์ ์๋์ผ๋ก ๋ถ๋ฐฐํจ */ } #header .inner .logo div:nth-child(2){ transform:translateY(2px); transition:all .5s; } #header.on .inner .logo .sprite_insta_icon:after{ opacity:0; } #header.on .inner .logo div:nth-child(2){ opacity:0; } /* ์์ด์ฝ ์ฌ๋ผ์ง๊ฒ ํ๋ ๋ถ๋ถ */ ...
ย
side_box๋ ์คํฌ๋กคํ์ฌ๋ ๋ฐ๋ผ์ ์์ง์ด๋๋ก ์ด๋ฒคํธ๋ฅผ ์ถ๊ฐํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
ย
ํ์ผ๋ช
:
js/main.js
const heart = document.querySelector('.heart_btn'); // ํํธ ์์ ๋ถ๋ถ์ ์ ํํด์ ๊ฐ์ ธ์ด const header = document.querySelector( '#header'); const sidebox = document.querySelector( '.side_box'); heart.addEventListener('click',function(){ console.log('hit'); heart.classList.toggle('on'); // ํํธ๋ฅผ ํด๋ฆญํ๋ฉด .on ํด๋์ค๋ฅผ ์ถ๊ฐ }); function resizeFunc(){ if(pageYOffset >= 10){ let calcWidth = (window.innerWidth *0.5) +167; // ์น ํ์ด์ง ๊ธฐ๋ฐ์ผ๋ก ์์น ์ฌ์กฐ์ sidebox.style.left = calcWidth +'px'; } } function scrollFunc(){ // console.log(pageYOffset); if(pageYOffset >= 10){ // ๋๋๊ทธํ ๊ฒฝ์ฐ header.classList.add('on'); sidebox.classList.add('on'); }else{ header.classList.remove('on'); sidebox.classList.remove('on'); } } window.addEventListener('scroll', scrollFunc); // ์คํฌ๋กค ์ด๋ฒคํธ ๋ฐ์ ์ scrollFunc ์คํ
ย
ํ์ผ๋ช
:
css/style.css
... .side_box{ ... } .side_box.on{ position: fixed; /* ํ๋ฉด์ ๊ณ ์ */ top: 80px; } ...
ย
ย
์ฃผ์ํ์ค ๋ถ๋ถ์ด position: fixed๋ position: absolute ์ ๋ค๋ฅด๊ฒ ๊ธฐ์ค์ ์ด ๋ฌด์กฐ๊ฑด ๋ธ๋ผ์ฐ์ ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ก๊ฒ ๋ฉ๋๋ค. ๊ทธ๋์ ๋ ์ด์์์ธ inner๋ฅผ ๊ธฐ์ค์ ์ผ๋ก ์ก๊ณ ์๋ side_box๊ฐ fixed๋ก ๋ณ๊ฒฝ๋๋ฉด ๋ธ๋ผ์ฐ์ ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ก๊ฒ ๋๋ฉด์ ์ด์ํ ์์น๋ก ์ด๋ํ๊ฒ ๋ฉ๋๋ค. ๊ทธ๋์ ์คํฌ๋กค์ ๋ด๋ฆฌ๊ฒ ๋์์ ๋ ์์น๋ฅผ ๋ค์ ์ฌ์กฐ์ ํด์ฃผ์ด์ผ ํฉ๋๋ค.
ย
๊ทธ๋์ resizeFunc ํจ์๋ฅผ ๋ง๋ค์ด์ ์ด๋ฅผ ํด๊ฒฐํ๋๋ก ํ๊ฒ ์ต๋๋ค.
ย
ํ์ผ๋ช
:
js/main.js
const heart = document.querySelector('.heart_btn'); // ํํธ ์์ ๋ถ๋ถ์ ์ ํํด์ ๊ฐ์ ธ์ด const header = document.querySelector( '#header'); const sidebox = document.querySelector( '.side_box'); heart.addEventListener('click',function(){ console.log('hit'); heart.classList.toggle('on'); // ํํธ๋ฅผ ํด๋ฆญํ๋ฉด .on ํด๋์ค๋ฅผ ์ถ๊ฐ }); function resizeFunc(){ if(pageYOffset >= 10){ let calcWidth = (window.innerWidth *0.5) +167; // ์น ํ์ด์ง ๊ธฐ๋ฐ์ผ๋ก ์์น ์ฌ์กฐ์ // console.log(window.innerWidth); sidebox.style.left = calcWidth +'px'; } } function scrollFunc(){ // console.log(pageYOffset); if(pageYOffset >= 10){ // ๋๋๊ทธํ ๊ฒฝ์ฐ header.classList.add('on'); sidebox.classList.add('on'); resizeFunc(); }else{ header.classList.remove('on'); sidebox.classList.remove('on'); sidebox.removeAttribute('style'); } } window.addEventListener('scroll', scrollFunc); // ์คํฌ๋กค ์ด๋ฒคํธ ๋ฐ์ ์ scrollFunc ์คํ
ย
ย
CSS์์ ์คํฌ๋กค์ ๋ฐ๋ผ ๊ณ ์ ๋์ ์ด๋ํ๊ฒ ํ๊ธฐ ์ํด์ position: fixed; ๋ฅผ ์ฌ์ฉํ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค. ํ์ง๋ง position: fixed๋ ์น ํ์ด์ง๋ฅผ ๊ธฐ์ค์ผ๋ก๋ง ์์น๋ฅผ ์ ํ๊ธฐ ๋๋ฌธ์ ๋ ์ด์์ ๊ธฐ๋ฐ์ผ๋ก ์์น๊ฐ ์ ํด์ก๋ side_box์ ์์น๋ฅผ ๋ค์ ์ ํด์ฃผ์ด์ผ ํฉ๋๋ค. ๋ฐ๋ผ์ resizeFunc์ ์ฌ์ฉํ์ฌ ์ด๋ฅผ ํด๊ฒฐํ์์ต๋๋ค.
ย
์ฝ๋๋ฅผ ์ ์์ฑํ๋ค๋ฉด ์คํฌ๋กค ํ ๊ฒฝ์ฐ ์ ๊ณ ์ ์ด ๋๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค. ์ด๋ฒ์๋ ํ๋ฉด์ ์ค์์ ๋ ๋ฐ์ํ๋ ๋ฆฌ์ฌ์ด์ฆ ์ด๋ฒคํธ๋ฅผ ์ถ๊ฐํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ์์์ ์์ฑํ๋ resizefunc์์ ๊ธฐ๋ฅ์ ์ถ๊ฐํด์ ๋ง๋ค์ด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ํ๋ฉด์ด ์ปจํ
์ธ ๋ฐ์ค๋ณด๋ค ์์์ง๊ฒ ๋๋ฉด ์ปจํ
์ธ ๋ฐ์ค๊ฐ ๊ทธ์ ๋ง์ถฐ์ ์ค์ด๋ค๋๋ก ์ด๋ฒคํธ๋ฅผ ์์ฑํด ๋ณด๊ฒ ์ต๋๋ค.
ย
ํ์ผ๋ช
:
js/main.js
const heart = document.querySelector( '.heart_btn'); // ํํธ ์์ ๋ถ๋ถ์ ์ ํํด์ ๊ฐ์ ธ์ด const header = document.querySelector( '#header'); const sidebox = document.querySelector( '.side_box'); heart.addEventListener('click', function(){ console.log('hit'); heart.classList.toggle('on'); // ํํธ๋ฅผ ํด๋ฆญํ๋ฉด .on ํด๋์ค๋ฅผ ์ถ๊ฐ }); function resizeFunc(){ // console.log('resize!!'); if(pageYOffset >= 10){ let calcWidth = (window.innerWidth *0.5) +167; // ์น ํ์ด์ง ๊ธฐ๋ฐ์ผ๋ก ์์น ์ฌ์กฐ์ // console.log(window.innerWidth); sidebox.style.left = calcWidth +'px'; } } function scrollFunc(){ // console.log(pageYOffset); if(pageYOffset >= 10){ // ๋๋๊ทธํ ๊ฒฝ์ฐ header.classList.add('on'); sidebox.classList.add('on'); resizeFunc(); }else{ header.classList.remove('on'); sidebox.classList.remove('on'); sidebox.removeAttribute('style'); } } window.addEventListener( 'resize', resizeFunc); window.addEventListener( 'scroll', scrollFunc); // ์คํฌ๋กค ์ด๋ฒคํธ ๋ฐ์ ์ scrollFunc ์คํ
ย
์ปจํ
์ธ ๋ฐ์ค์ ํฌ๊ธฐ๊ฐ ๋ชจ๋ฐ์ผ๋ก ๊ฐ์ ๋ ๋๋ฌด ํฌ๊ฒ ๋ํ๋ฉ๋๋ค. ๋ชจ๋ฐ์ผ๋ก ๊ฐ์ ๋ ํด์๋์ ํฌ๊ธฐ๋ณด๋ค ์ปค์ง๊ฒ ๋๋ฉด ์ข์ฐ๊ฐ ํ๋ค๋ฆฌ๊ฑฐ๋ ๋ฌธ์ ๊ฐ ์๊น๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์ปจํ
์ธ ๋ค์ด ์ข์ฐ๊ฐ์ด ๋ฆฌ์ฌ์ด์ฆ๋ฅผ ํ๊ฒ ๋๋ฉด ํ๋ฉดํฌ๊ธฐ์ ๋ง์ถฐ์ ์ข์ฐ๊ฐ์ด ์ ์ง๋๋๋ก ๋ง๋ค์ด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
ย
ํ์ผ๋ช
:
js/main.js
const heart = document.querySelector( '.heart_btn'); // ํํธ ์์ ๋ถ๋ถ์ ์ ํํด์ ๊ฐ์ ธ์ด const header = document.querySelector( '#header'); const sidebox = document.querySelector( '.side_box'); // SelectorAll์ ํ์ฉํด ๋ชจ๋ ์์๋ฅผ ๊ฐ์ ธ์ด const variableWidth = document.querySelectorAll(".contents_box .contents"); heart.addEventListener('click', function(){ console.log('hit'); heart.classList.toggle('on'); // ํํธ๋ฅผ ํด๋ฆญํ๋ฉด .on ํด๋์ค๋ฅผ ์ถ๊ฐ }); function resizeFunc(){ // console.log('resize!!'); if(pageYOffset >= 10){ let calcWidth = (window.innerWidth *0.5) +167; // ์น ํ์ด์ง ๊ธฐ๋ฐ์ผ๋ก ์์น ์ฌ์กฐ์ // console.log(window.innerWidth); sidebox.style.left = calcWidth +'px'; } if(matchMedia('screen and (max-width : 800px)').matches){ // ์ฌ๋ฌ๊ฐ์ ์ปจํ ์ธ ๋ฐ์ค๊ฐ ์์ผ๋ฏ๋ก ๋ฐฐ์ด ํ์ฉ for(let i=0; i<variableWidth.length; i++){ variableWidth[i].style.width = window.innerWidth -20 +'px'; } }else{ for(let i=0; i<variableWidth.length; i++){ variableWidth[i].removeAttribute('style'); } } } function scrollFunc(){ console.log(pageYOffset); if(pageYOffset >= 10){ // ๋๋๊ทธํ ๊ฒฝ์ฐ header.classList.add('on'); sidebox.classList.add('on'); resizeFunc(); }else{ header.classList.remove( 'on'); sidebox.classList.remove( 'on'); sidebox.removeAttribute( 'style'); } } window.addEventListener( 'resize', resizeFunc); window.addEventListener( 'scroll', scrollFunc); // ์คํฌ๋กค ์ด๋ฒคํธ ๋ฐ์ ์ scrollFunc ์คํ
ย
width๊ฐ์ด 800 ์ดํ์์๋ element.style๊ฐ์ด width๊ฐ์ ์กฐ์ ํ๊ณ width๊ฐ 800 ์ด์์์๋ style๊ฐ์ด ์ฌ๋ผ์ง๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
ย
์์ฑ๋ ์ฝ๋๋ ์๋์ ๊ฐ์ต๋๋ค.
ย
ํ์ผ๋ช
:
js/main.js
const heart = document.querySelector( '.heart_btn'); // ํํธ ์์ ๋ถ๋ถ์ ์ ํํด์ ๊ฐ์ ธ์ด const header = document.querySelector( '#header'); const sidebox = document.querySelector( '.side_box'); // SelectorAll์ ํ์ฉํด ๋ชจ๋ ์์๋ฅผ ๊ฐ์ ธ์ด const variableWidth = document.querySelectorAll(".contents_box .contents"); heart.addEventListener('click', function(){ console.log('hit'); heart.classList.toggle('on'); // ํํธ๋ฅผ ํด๋ฆญํ๋ฉด .on ํด๋์ค๋ฅผ ์ถ๊ฐ }); function resizeFunc(){ // console.log('resize!!'); if(pageYOffset >= 10){ let calcWidth = (window.innerWidth *0.5) +167; // ์น ํ์ด์ง ๊ธฐ๋ฐ์ผ๋ก ์์น ์ฌ์กฐ์ // console.log(window.innerWidth); sidebox.style.left = calcWidth +'px'; } if(matchMedia('screen and (max-width : 800px)').matches){ // ์ฌ๋ฌ๊ฐ์ ์ปจํ ์ธ ๋ฐ์ค๊ฐ ์์ผ๋ฏ๋ก ๋ฐฐ์ด ํ์ฉ for(let i=0; i<variableWidth.length; i++){ variableWidth[i].style.width = window.innerWidth -20 +'px'; } }else{ for(let i=0; i<variableWidth.length; i++){ variableWidth[i].removeAttribute('style'); } } } function scrollFunc(){ console.log(pageYOffset); if(pageYOffset >= 10){ // ๋๋๊ทธํ ๊ฒฝ์ฐ header.classList.add('on'); sidebox.classList.add('on'); resizeFunc(); }else{ header.classList.remove( 'on'); sidebox.classList.remove( 'on'); sidebox.removeAttribute( 'style'); } } window.addEventListener( 'resize', resizeFunc); window.addEventListener( 'scroll', scrollFunc); // ์คํฌ๋กค ์ด๋ฒคํธ ๋ฐ์ ์ scrollFunc ์คํ
ย
ํ์ผ๋ช
:
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.on{ position: fixed; /* ์๋จ์ ๊ณ ์ ๋์ ๊ฐ์ด ์์ง์ */ } #header .inner{ /* inner ์์ ์ปจํ ์ธ ๋ฅผ ๋ฃ์ผ๋ฉด ์์ ๊ฐ์ด ๋ค์ด์ด */ width: 975px; height: 77px; margin: 0 auto; /* ๊ฐ์ด๋ฐ ์ ๋ ฌ */ display: flex; /* ๊ฐ๋ก ๋ฐฐ์น */ justify-content: space-between; /* x์ถ ์ ๋ ฌ_๊ณต๊ฐ์ ์๋์ผ๋ก ๋ถ๋ฐฐํจ */ align-items: center; /* y์ถ ์ ๋ ฌ */ transition: all 1s; /* ์์ฐ์ค๋ฌ์ด ํจ๊ณผ */ } #header.on .inner{ height: 52px; } #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; transition: all .5s; } #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); transition:all .5s; } #header.on .inner .logo .sprite_insta_icon:after{ opacity:0; } #header.on .inner .logo div:nth-child(2){ opacity:0; } /* ์์ด์ฝ ์ฌ๋ผ์ง๊ฒ ํ๋ ๋ถ๋ถ */ #header .inner .logo .sprite_insta_icon{ position: relative; /* after์๊ฒ ์์น ๊ธฐ์ค์ ์ ๋ฌํด์ฃผ๊ธฐ ์ํจ */ margin-right: 30px; } #main_container{ padding-top: 130px; display: flex; /* ์ปจํ ์ธ ๊ฐ ๊ฐ์ด๋ฐ์ ์์นํ ์ ์๋๋ก ํจ */ justify-content: center; /* x์ถ ๊ฐ์ด๋ฐ ์ ๋ ฌ */ } #main_container .inner{ width: 935px; /* height: 500px; */ /* background: red; */ position: relative; /* ๊ธฐ์ค์ ์ inner๋ก ๋ณ๊ฒฝํ๊ธฐ ์ํจ */ } .contents_box{ } .contents{ width: 614px; /* height: 500px; */ border: 1px solid rgba(0,0,0,0.09); border-radius: 3px; /* ํ ๋๋ฆฌ๋ฅผ ๋ฅ๊ธ๊ฒ ๋ง๋ฌ */ margin-bottom: 60px; /* ๋ค๋ฅธ contents๋ค์ด ๋ฐ๋ ค์ผ ๋๊ธฐ ๋๋ฌธ์ ์ฌ์ด์ ์ฌ๋ฐฑ์ ์ค๋ค */ background: white; } .contents .top{ display: flex; /* ๊ฐ๋ก ๋ฐฐ์น */ justify-content: space-between; /* x์ถ ์ ๋ ฌ_๊ณต๊ฐ์ ์๋์ผ๋ก ๋ถ๋ฐฐ */ align-items: center; padding: 10px 20px; /* ์์๋ ์์ชฝ */ } .contents .top .profile_img{ width: 32px; height: 32px; border-radius: 50%; /* ํ ๋๋ฆฌ๋ฅผ ๋ฅ๊ธ๊ฒ ์ค์ 50% -> ์์ ํํ */ overflow: hidden; /* ์์์ด ํฌ๊ธฐ๊ฐ ๋์น์ง ์๋๋ก ํ๋ค */ margin-right: 10px; } .contents .top .profile_img img{ width: 100%; /* 100%๊ฐ ์์ ๊ฒฝ์ฐ ์ด๋ฏธ์ง๊ฐ ๋ค์ด๊ฐ์ง ์์ */ } .contents .top .user_container{ display: flex; /* ๊ฐ๋ก ๋ฐฐ์น */ } .m_text{ font-size: 14px; font-weight: bold; } .s_text{ font-size: 12px; } .contents .img_section{ overflow: hidden; /* ์์์ด ๋ถ๋ชจ์ ํฌ๊ธฐ๋ฅผ ๋์ง ์๋๋ก ํ๋ค */ } .contents .img_section img{ width: 100%; /* ๋ถ๋ชจ์ ํฌ๊ธฐ 100%๋ฅผ ๋ฐ๋๋ค */ } .contents .bottom_icons{ display: flex; /* ๊ฐ๋ก ๋ฐฐ์น */ justify-content: space-between; /* x์ถ ์ ๋ ฌ_๊ณต๊ฐ์ ์๋์ผ๋ก ๋ถ๋ฐฐํจ */ align-items: center; /* y์ถ ๊ฐ์ด๋ฐ ์ ๋ ฌ */ padding: 10px 20px; } .contents .bottom_icons .left_icons{ display: flex; /* ๊ฐ๋ก ๋ฐฐ์น */ } .contents .bottom_icons .left_icons > div{ margin-right: 10px; } .heart_btn.on .sprite_heart_icon_outline{ /* on ํด๋์ค๊ฐ ์ถ๊ฐ ๋ ๊ฒฝ์ฐ ์ด๋ฏธ์ง๋ฅผ ๋ณ๊ฒฝ */ background: url('../imgs/background01.png') no-repeat -26px -261px; } .contents .likes{ padding: 5px 20px; color: #262626; } .contents .comment_container{ display: flex; /* ๊ฐ๋ก ๋ฐฐ์น */ justify-content: space-between; align-items: center; padding: 5px 20px; } .contents .comment_container .comment{ display: flex; /* ๊ฐ๋ก ๋ฐฐ์น */ font-size: 14px; } .contents .comment_container .comment .nick_name{ margin-right: 10px; /* ์์ด๋์ ๋๊ธ ๊ฐ์ ๊ฑฐ๋ฆฌ ์ค์ */ } .contents .timer{ font-size: 10px; letter-spacing: 0.2px; /* ์๊ฐ ์กฐ์ */ color: #999; border-bottom: 1px solid rgba(0,0,0,0.09); /* ์๋์ชฝ ์ค์ ์ถ๊ฐ */ padding: 10px 20px; } .contents .comment_field{ min-height: 56px; padding: 0 20px; position: relative; /* ์์๋ค์ด absolute๋ก ์๋ฆฌ๋ฅผ ์ก๊ธฐ ์ํจ */ } .contents .comment_field input{ width: 100%; height: 56px; border: none; outline: none; background: transparent; /* ํฌ๋ช ํ๊ฒ ์ค์ */ } .contents .comment_field input:focus ~ .upload_btn{ pointer-events: initial; /* ํฌ์ธํฐ ์ด๋ฒคํธ ์ด๊ธฐํ */ opacity: 1; } .contents .comment_field .upload_btn{ color: #3897f0; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); /* y์ถ์ผ๋ก ์ค์ ์ ๋ ฌ */ cursor: pointer; pointer-events: none; /* ์ฒ์์๋ ํด๋ฆญ์ด ๋์ง ์๋๋ก ํ๋ค */ opacity: 0.6; } .contents .bottom_icons .right_icon > div{ cursor: pointer; /* ๋๋ฅผ ์ ์๋๋ก ํ๊ธฐ ์ํจ */ } .side_box{ width: 293px; /* height: 300px; */ /* background: rgba(255,0,0,0.16); */ position: absolute; /* ๋ถ๋ชจ๋ฅผ ๊ฐ๋ ๊ธฐ์ค์ ์ ์ก์ง ์์ผ๋ฉด ๊ผญ๋๊ธฐ๊น์ง ์ฌ๋ผ๊ฐ */ right: 0; top: 0; } .side_box.on{ position: fixed; /* ํ๋ฉด์ ๊ณ ์ */ top: 80px; } .side_box .profile_thumb{ width: 50px; height: 50px; border-radius: 50%; overflow: hidden; /* ์ด๋ฏธ์ง๊ฐ ๋์น์ง ์๋๋ก ํ๋ค */ margin-right: 10px; } .side_box .profile_thumb img{ width: 100%; height: 100%; } .side_box .user_profile{ display: flex; /* ๊ฐ๋ก ๋ฐฐ์น */ align-items: center; font-size: 14px; color: #262626; } .side_box .detail .id{ margin-bottom: 5px; } .side_box .detail .ko_name{ font-size: 12px; color: #999; } .side_box > article{ border: 1px solid rgba(0,0,0,0.09); border-radius: 3px; margin-bottom: 20px; width: 291px; font-size: 14px; color: #262626; font-weight: bold; background: white; } .side_box > article > header{ display: flex; /* ๊ฐ๋ก ๋ฐฐ์น */ align-items: center; justify-content: space-between; padding: 15px 20px; color: #999; } .side_box > article > header .more{ font-size: 12px; color: #262626; cursor: pointer; } .thumb_user{ display: flex; align-items: center; padding: 10px 20px; } .thumb_user .profile_thumb{ width: 34px; /* ํฌ๊ธฐ๊ฐ ์ข ๋ ์๊ฒ ๋ง๋ฌ */ height: 34px; } .thumb_user .time{ font-size: 10px; letter-spacing: 0.2px; color: #999; } .side_box .scroll_inner{ height: 182px; overflow-x: hidden; /* x์ถ_์์์ด ๋ถ๋ชจ ๋์ง ๋ชปํ๊ฒ ํ๋ค */ overflow-y: auto; /* ์๋์ผ๋ก ์คํฌ๋กค์ ๋ณด์ฌ์ฃผ๊ฑฐ๋ ์จ๊น */ /* overflow: hidden auto; x์ถ, y์ถ ํ๋ฒ์ ์ค์ */ } .hidden_menu{ display: none; width: 600px; /* background: red; */ position: absolute; left: 50%; transform: translateX(-50%); /* x์ถ ๊ฐ์ด๋ฐ ์ ๋ ฌ */ top: 100px; overflow: hidden; /* ์์๋ค์ด ๋์น์ง ์๋๋ก ํ๋ค */ border: 1px solid rgba(0,0,0,0.09); border-radius: 3px; } .hidden_menu .scroll_inner{ height: 100px; /* ๋์ด๊ฐ์ ์์์๊ฒ ์ค๋ค */ width: auto; overflow-x: auto; /* ํญ๋ชฉ์ด ๋ง์์ง ๊ฒฝ์ฐ ์์์ ์คํฌ๋กค์ด ์์ฑ */ overflow-y: hidden; display: flex; /* ๊ฐ๋ก๋ฐฐ์น */ align-items: center; padding: 0 10px; } .hidden_menu .scroll_inner .user{ width: 80px; height: 80px; display: flex; flex-direction: column; /* ๊ฐ๋ก ์ค์ ์ ๋ ฌ์ ์ธ๋ก ์ค์ ์ ๋ ฌ๋ก ๋ณ๊ฒฝ */ align-items: center; margin-right: 15px; justify-content: space-between; /* ์ด๋ฏธ์ง๋ ์๋ก ์์ด๋๋ ์๋๋ก ์ค์ */ } .hidden_menu .scroll_inner .user .id{ font-size: 12px; color: #262626; } .hidden_menu .thumb_img{ width: 56px; height: 56px; border-radius: 50%; overflow: hidden; } .hidden_menu .thumb_img img{ width: 100%; height: 100%; } @media screen and (max-width:1000px){ #header .inner{ width: 97.5%; } #main_container{ padding-top: 220px; } #main_container .inner{ width: 93.5%; } .contents_box{ display: flex; flex-direction: column; /* ์ธ๋ก ๋ฐฐ์น ๋ฐ๋๋ก ํ๋ค */ align-items: center; /* ์ผ์ชฝ์ผ๋ก ์น์ฐ์ณ ์ง๋ ๊ฑธ ๋ฐฉ์ง */ } .side_box{ /* ์ฌ์ด๋ ๋ฐ์ค ์จ๊ธฐ๊ธฐ */ display: none; } .hidden_menu{ display: block; } } @media screen and (max-width:650px){ #header .search_box{ display: none; } .hidden_menu{ width: 95%; } }