๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“‚ ์‚ฝ์งˆ ๋…ธํŠธ/์—๋Ÿฌ ํ•ด๊ฒฐ

[CSS ์šฐ์„ ์ˆœ์œ„] ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์„ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ ์™œ ์Šคํƒ€์ผ ์ ์šฉ์ด ์•ˆ๋˜์ง€?

by Dev. Ella 2023. 8. 24.

๐Ÿ› ๏ธ ๊ตฌํ˜„ํ•  ํ™”๋ฉด

๋ฐฐ๋ฏผ์ƒํšŒ ์‚ฌ์ดํŠธ ํ™ˆ ํ™”๋ฉด

๋นจ๊ฐ•์ƒ‰์œผ๋กœ ํ‘œ์‹œํ•œ ๋ถ€๋ถ„์„ ๊ตฌํ˜„ํ•˜๊ณ ์ž ํ–ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ์ผ์ผ์ด ๋งŒ๋“ค๊ธฐ ๋ฒˆ๊ฑฐ๋กœ์›Œ์„œ  ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ์ด๋ผ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ™œ์šฉํ–ˆ๊ณ , ๊ทธ ์ค‘  Card ๋ผ๋Š” ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. ์ด๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜์ง€๋Š” ์•Š๊ณ , ์•„๋ž˜์™€ ๊ฐ™์ด ์ปค์Šคํ…€์„ ํ–ˆ๋‹ค.

 

 

๐Ÿง ์ž˜๋ชป ์“ด ์ฝ”๋“œ ์˜ˆ์‹œ

๊ทธ๋Ÿฐ๋ฐ ์ฝ”๋“œ๋ฅผ ์“ฐ๋‹ค๋ณด๋‹ˆ ์•„๋ž˜์™€ ๊ฐ™์€ ๋‘ ๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค.

 

1. ๋ง‰์ƒ ๋งŒ๋“ค๊ณ  ๋ณด๋‹ˆ, ์นด๋“œ์˜ ํ˜•ํƒœ๊ฐ€ ์•„๋‹ˆ๊ธฐ์— ์ปค์Šคํ…€์„ ๋„˜์–ด์„œ ๊ทธ๋ƒฅ ๋‚ด๊ฐ€ ์ง์ ‘ ๋งŒ๋“  ๊ผด์ด ๋˜์–ด ๋ฒ„๋ฆฐ ๊ฒƒ

2. ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ํด๋ž˜์Šค์— ์ด๋ฏธ ์ ์šฉ๋œ ์Šคํƒ€์ผ๋•Œ๋ฌธ์— ๋‚ด๊ฐ€ ์ปค์Šคํ…€ํ•œ ์Šคํƒ€์ผ์ด ๋ฌปํžˆ๋Š” ๊ฒƒ

 

<!-- HTML -->

<div class="card">
    <div class="card-body">
        <img src="/Image/๊ธฐํš์ „_์ตœ์ €๊ฐ€.jpg" class="card-img" alt="์ตœ์ €๊ฐ€">
        <p class="card-text">์ตœ์ €๊ฐ€</p>
    </div>
</div>

 

/* CSS ํŒŒ์ผ */

.card {
    border: none !important;
    display: flex !important;
    justify-content: space-between !important;
    width: 100% !important;
    margin-top: 15px !important;
}

.card-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 5rem;
    font-size: 14px;
}

.card-img {
    margin-bottom: 10px;
    border-radius: 16px;
    width: 3.75rem;
}

 

๊ทธ๋ž˜์„œ ์œ„์™€ ๊ฐ™์ด !important๋ฅผ ์ž„์‹œ๋กœ ๋‚จ์šฉํ–ˆ๋Š”๋ฐ, ์‚ฌ์‹ค ์ด ๋ฐฉ๋ฒ•์€ ์ข‹์ง€ ์•Š์€ ๋ฐฉ๋ฒ•์ด๋‹ค. ๋ฌผ๋ก  ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์˜ card ํด๋ž˜์Šค์—์„œ ํฌ๊ฒŒ ๋ฒ—์–ด๋‚˜์ง€ ์•Š๊ฒŒ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•ํ•˜๊ณ ์ž ํ•œ๋‹ค๋ฉด, ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์˜ ํด๋ž˜์Šค์™€ ์„ ํƒ์ž๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ์Šคํƒ€์ผ์„ ๋ณ€๊ฒฝํ•˜๋ฉด ๋œ๋‹ค.

 

ํ•˜์ง€๋งŒ ๋‚ด ์ƒํ™ฉ์ฒ˜๋Ÿผ ์ง์ ‘ ๋งŒ๋“  ๊ฒƒ์— ๊ฐ€๊น๋‹ค๋ฉด ์ด๋ฏธ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์— ๋‚ด์žฅ๋œ ํด๋ž˜์Šค๋ช…(e.g. card)์ด ์•„๋‹Œ, ์ง์ ‘ ์ •์˜ํ•œ ํด๋ž˜์Šค(e.g. custom-card)๋กœ ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ํด๋ž˜์Šค๋ฅผ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•ํ•˜๊ธฐ ๋” ์ข‹์€ ๋ฐฉ๋ฒ•์ธ ๊ฒƒ์ด๋‹ค. ์„ ํƒ์ž๋ฅผ ์กฐ๊ธˆ ๋” ๊ตฌ์ฒด์ ์œผ๋กœ ๋งŒ๋“ค๊ณ , ์Šคํƒ€์ผ ์„ ์–ธ์„ ๋จผ์ €ํ•œ ํ›„์— ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ์Šคํƒ€์ผ์„ ๋ถˆ๋Ÿฌ์˜ค๋ฉด !important ์—†์ด๋„ ์ถฉ๋ถ„ํžˆ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค.

 

