์ฌ์ดํธ๋ช
: naver career
์์
๊ธฐ๊ฐ: 3.5์ผ ์์
๋ผ์ด๋ธ๋ฌ๋ฆฌ: swiper, jQuery
์ ํ: ๋ฐ์ํ, ํด๋ก ์ฝ๋ฉ
์ฐธ์ฌ๋: 100%
๋ชจ๋ ๋ฐ์ํ์์ค ์ ์๋ ๋ชจ๋ ๊ฒ ์์ฑ๋์ด์๋์ํ(๋ชจ๋ css์์ฑ)์์ ๋ฐ์ํ์ ์์ ํด์ผ ํ๋ค.
๐1. ๋ชจ๋ css ํ์ผ์ ๋ค์ด๊ฐ์ ํ๋จ๋ถ๋ถ์ ๋ฏธ๋์ด์ฟผ๋ฆฌ๋ฅผ ์ง์ด๋ฃ๋๋ค.!
-> ๊ตฌํ๋ถ๊ฐ๋ฅ์์ , ๊ณต์กด์ด ์๋๋์์ , ์์์ผ๋ก ์ ๊ณต์๋ ํ๋ฅ ์ด 100%
๐ก ํ ๋ธ๋ฆฟ๊ณผ ๋ชจ๋ฐ์ผ์ ํญ์ ๊ณ ์ ์ด๊ณ ๊ทธ ์ธ์ ์ฌ์ด์ฆ๋ค์ ์ฌ์ดํธ๋ง๋ค ๋ค๋ฅด๊ธฐ๋์ ํ์ธํ๊ณ ํ ๊ฒ
- ํ ๋ธ๋ฆฟ (1023px)
- ๋ชจ๋ฐ์ผ๋๊ฐ์ (767px)
โญํญ์ ์ต์๋ฅผ ์ก์์ผํ๋ค! ๊ทธ๋์ผ ์๊นจ์ง๋ค.โญ
์ด ์ฌ์ดํธ์ ๋ถ๊ธฐ์ ์ max-width: 1100px์ผ๋ก
@media screen and (max-width: 1200px) { /* *1024์ ๊ธฐ์ค์ผ๋ก ํ๋ฉด์ ๋ณด๊ณ ์ก์์ผํจ */ /* -> ์ด๊ฒ๋ณด๋ค ๋ ์ค์ด๋ค์์๋์ ๊ณผ์ ์ ๋ด์ผํ๊ธฐ๋๋ฌธ์*/ }@media screen and (max-width: 1023~4px) { /* *768์๋ณด๊ณ ์ก์์ผํจ */ ->ํ๋ธ๋ฆฟ ์ธ๋ก์ฌ์ด์ฆ }@media screen and (max-width: 767px) { /* *320์ ๋ณด๊ณ ์ก์์ผํจ */ }โผ ๊ณผ์ ์ค์ ๋ถ๊ธฐ์ ์ถ๊ฐ๊ฐ ๋ถ๊ฐํผํ๋ค๋ฉด ์ถ๊ฐ ๊ฐ๋ฅ.
common,layout,main ๋งจ ๋ง์ง๋ง ๋ถ๋ถ์ ๋ค ๋ค์ด๊ฐ์ผํจ
๋ด๊ฐ ๊ณ ์ณ์ผํ๋๊ฒ๋ง ์์น๋ฅผ ๊ณ ์ณ์ฃผ๋ฉด๋จ
ํ๋ฉด์ด ์ค์ด๋ค์์๋ ์์ญ๋ค์ ๋ฏธ๋ฆฌ ์์ญ์ ๋ง๋ค์ด๋์ด์ผํ๋ค.
๋ฏธ๋ฆฌ display : none;ํด๋๊ณ block์ผ๋ก ๋ณด์ฌ์ฃผ๊ธฐ
.inner{ max-width: 1200px; margin: 0 auto; padding: 0 104px 0 98px; }
width๊ฐ ๊ทธ๋ฅ๋ค์ด๊ฐ์ ์๋๋ค.max-width๋ก ์ค์ผํ๋ฉฐ max-width๊ฐ ๋ค์ด๊ฐ์๋๋ 0๊น์ง๋ ์ค์ด๋ค์์๋ค๊ณ ๊ฐ์ ์ค๊ฒ
- ํค๋ inner์
box-sizing: border-box;์ค์ผํ๋ค.
โ ํค๋์ ํจ๋ฉ์ด ๋ค์ด๊ฐ๊ธฐ๋๋ฌธ

