๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐ŸŒŒ | WEB DEV/HTML CSS

CSS ํฌ์ง€์…˜ (2)_์ž๋™์œผ๋กœ ์ •๊ฐ€์šด๋ฐ ๋ฐฐ์น˜?

by KASSID 2022. 1. 6.

๋ชฉ์ฐจ

    728x90

    ์ €๋ฒˆ์— ๋‹ค๋ฃจ์—ˆ๋˜ position ์†์„ฑ์„ ์ด์–ด์„œ ์ด์•ผ๊ธฐ ํ•ด๋ณด์ž!

    ๊ฐ„๋‹จํžˆ ๋ณต์Šตํ•ด๋ณด๋ฉด

    ๋ถ€๋ชจ์š”์†Œ์— position: relative, ์ž์‹์š”์†Œ์— position: absolute๋ฅผ ์ ์šฉํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

     

    ๋˜ํ•œ ์ถ”๊ฐ€์ ์œผ๋กœ

    html์ƒ์œผ๋กœ๋„ ๋ถ€๋ชจ-์ž์‹ ๊ด€๊ณ„์ด์–ด์•ผ๋งŒ position์ด ์ ์šฉ์ด ๋œ๋‹ค!

     

    ๊ทธ ์ดํ›„์— top, bottom, left, right๋ฅผ ์ด์šฉํ•ด ์ƒ ํ•˜ ์ขŒ ์šฐ์— ๋ฐฐ์น˜๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

    ๊ฐ๊ฐ์˜ ๊ธฐ์ค€์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค!

    px, % ๋“ฑ์œผ๋กœ ๊ฐ’์„ ๋„ฃ์–ด์ฃผ์–ด๋„ ๋œ๋‹ค.

     

    <div class="parent">
        <div class="child"></div>
    </div>

     

    .parent {
        position: relative;
        width: 500px;
        height: 500px;
        border: 1px solid #000;
    }
    .child {
        position: absolute;
        background-color: steelblue;
        width: 100px;
        height: 100px;
        top:50%;
    }

    50%๋กœ ๊ฐ’์œผ๋กœ ๋„ฃ์–ด์ฃผ์—ˆ๋‹ค.

    ์œ„ ๊ฒฐ๊ณผ๋ฅผ ํ†ตํ•ด์„œ ์ž์‹์š”์†Œ์˜ ์œ„์ชฝ ๋ชจ์„œ๋ฆฌ๊ฐ€ top์š”์†Œ์˜ ๊ธฐ์ค€์ธ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

     

    .child {
        position: absolute;
        background-color: steelblue;
        width: 100px;
        height: 100px;
        bottom:50%;
    }

    bottom์†์„ฑ์€ ์•„๋ž˜ ๋ชจ์„œ๋ฆฌ๊ฐ€ ๊ธฐ์ค€์ด์—ˆ๋‹ค.

     

    left, right๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊ฐ๊ฐ ์™ผ์ชฝ, ์˜ค๋ฅธ์ชฝ ๋ชจ์„œ๋ฆฌ๊ฐ€ ๊ธฐ์ค€์ด๋‹ค.


    ์š”์†Œ๋ฅผ ์ •๊ฐ€์šด๋ฐ๋กœ ๋ฐฐ์น˜ํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋Š” ์–ด๋–ป๊ฒŒ ์ ์šฉ์„ ํ•ด์•ผํ• ๊นŒ?

    .child {
        position: absolute;
        background-color: steelblue;
        width: 100px;
        height: 100px;
        top: 50%;
        left: 50%;
    }

    ๋น„์Šค๋ฌด๋ฆฌํ•˜๊ฒŒ ๊ฐ€์šด๋ฐ๋กœ ์™”์ง€๋งŒ top, left์˜ ์†์„ฑ์œผ๋กœ ์ธํ•ด์„œ

    ์ž์‹์š”์†Œ์˜ ์™ผ์ชฝ ์ƒ๋‹จ ๊ผญ์ง€์ ์ด ๊ฐ€์šด๋ฐ๋กœ ์œ„์น˜ํ•ด ์žˆ๋Š” ์ƒํƒœ์ด๋‹ค.

     

     

    ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ

    transform: translate๋ฅผ ์ด์šฉํ•˜๋ฉด ๋œ๋‹ค.

    ํ”ํ•œ ์ขŒํ‘œ๊ณ„ ๊ทธ๋Œ€๋กœ ์ƒ๊ฐ์„ ํ•˜๋ฉด ๋˜๊ณ ,

    ๊ธฐ์ค€์€ ์ขŒ์ธก, ์ƒ๋‹จ์˜ ๊ผญ์ง€์ ์ด๋‹ค!

     

    ์ ์šฉ์„ ํ•œ ์š”์†Œ๊ฐ€ ๊ฐ’์— ๋”ฐ๋ผ ์กฐ์ •์ด ๋œ๋‹ค.

     

    .child {
        position: absolute;
        background-color: steelblue;
        width: 100px;
        height: 100px;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    -50%๋ฅผ ๊ฐ๊ฐ ์ ์šฉํ•ด์„œ ์ž๊ธฐ ์ž์‹ ์˜ ์ ˆ๋ฐ˜๋งŒํผ ์ด๋™์„ ์‹œ์ผœ์ฃผ์—ˆ๋‹ค.

     

    ์ด๋ ‡๊ฒŒ ์กฐ์ •์„ ํ•ด์„œ ์ •๊ฐ€์šด๋ฐ๋กœ ๋ฐฐ์น˜๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค!

     

    ๋งŒ์•ฝ ๋ธŒ๋ผ์šฐ์ € ์ž์ฒด์˜ ์ •์ค‘์•™์— ์œ„์น˜ ์‹œํ‚ค๊ณ  ์‹ถ๋‹ค๋ฉด

    ๋ถ€๋ชจ์š”์†Œ์— relative๋ฅผ ์ ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ๋œ๋‹ค.

     

     

    ๋Œ“๊ธ€