์ฆ‰, ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ์Šคํƒ€์ผ๊ณผ ์ปค์Šคํ…€ ์Šคํƒ€์ผ ์กฐํ•ฉ์„ ํ•˜๋Š” ์…ˆ์ด๋‹ค. ์–ด๋–ป๊ฒŒ ์กฐํ•ฉํ•˜๋Š”์ง€๋Š” ์•„๋ž˜์˜ ๋ฐฉ๋ฒ•์„ ์ฐธ๊ณ ํ•˜์ž.

 

 

๐Ÿ’ก CSS ์šฐ์„ ์ˆœ์œ„์— ๋”ฐ๋ฅธ ์Šคํƒ€์ผ ๋ฎ์–ด์“ฐ๊ธฐ ๋ฐฉ๋ฒ•

1. ๊ฐ™์€ ํด๋ž˜์Šค๋ช…์ด๋‚˜ ์Šคํƒ€์ผ์„ ํ•˜๋‹จ์— ์ž‘์„ฑํ•˜๊ธฐ

  • ๊ฐ™์€ class ๋ช…์ด๋ผ๋„ ํ•˜๋‹จ์— ์ •์˜ํ•œ ํด๋ž˜์Šค ๋ช…๊ณผ ์Šคํƒ€์ผ์„ ์šฐ์„ ์ ์œผ๋กœ ์ ์šฉ๋œ๋‹ค.
  • CSSํŒŒ์ผ์ด ์—ฌ๋Ÿฌ ๊ฐœ ์ฒจ๋ถ€๋˜์–ด์žˆ์„ ๋•Œ๋„ ์œ ํšจํ•˜๋‹ค. (e.g. ์ƒ๋‹จ์— ์ ์šฉํ•œ main.css < ํ•˜๋‹จ์— ์ ์šฉํ•œ main2.css)

2. id, style ๋“ฑ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋†’์—ฌ ์ž‘์„ฑํ•˜๊ธฐ

  • tag < class << id <<< style="" <<<< !important ์ˆœ์œผ๋กœ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’๋‹ค.
  • ๋‹ค๋งŒ, !important๋Š”์ถ”ํ›„ ์ถ”๊ฐ€ ์ˆ˜์ • ์‹œ๋ฅผ ๋Œ€๋น„ํ•ด ๊ทผ๋ณธ์ ์ธ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ์€ ์•„๋‹ˆ๋‹ค.

3. Specificity (๊ตฌ์ฒด์„ฑ) ๋†’์—ฌ์„œ ์ž‘์„ฑํ•˜๊ธฐ

  • div.container .box ๋Œ€์‹ , div.container div.box์™€ ๊ฐ™์ด ์…€๋ ‰ํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ๊ตฌ์ฒด์ ์œผ๋กœ ๋‚˜์—ดํ•˜๋ฉด ํ›„์ž๊ฐ€ (๋” ์ƒ๋‹จ์— ์žˆ๋”๋ผ๋„) ๋ฎ์–ด์จ์„œ ์ ์šฉ๋œ๋‹ค.
  • ๋”ฐ๋ผ์„œ ์ถ”ํ›„ ๋ฎ์–ด์“ฐ๋Š” ์ƒํ™ฉ์„ ์—ผ๋‘ํ•ด์„œ class ์ด๋ฆ„์€ ํ•˜๋‚˜๋งŒ ์จ์„œ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

 

 

๐Ÿคฉ ๊ฐœ์„ ํ•œ ์ฝ”๋“œ

<!-- HTML -->

<div class="custom-card">
    <div class="card-body">
        <img src="/Image/๊ธฐํš์ „_์ตœ์ €๊ฐ€.jpg" class="card-img" alt="์ตœ์ €๊ฐ€">
        <p class="card-text">์ตœ์ €๊ฐ€</p>
    </div>
</div>

 

/* CSS */

.custom-card {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-top: 15px;
}

.custom-card .card-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 5rem;
    font-size: 14px;
}

.custom-card .card-img {
    margin-bottom: 10px;
    border-radius: 16px;
    width: 3.75rem;
}

 

๐Ÿฅณ ํ™”๋ฉด ๊ตฌํ˜„

๋ฐฐ๋ฏผ์ƒํšŒ ์‚ฌ์ดํŠธ ํด๋ก 

 

 

โœ๏ธ ๋ฐฐ์šด ์ 

์•„๋ฌด๋ž˜๋„ ํ˜„์—…์— ๊ฐ€๋ฉด ์ƒˆ๋กœ์šด ์Šคํƒ€์ผ๊ณผ ํ™”๋ฉด์„ ๊ตฌํ˜„ํ•˜๊ธฐ๋ณด๋‹ค, ์ด๋ฏธ ์žˆ๋Š” ํ™”๋ฉด์„ ๊ฐœ์„ ํ•˜๋Š” ์ผ์ด ๋” ๋งŽ์„ํ…๋ฐ ์œ„์™€ ๊ฐ™์ด CSS ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ณ ๋ คํ•˜๋ฉด ๋” ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

๋Œ“๊ธ€