flex์์์ด ๋๋ช ์์๋๋ ๊ฐ์ 1๋1 ๋ก ๋น์จ ๋จน๊ฒ ๋ค๋ ๋ป
-> ๊ฐ์ ๋๊ฐ์ ๋น์จ๋ก ๋จน์- ์ง๊ธ์
logo์gnb-area๋์ด ์ธ์ฐ๋๋ฐ
logo๋ ์ ํํwidth๊ฐ ์์ผ๋ฏ๋ก ๋ก๊ณ ๋นผ๊ณ ๋๋จธ์ง๋
gnb๊ฐ ๋ชจ๋ ๋จน๋๋ค =grow : 1, ๋๊น์ง ์๋ผ๋๋ค
- ๋ฉ๋ด์ฒ๋ฆฌํ ๋ ๋ฐ์๊น์ง ์๋จน์์ผ๋ก
height : 100%


margin:0 auto๊ฐ ๊ฐ์ด๋ฐ๋ก ๋ณด๋ด์ฃผ๋๊ฑด ์๊ฒ์ด๋ค.
๊ทธ ์ด์ ๋ ์ข์ฐ๋ฅผ ์๋์ผ๋ก ์ซ ๋ฐ๋ค๋ณด๋ ๊ฐ์ด๋ฐ๋ก ์์ง๊ฒ.
๊ฐ์ ์๋ฆฌ๋ก
margin-right: auto๋ฅผ ์ค๋ค๋ฉด ์๋์ผ๋ก ์ค๋ฅธ์ชฝ๋ง ์ญ ๋์ด๋๊ฒ๋๋ค

div๊ฐ ์๋ article๋ก ํ์ํ๋คcareer ์ด๋ฏธ์ง ๋ถ๋ถ์ before๋ก ์ฒ๋ฆฌํ๋๊ฒ ๋ ์ข๋คbody์ padding-top: 64px; ๋ฅผ ์ค๋ค.header ๊ฐ์ header๋ ํญ์ ๋ ์์ผ๋๊น!animation: rolling 20s linear infinite; @keyframes rolling { 0% { transform: translateX(50%);} 100% {transform: translateX(-100%);} }
infinite๋ก ๋ฌดํ ๋ฐ๋ณตtext-align: right;๋ก ๋งจ ์ค๋ฅธ์ชฝ์ผ๋ก ๋ณด๋ด 0๋ถํฐ ์์ํ๋ ๋๋์ฃผ๊ธฐ<div class="search-list"> <label for="keyword" class="ic-title">ํค์๋</label> <input type="text" name="" id="keyword" placeholder="ํ๋ก ํธ์๋ ๊ฐ๋ฐ์"> </div>
label ๊ณผ input์ ์ฐ๊ฒฐ์ด ๋์ด์ผํจid๊ฐ๊ณผ for๊ฐ์ ๊ฐ๊ฒ ํด์ค๋ค.โ ๊ทธ๋์ผ ๊ธ์ ํด๋ฆญ์ ๋ฒํผ๋ ๊ฐ์ด ์ฒดํฌ๊ฐ ๋๋ค
<form action="" method="get"> <fieldset> <legend class="blind">์ธ์ฌ๊ฒ์</legend> <div class="search-wrap"> <div class="search-list"> <label for="keyword" class="ic-title">ํค์๋</label> <input type="text" name="" id="keyword" placeholder="ํ๋ก ํธ์๋ ๊ฐ๋ฐ์"> </div> <div class="search-list"> <label for="job" class="ic-title">์ง๊ตฐ</label> <select id="job"> <option value="preview" selected>์ง๊ตฐ์ ํ</option> <option value="Tech">Tech</option> </select> </div> </div> </fieldset> </form>
formํ๊ทธ๋ fieldset์ผ๋ก ๋ฌถ์ด์ฃผ๊ณ legend๋ก ์ ๋ชฉ์ ์จ์ค์ผํ๋ค.autocomplete="off"
- input์์ฑ์ ๋ฃ๊ฑฐ๋
<input type="text" autocomplete="off" />
- formํ๊ทธ์ ๋ฃ๊ธฐ
<form autocomplete="off"> <input type="text" /> </form>

