๐ฌ ๋ค์ด๊ฐ๋ฉฐ
๋งํฌ์ ๊ณผ 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% ๋งํผ ์ด๋ํด
๊ฐ์ด๋ฐ ์ ๋ ฌ์ ํ ๊ฒ ์ฒ๋ผ ๋ณด์ด๊ฒ ํ ์ ์๋ค.
'Front-End > HTML-CSS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
SCSS๋? (cascading) (0) | 2023.08.25 |
---|---|
(์น ์ ๊ทผ์ฑ) ํ ์คํธ๋ฅผ ์คํฌ๋ฆฐ๋ฆฌ๋๋ก ๋ถํฐ ์จ๊ธฐ๊ธฐ (0) | 2023.04.12 |
(HTML) Anchor ํ๊ทธ์ Button ํ๊ทธ์ ์ฐจ์ด์ (0) | 2023.03.05 |
(HTML/CSS) float ๋ง๋ณด๊ธฐ (0) | 2022.12.18 |
(HTML/CSS)Flex์ ๋ํด ์์๋ณด๊ธฐ (0) | 2022.12.17 |