๊ณต์‚ผ
article thumbnail


๐Ÿ’ฌ ๋“ค์–ด๊ฐ€๋ฉฐ

๋งˆํฌ์—…๊ณผ CSS ๋ฅผ ํ•˜๋‹ค๋ณด๋ฉด, ์ƒ์ž ์•ˆ์— ๊ฐ€์šด๋ฐ ์ •๋ ฌํ•ด ์•„์ด์ฝ˜์„ ๋„ฃ์–ด์•ผ ํ•  ๋•Œ๊ฐ€ ์žˆ๋‹ค. 

 

๊ฐ€๋กœ ์ •๋ ฌ, ์„ธ๋กœ ์ •๋ ฌ๋“ฑ์ด ์žˆ์ง€๋งŒ ์ด๋ฒˆ์—๋Š” ์„ธ๋กœ๋กœ ๊ฐ€์šด๋ฐ์ •๋ ฌ์„ ํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์‚ดํŽด๋ณด์ž. 

 

 

 

์œ„์™€ ๊ฐ™์€ ์˜ˆ์‹œ ์ด๋ฏธ์ง€ ์ฒ˜๋Ÿผ, ๋ฐ˜์‘ํ˜•์— ๋งž์ถฐ input ์ฐฝ์˜ ์„ธ๋กœ ๋†’์ด๋„ ์กฐ์ ˆ์ด ๋ ๋•Œ๋งˆ๋‹ค ๊ทธ์— ๋งž๊ฒŒ ๋ˆˆ๋™์ž ์•„์ด์ฝ˜์ด ๊ฐ€์šด๋ฐ์— ์œ„์น˜ ํ•˜๋„๋ก ํ•ด๋ณด์ž. 

 

์ดˆ๋ณด์ž๋“ค์€ ๋‚ด๊ฐ€ ํ–ˆ๋˜ ๊ฒƒ ์ฒ˜๋Ÿผ, input ์ฐฝ์˜ height ๊ฐ’์— ๋งž์ถฐ์„œ ๋Œ€๊ฐ• ๊ฐ€์šด๋ฐ์— ์˜ค๋„๋ก ํ–ˆ์„ ๊ฒƒ์ด๋‹ค. 

 

 

 

๐Ÿ’ก ๋ฌธ์ œ ํ•ด๊ฒฐ

 <div class="login-input-wrap">
    <input type="password" id="login-pw" placeholder="๋น„๋ฐ€๋ฒˆํ˜ธ" class="pw-type" />
    <button type="button" class="pw-see-btn">
        <img
          src="./assets/icons/login_nosee_36_36.png"
          alt="๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณด์ด๊ธฐ"
          class="pw-see"
        />
    </button>
</div>

input ์ฐฝ๊ณผ ๋ˆˆ ์•„์ด์ฝ˜์„ ์˜๋ฏธํ•˜๋Š” button ํƒœ๊ทธ๋Š” ๊ฐ™์€ ๋ ˆ๋ฒจ์— ์žˆ์„ ๊ฒƒ์ด๋‹ค. ํ•ด๋‹น ๋‘๊ฐ€์ง€๋ฅผ divํƒœ๊ทธ๋กœ ๋ฌถ์–ด relative๋ฅผ ์ค€๋‹ค. 

 

๊ทธ๋ ‡๋‹ค๋ฉด div์ฐฝํฌ๊ธฐ์— ๋งž์ถฐ input์ด ์ƒ๊ธธ ๊ฒƒ์ด๊ณ , button์€ divํƒœ๊ทธ์˜ ํฌ๊ธฐ์— ๋งž์ถฐ์„œ ์ด๋™๋˜๋„๋ก ํ•  ๊ฒƒ ์ด๋‹ค. 

 

 

๋Œ€์ถฉ ์š”๋Ÿฐ๋Š๋‚Œ..?

์ด์ œ ์šฐ๋ฆฌ๊ฐ€ ํ•ด์•ผํ•˜๋Š” ์ผ์€ ! button์„ div์˜ ์„ธ๋กœ ๊ฐ€์šด๋ฐ์ •๋ ฌ์„ ํ•˜๋ฉด ๋˜๋Š” ๊ฒƒ์ด๋‹ค. 

 

 

์„ธ๋กœ ๊ฐ€์šด๋ฐ ์ •๋ ฌ

 

์ฃผ์–ด์ง„ ํฌ๊ธฐ์— ๋งž์ถฐ์„œ ์ •๋ ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ 

 

.divtag{
  position: relative;
}

.buttontag{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

div ์— relative๋ฅผ ์ฃผ๊ณ , button์—๋Š” absolute์™€ top50% ์ค˜์„œ ์œ„์—์„œ ๋ถ€ํ„ฐ 50% ์œ„์น˜์— ์˜ค๊ธฐ ํ•ด์ค€๋‹ค. 

 

๊ทธ ํ›„ translateY ๋ฅผ ์ด์šฉํ•ด -50% ๋งŒํผ ๋‹ค์‹œ ์˜ฌ๋ ค์ฃผ๋ฉด ๊ฐ€์šด๋ฐ ์ •๋ ฌ์ด ๋œ๋‹ค. 

 

 

์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•์„ ์ด์šฉํ•ด input์˜ ์„ธ๋กœ ํฌ๊ธฐ๊ฐ€ ๋ณ€ํ•ด๋„ ํ•ญ์ƒ ๊ฐ€์šด๋ฐ ์ •๋ ฌ์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. 

 

 

 

 


๊ฐ€๋กœ ๊ฐ€์šด๋ฐ ์ •๋ ฌ

์„ธ๋กœ ๊ฐ€์šด๋ฐ ์ •๋ ฌ๊ณผ ๋น„์Šทํ•˜๋‹ค. 

.์ƒ์œ„์š”์†Œ{
  position: relative;
}

.ํ•˜์œ„์š”์†Œ{
  position: absolute;
  left: 50%;
  transform : translateX(-50%);
}

 

์„ ํ•ด์ฃผ๋ฉด ์ƒ์œ„์š”์†Œ์˜ ๋„ˆ๋น„๊ฐ’ ์ค‘ ์ขŒ์ธก์—์„œ 50% ๋งŒํผ ์ด๋™ํ›„, ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ๋งŒํผ ๋‹ค์‹œ ์™ผ์ชฝ์œผ๋กœ 50% ๋งŒํผ ์ด๋™ํ•ด

 

๊ฐ€์šด๋ฐ ์ •๋ ฌ์„ ํ•œ ๊ฒƒ ์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

 

profile

๊ณต์‚ผ

@g_three

ํฌ์ŠคํŒ…์ด ์ข‹์•˜๋‹ค๋ฉด "์ข‹์•„์š”โค๏ธ" ๋˜๋Š” "๊ตฌ๋…๐Ÿ‘๐Ÿป" ํ•ด์ฃผ์„ธ์š”!