๐ค ์ฒ์์ ์์ ๋ณ๊ฒฝํ๊ธฐ ์ํด color: #d0d0d0;๋ฅผ ์ ์ฉํ์ง๋ง ๋ฐ๋์ง์์ -> ๊ธ์ ์์ฒด์ ์์ ์คฌ๊ธฐ ๋๋ฌธ
$('.search-area select').change(function(e){ e.preventDefault(); $(this).css('color','#000'); })
select๋ฅผ ์ ํํ์๋this์css์ ์์ด ๋ธ๋์ผ๋ก ๋ฐ๋์ด๋ผ
input { padding: 0; background: transparent; border: 0; } input:focus { outline: none; }
.search-area .keyword-search input::placeholder{ color: #b4b4b4; font-weight: bold; }

โผ ์ต์ ์ ํ ๋นํ์ฑํ
- ํ๊ทธ์ ์ง์ ์ฃผ๊ธฐ
<option value="" disabled="" selected="">์ง๊ตฐ์ ํ</option>
- css์ ์ฃผ๊ธฐ
.search-area option[value=""][disabled] { display: none; }

.video-txt{ opacity: 0; transition:opacity 0.5s 0.3s; /*ํฌ๋ช ๋๊ฐ 0.5์ด๋ง์ ๋ํ๋๊ณ ๋๋ ์ด๋ 0.3์ด*/ } .sc-mainbanner .swiper-slide-active .video-txt{ opacity: 1; }
์ค์์ดํผ๊ฐ ์๋ ๋ ๋๋ ํญ์ โ.swiper-slide-activeโ๊ฐ ๋ค์ด๊ฐ์๋ค.
-> ํจ๊ณผ๋ฅผ ์ฃผ๊ณ ์ถ๋ค๋ฉด ์ฌ๊ธฐ์ ํจ๊ณผ์ฃผ๊ธฐ
๋ง์ฝ transition์ opacity๋ฅผ ์์จ์ฃผ๋ฉด ์ฒ์ ์์ํ ๋ ๊ธ์๊ฐ ์์์ก๋ค ์ปค์ง๊ฒ ๋์จ๋ค.
-> ์๋๋ฉด transition์๋ all์ด๋ผ๋ ๋จ์ด๊ฐ ์จ์ด์ ธ์๋ค.
๋ชจ๋ ๊ฑธ ๋ฐ๊ฟ์ฃผ๊ธฐ๋๋ฌธ์ opacity๋ฅผ ๊ผญ ์ ์ด์ฃผ๊ธฐ
transition:opacity 1.2s 0.3s linear;
๋ณธ๋ ์ค์์ดํผ ๊ธฐ์ค์ pc๋ก ์ก์๋ค๋ฉด ๊ธฐ์ค์ ๋ชจ๋ฐ์ผ๋ก ์ก๊ณ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ค์ ํด์ค๋ค.
var lastslide = new Swiper(".lastslide", { slidesPerView: 1, spaceBetween: 30, navigation: { nextEl: ".next", prevEl: ".prev", } });
breakpoints๋ฅผ ์ด์ฉํ์ฌ pc๋ฒ์ ์ ๋ง๋ค์ด์ค๋ค.
var lastslide = new Swiper(".lastslide", { slidesPerView: 1,/* ๊ธฐ์ค์ด ๋ชจ๋ฐ์ผ,๊ธฐ๋ณธ๊ฐ */ spaceBetween: 30, navigation: { nextEl: ".next", prevEl: ".prev", }, breakpoints:{ 769:{/* 768๋ณด๋ค ์ปธ์๋ */ slidesPerView: 3, } }, });
- ๊ธฐ๋ณธ๊ฐ์ด ๋ชจ๋ฐ์ผ์ด ๋๋๊ฑฐ
- ๋ชจ๋ฐ์ผ์ผ๋ ์ฌ๋ผ์ด๋๊ฐ ํ๋๋ง ๋ณด์ฌ์ผํ๊ณ ํ๋ฉด์ด 768๋ณด๋ค ์ปธ์๋ ์ฌ๋ผ์ด๋๋ฅผ 3๊ฐ ๋ณด์ด๊ฒ ํ๋ผ๋ ๋ป
- โ โ๋ฐ์ดํ ํ์์์!

<div class="img-box"> <img src="./asset/imges/contents/img_slide2_1.jpg" alt="์ฌ๋์ ๊ณต๋ถํฉ๋๋ค"> </div>
์ด๋ฏธ์ง๋ ํญ์ ์ด๋ฏธ์ง ๋ฐ์ค๋ก ๋ฌถ์ด์ฃผ๊ณ ์ฌ์ฉํ๊ธฐ
๊ทธ๋์ผ (๋ฐ์ํ์) ํจ๊ณผ๋ ์ฌ์ด์ฆ๋ฅผ ๋ง์๋๋ก ์กฐ์ ํ ์์๋ค.
โ ์ด๋ฏธ์ง์ ์ง์ ์ ์ธ px โ
๋ฏธ๋์ด์ฟผ๋ฆฌ์ img-box์ ์ง์ ์ ์ธ px๋ก ์ฌ์ด์ฆ๋ฅผ ์ฃผ๊ฒ ๋๋ฉด ์ฌ์ด์ฆ๊ฐ ๋ง์ง ์๋๋ค.
์ค์์ดํผ ์ค ๋ถ๋ชจ์ธ์ ํํ
๋์ด ์ฃผ๋ฉด ์๋๋ค.
โ ๋งจ๋ฐ ๋์ด๊ฐ๋ ํ์ดํ ๋ ๋ผ๊ฐ
์ด๋ฏธ์ง ์ฌ์ด์ฆ๋ฅผ %๋ก ์ค๋ค
โ ํ๋ฉด์ด ์ค๋๋ง๋ค ์ฌ์ด์ฆ ์๋ง๊ฒ ๋น์จ์ ์ง ํ ๋ผ๋๊ฒ
โ %๋ ํ๋ฉด ๋น์จ์ ๋ปํจ
๐ก %์ ํต์ฌ ์๋ฆฌ๋
- ๋ถ๋ชจ ์์์ width์ % ๊ฐ์ ์ ์ฉ โ ํ๋ฉด ํฌ๊ธฐ์ ๋ฐ๋ผ ๊ฐ๋ณ
- ์์ ์์์ padding-top: n%โ ๋ถ๋ชจ ์์ width๋ฅผ ๊ธฐ์ค์ผ๋ก ์์ ์์์ ๋์ด ์ค์ ๊ฐ๋ฅ
๋ถ๋ชจ์ ์๋ padding-topํน์padding-bottom์ด ์ ๋์ ์ด๊ฒ ํด์ฃผ๋๊ฒ
โ div๋ ์ ๋์ ์ด์ง ๋ชปํ๋๊น!
์ด๋ฏธ์ง ๋ฐ์ค(๋ถ๋ชจ)์ position: relative, padding-bottom: 47%์ ์ฃผ๊ณ ์ด๋ฏธ์ง์ position: absolute๋ฅผ ์ค์ ์ํ๋ ์์น์ ๋ฑ ๋ค์ด๊ฐ์์๊ฒํ๋ค
โ ๋น์จ์ ์ง ์ํค๋ ค๊ณ
.control-box .btn-nav.swiper-button-disabled{ opacity: 0.5;}
- ํฌ๋ช ๋๋ง ์กฐ์ ํ๋ฉด ๋๋ค.
button-disabled๋ ์ค์์ดํผ์์ ์ ์ผ ๋ง์ง๋ง์ ๋๋ฌํ๋ ํด๋์ค์ด๋ค.
<div class="video-box"> <video muted autoplay loop playsinline poster="ํฌ์คํฐ๋ก ์ฐ์ผ ์ด๋ฏธ์ง ๊ฒฝ๋ก"> <source src="https://recruit.pstatic.net/share/tmplat/naver/video/Joker.mp4" type="video/mp4"> </video> <h3 class="video-txt">Board<br> the Navership</h3> <div>
โ IOS (์์ดํจ๋๋ ์์ดํฐ)์์ video autoplay="ture" ๋ฅผ ๋ฃ์ด๋ ์๋์ฌ์์ด ๋์ง์๋๋ค.
์ฐพ์๋ณด๋ IOS์๋ autoplay ๋์ playinline์ ์จ์ผํ๋ค.
poster ์์ฑ์ผ๋ก ๋ฃ์ ์ด๋ฏธ์ง๋ ์ด๋ฏธ์ง๊ฐ ๋ก๋ฉ๋ ๋๋ ์ฒ์ ๋ก๋๋์ด ์ฌ์๋ฒํผ์ ๋๋ฅด๊ธฐ ์ ๊น์ง ๋ณด์ฌ์ค ์ด๋ฏธ์ง์ด๋ค.
ํฌ์คํฐ ์ด๋ฏธ์ง์ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ๋ ค๋ฉด css๋ฅผ ์ด์ฉํด ์กฐ์ ํด ์ค ์ ์๋ค.
video[poster]{ /* ํฌ์คํฐ ์ด๋ฏธ์ง์ ํฌ๊ธฐ๋ฅผ ๋น๋์ค ์์์ ๊ฝ์ฐจ๋๋ก */ height:100%; width:100%; }
์ ์ ์ ์ถ๊ฐ์ ์ผ๋ก ํ์ํ reset๋ถ๋ถ
input { padding: 0; background: transparent; border: 0; font-family: 'TTHoves','NanumSquare', sans-serif; } input:focus { outline: none; } fieldset { margin: 0; } button { background: transparent; border: 0; margin: 0; padding: 0; } select { border: 0; outline: none; appearance: none; -moz-appearance: none; /* Firefox */ -webkit-appearance: none; /* Safari and Chrome */ } /* IE ๊ธฐ๋ณธ ์คํ์ผ ์ ๊ฑฐ */ select::-ms-expand{ display: none; /* IE 10, 11 */ }
โผ ํธ๋ฒ์ ํ ๋ํ๋๊ธฐ (๋ถ๋๋ฝ๊ฒ ์๋)

๐ก ์ด๋ฒคํธ๋ฅผ ์ฃผ๊ธฐ ์ํด ์์ํด๋์ค๋ฅผ ๊ณ์ ์ถ๊ฐํ๋ค๋ณด๋ฉด ์ฌํ์ฅ์ฑ์ ๋ฌธ์ ๊ฐ ์๊น.
โ ํด๊ฒฐ๋ฐฉ์ โ โthisโ
$('.menu-item').hover(function(){ if($(this).find('.sub-list').length){2 $('.header').addClass('hover')2 $(this).find('.sub-list').addClass('active') 1 } }, function(){ $('.header').removeClass('hover')2 $('.sub-list').removeClass('active') 1 })
.menu-item์ ํธ๋ฒํ ๋ ํธ๋ฒ ๋๋ค๋ฉดsub-list์ ์์์ค์ sub-item์ ์ฐพ์์ active์ ์ถ๊ฐํด๋ผ,โ ๋ฉ๋ด team์ ์์์ ํ์ ์ฃผ๋๊ฒ ์๋๋ผ header์ ํธ๋ฒํ์๋ ํ์ด ๋์ค๋๊ฑธ๋ก ํด์ผํจ
๐ก
length๋ ๊ธธ์ด๊ฐ ์๋ค๋ฉด 1 ์๋ค๋ฉด 0
๊ทธ๋ผ์ผ๋ก ํ๊ทธ๊ฐ ์์ผ๋ฉด 1 ์์ผ๋ฉด 0 ํ๊ทธ์ ์ฌ๋ถ ํ์ธ

footer .tab-area.active .button{ background: #fff; } footer .tab-area .button::after{ content: ''; background-position: -122px -93px; position: absolute; top: 50%; right: 0; transform: translateY(-50%); /* display: inline-block; */ ์ฑ์์ด ์์๋ค๋ฉด ํ์ํจ width: 10px; height: 6px; z-index: 99; } footer .tab-area.active .button::after{ transform: rotate(180deg); right: 5px; }
$('.tab-area .button').click(function(){ $('.tab-area').toggleClass('active'); });
flex๋ฅผ ์ฐ๋ค๋ณด๋ฉด ๋ถ๋ชจ๋์ด๋ฅผ ์์๋ค์๊ฒ ๊ณต์ ๋ฅผ ํจ.๊ธฐ๋ณธ์ด
align-items: stretch์์์ด ๊ทธ ๋์ด๋ฅผ ๋ฐ๊ธฐ์ซ๋ค๋ฉดalign-items: center;๋ฅผ ์ฃผ๋ฉด ๋จ

- ์ผ์ชฝ ๋ฉ๋ด๋ค์ ul๋ก ์ ํฉํ์ง๋ง ์ค๋ฅธ์ชฝ ๋ฉ๋ด๋ค์ ul๋ณด๋ค aํ๊ทธ๋ก๋ง ์ด๋ฃจ์ด ์ง๊ฒ ์ข๋ค.
์๋!! โ ul์ 3~4๊ฐ ์ด์์ผ๋๊ฐ ์ด์์ ์ด๋๊น

- ํธ๋ฒ์ ๋ฐ์ ๋์ค๋ ์ ์
border๋ก ์ฒ๋ฆฌํ๋ฉด ๋์ปน๊ฑฐ๋ฆฐ๋ค
โ ๊ทธ๋ผ์ผ๋กwidth์height์ ์ด์ฉํ์ฌafter์ฒ๋ฆฌ๋ฅผ ํด์ค๋ค.
- aํ๊ทธ
height : 100%๋ฅผ ์คฌ๊ธฐ ๋๋ฌธ์ ๋ด๋ ค์ค์ง ์๋๊ฒ โ๊ฐ์ ๋ก line-height๋ฅผ ์คฌ์- 100%๋ฅผ ์์ค ์ด์ ๋ ์์์์ ํธ๋ฒํ์์ ์๊ธฐ๋ ์ ์ด ๊ธ์ ๋ฐ๋ก ๋ฐ์ด๊ธฐ ๋๋ฌธ
.gnb-area a::after{ content: ''; position: absolute; bottom: -1px; left: 0; width: 100%; height: 1px; background: #000; display: none; } .gnb-area a:hover::after{ display: block; }


์ฒ์์๋ ๋ฉ์ธ ์ค์์ดํผ๋ฅผ ๊ธฐ์ค์ผ๋ก position: relative๋ฅผ ์คฌ์๋๋ฐ ์์น๊ฐ ์์์ฒ๋ผ ๋์ง ์์.
transform: translateY(-50%); z-index: 1; position: relative;
position: relative;
z-index๋ฅผ header๋ณด๋ค ๋๊ฒ ์คฌ๋๋ฐ๋ ๊ณ์ ์์ ์ด์์๋ค.
๊ทธ ์ด์ ๋?

->๋ชจ๋ฐ์ผ์์ญ์ ๊ฐ์ธ๋ ๋ถ๋ชจ์๊ฒ z-index:1์ ์ฃผ์๊ธฐ ๋๋ฌธ์ ์์์ด ์๋ฌด๋ฆฌ ๋์ z-index๊ฐ์ ๋จน์ด๋ ๋๊ฒ ๋์ฌ ์ ์์๋ค.

โ ์ค๋ฅ์ฌํญ
โ button๋ก ๊ป๋ฐ๊ธฐ๋ง ์ ํํ๊ฒ ํ๋ค
์ค๋ฅ์ธ ์ด์
-> ์ฌ์ฉ์๊ฐ ํด๋ฆญํ์์ ๊ฐ๋ฐ์๊ฐ ์ ์ฅ๋ ๊ฐ์ ์์์ผํ๋ค. ๊ป๋ฐ๊ธฐ๋ง ๊พธ๋ฉฐ์ฃผ๋ฉด ๊ฐ๋ฐ์๊ฐ ๊ฐ์ ์์๊ฐ ์์.
๊ฐ์ ๋ฐ์์ผ์ง ๊ฐ๋ฐ์๊ฐ ์ฌ์ฉ์์ ๊ฐ์ ์ ์ ์๋ค.
$('.mo-lnb .btn-lnbclose').click(function(e){ e.preventDefault(); $('input').prop('checked',false) })
close๋ฅผ ์ ํํ์๋ input์ prop(property)์ฒดํฌ๊ฐ์ดfalse๋ก ๋ฐ๋์ด๋ผ