CSS(Cascading Style Sheets)

JOY๐ŸŒฑยท2023๋…„ 2์›” 3์ผ
0

๐ŸŒˆ HTML&CSS

๋ชฉ๋ก ๋ณด๊ธฐ
2/3
post-thumbnail

๐Ÿ’โ€โ™€๏ธ CSS๋ž€,
Cascading Style Sheets์˜ ์•ฝ์ž์ด๋ฉฐ, ๋ฌธ์žฅ์— ๋””์ž์ธ์„ ์ž…ํž ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด


๐Ÿ‘€ ์„ ํƒ์ž(selector)

๐Ÿ’โ€โ™€๏ธ ์„ ํƒ์ž(selector)๋ž€,
ํŠน์ •ํ•œ HTML ํƒœ๊ทธ๋ฅผ ์„ ํƒํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์œผ๋กœ, ํƒœ๊ทธ๋ฅผ ์„ ํƒํ•˜์—ฌ ์›ํ•˜๋Š” ์Šคํƒ€์ผ๊ณผ ๊ธฐ๋Šฅ์„ ์ ์šฉ

๐Ÿ‘‰ ๊ธฐ๋ณธ ์„ ํƒ์ž

1) ์ „์ฒด ์„ ํƒ์ž

{} : HTML ๋ฌธ์„œ ์•ˆ์˜ ๋ชจ๋“  ํƒœ๊ทธ๋ฅผ ์„ ํƒํ•  ๋•Œ ์‚ฌ์šฉ

{ color : red;}
/* ๋ชจ๋“  ํ…์ŠคํŠธ๊ฐ€ red๋กœ ๋ณ€๊ฒฝ */

2) ํƒœ๊ทธ ์„ ํƒ์ž

p {} : HTML ๋ฌธ์„œ ๋‚ด์— ๊ฐ™์€ ํƒœ๊ทธ๋ฅผ ๋ชจ๋‘ ์„ ํƒํ•  ๋•Œ ์‚ฌ์šฉ

p { color : gray; }

3) ์•„์ด๋”” ์„ ํƒ์ž

#ID {} : HTML ๋ฌธ์„œ ๋‚ด์— ํ•ด๋‹นํ•˜๋Š” ์•„์ด๋”” ์†์„ฑ์„ ๊ฐ€์ง„ ํƒœ๊ทธ๋งŒ ์„ ํƒํ•  ๋•Œ ์‚ฌ์šฉ

#id2, #id4 { 
            background-color : lightcoral; /* ๋ฐฐ๊ฒฝ์ƒ‰ */
            color : white; /* ๊ธ€์”จ์ƒ‰ */
        }
<ol>
        <li id="id1">์•„์ด๋”” ์„ ํƒ์ž ํ…Œ์ŠคํŠธ</li>
        <li id="id2">์•„์ด๋”” ์„ ํƒ์ž ํ…Œ์ŠคํŠธ</li>
        <li id="id3">์•„์ด๋”” ์„ ํƒ์ž ํ…Œ์ŠคํŠธ</li>
        <li id="id4">์•„์ด๋”” ์„ ํƒ์ž ํ…Œ์ŠคํŠธ</li>
        <li id="id5">์•„์ด๋”” ์„ ํƒ์ž ํ…Œ์ŠคํŠธ</li>
</ol>
<!-- ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ์‹œ, ํŠน์ •ํ•œ ID(๊ณ ์œ ๊ฐ’)๋ฅผ ๊ฐ€์ง„ ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ๋™์ž‘์‹œํ‚ค๊ณ  ์‹ถ์„ ๋•Œ ๋งŽ์ด ์‚ฌ์šฉ-->

4) ํด๋ž˜์Šค ์„ ํƒ์ž

.class {} : HTML ๋ฌธ์„œ ๋‚ด์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํƒœ๊ทธ๋ฅผ ๋™์ผํ•œ ํด๋ž˜์Šค๋ช…์œผ๋กœ ์ง€์ •ํ•˜์—ฌ ์„ ํƒํ•  ๋•Œ ์‚ฌ์šฉ

.class1 {
            background-color: lightgreen;
            color : red;
        }
<ul>
        <li class="class1">ํด๋ž˜์Šค ์„ ํƒ์ž ํ…Œ์ŠคํŠธ</li>
        <li class="class2">ํด๋ž˜์Šค ์„ ํƒ์ž ํ…Œ์ŠคํŠธ</li>
        <li class="class1">ํด๋ž˜์Šค ์„ ํƒ์ž ํ…Œ์ŠคํŠธ</li>
        <li class="class2">ํด๋ž˜์Šค ์„ ํƒ์ž ํ…Œ์ŠคํŠธ</li>
        <li class="class1">ํด๋ž˜์Šค ์„ ํƒ์ž ํ…Œ์ŠคํŠธ</li>
</ul>

๐Ÿ‘‰ ๋‹ค์–‘ํ•œ ์„ ํƒ์ž

1) ์†์„ฑ ์„ ํƒ์ž

์„ ํƒ์ž[์†์„ฑ=ํŠน์ •๊ฐ’] { ์„ค์ •๋‚ด์šฉ }
= : ์†์„ฑ ๊ฐ’์ด ํŠน์ • ๊ฐ’์ธ ํƒœ๊ทธ ์„ ํƒ
~= : ์†์„ฑ ๊ฐ’์ด ํŠน์ • ๊ฐ’์„ ํฌํ•จํ•˜๋Š” ํƒœ๊ทธ ์„ ํƒ(๋„์–ด์“ฐ๊ธฐ ๊ตฌ๋ถ„)
|= : ์†์„ฑ ๊ฐ’์ด ํŠน์ • ๊ฐ’์„ ๋‹จ์–ด๋กœ ํฌํ•จํ•˜๋Š” ํƒœ๊ทธ ์„ ํƒ (-์œผ๋กœ ๊ตฌ๋ถ„ํ•˜๋ฉฐ - ์•ž์˜ ๋‚ด์šฉ์ด ๊ฐ’๊ณผ ๋™์ผํ•ด์•ผํ•จ)
^= : ์†์„ฑ ๊ฐ’์ด ํŠน์ • ๊ฐ’์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ํƒœ๊ทธ ์„ ํƒ
$= : ์†์„ฑ ๊ฐ’์ด ํŠน์ • ๊ฐ’์œผ๋กœ ๋๋‚˜๋Š” ํƒœ๊ทธ ์„ ํƒ
*= : ์†์„ฑ ๊ฐ’์ด ํŠน์ • ๊ฐ’์„ ํฌํ•จํ•˜๋Š” ํƒœ๊ทธ ์„ ํƒ (ํ•ด๋‹น ๊ฐ’์ด ์ ์–ด๋„ ํ•˜๋‚˜ ์กด์žฌํ•œ๋‹ค๋Š” ๊ฐ€์ •ํ•˜์—)

div[name=name2] { background: skyblue; }

/* ๋‹ค๋ฅธ name์— name1์ด ํฌํ•จ๋˜์–ด์žˆ์œผ๋ฉด ๊ทธ๊ฒƒ ๋˜ํ•œ ์ ์šฉ ๋Œ€์ƒ */
div[name~=name1] { background: pink;}

/* class์—์„œ -์•ž์ด class์ธ name4์—๋งŒ ์ ์šฉ */
div[class|=class] {background: cyan;}

/* name์ด name์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ชจ๋“  ๊ฒƒ์— ์ ์šฉ */
div[name^=name] {background: gray;}

/* class๊ฐ€ class๋กœ ๋๋‚˜๋Š” ๊ฒƒ์— ์ ์šฉ */
div[class$=class] {color: white;}

/* class์— div๊ฐ€ ํฌํ•จํ•˜๋Š” ๋ชจ๋“  ๊ฒƒ์— ์ ์šฉ */
div[class*=div] {background: salmon;}
<div name="name1" class="div-class">div 1</div>
<div name="name2" class="div-class">div 2</div>
<div name="name3 name1" class="div-class">div 3</div>
<div name="name4" class="class-div">div 4</div>

2) ์ž์†/ํ›„์† ์„ ํƒ์ž

์„ ํƒ์ž>์ž์†์„ ํƒ์ž { ์„ค์ • ๋‚ด์šฉ } : ์ž์†์„ ํƒ์ž
์„ ํƒ์ž ํ›„์†์„ ํƒ์ž { ์„ค์ • ๋‚ด์šฉ } : ํ›„์†์„ ํƒ์ž

/* div test1์˜ ์ž์† h4 */
#test1>h4 {
            background: pink;
        }

/* div test1์˜ ์ž์† ul์˜ ์ž์† li */
#test1>ul>li {
            background: skyblue;
        }

* div test1์˜ ํ›„์† li */ 
/* ๋ฐ”๋กœ ์œ„์™€ ๊ฐ™์€ ์˜๋ฏธ์ด์ง€๋งŒ ๋„์–ด์“ฐ๊ธฐ๋กœ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ํ›„์† ํ‘œํ˜„ ๊ฐ€๋Šฅ */
#test1 li {
            color : white
        }
<div id="test1">
        <h4>div test1์˜ ์ž์†์ž…๋‹ˆ๋‹ค.</h4>
        <h4>๋‚˜๋„ div test1์˜ ์ž์†์ž…๋‹ˆ๋‹ค.</h4>
        <ul id="testul">
            <li>๋‚˜๋Š” ul์˜ ์ž์†์ด๋ฉด์„œ ๋™์‹œ์— div์˜ ํ›„์†์ž…๋‹ˆ๋‹ค.</li>
            <li>๋‚˜๋„ ul์˜ ์ž์†์ด๋ฉด์„œ ๋™์‹œ์— div์˜ ํ›„์†์ž…๋‹ˆ๋‹ค.</li>
        </ul>
    </div>

3) ๋™์œ„ ์„ ํƒ์ž

์„ ํƒ์ž + ์„ ํƒ์ž { ์„ค์ • ๋‚ด์šฉ } : ๋ฐ”๋กœ ๋’ค์— ์žˆ๋Š” ์š”์†Œ ์„ ํƒ
์„ ํƒ์ž ~ ์„ ํƒ์ž { ์„ค์ • ๋‚ด์šฉ } : ๋’ค์— ์žˆ๋Š” ๋ชจ๋“  ์š”์†Œ ์„ ํƒ

/* ์„ ํƒ์ž ๋ฐ”๋กœ ๋’ค์˜ ์š”์†Œ ์„ ํƒ ์‹œ */
#div-test1 + div { background: yellow; }

/* ์„ ํƒ์ž ๋’ค์˜ ๋ชจ๋“  ์š”์†Œ ์„ ํƒ์‹œ */
#div-test2 ~ div { background: orangered; }
<div>
        <div id="div-test1">div test1</div>
        <div id="div-test2">div test2</div>
        <div id="div-test3">div test3</div>
        <div id="div-test4">div test4</div>
        <div id="div-test5">div test5</div>
</div>

4) ๋ฐ˜์‘ ์„ ํƒ์ž

์„ ํƒ์ž:active { ์„ค์ • ๋‚ด์šฉ } : ์‚ฌ์šฉ์ž๊ฐ€ ํด๋ฆญํ•œ ํƒœ๊ทธ
์„ ํƒ์ž:hover { ์„ค์ • ๋‚ด์šฉ } : ์‚ฌ์šฉ์ž์˜ ๋งˆ์šฐ์Šค๊ฐ€ ์˜ฌ๋ผ๊ฐ„ ํƒœ๊ทธ

/* div ์˜์—ญ ํ‘œ์‹œ๋ฅผ ์œ„ํ•œ ์Šคํƒ€์ผ ์ ์šฉ */
#active-test,
#hover-test {
    width: 300px;
    height: 300px;
    background-color: bisque; /* ๊ธฐ๋ณธ์œผ๋กœ ๋ณด์—ฌ์ง€๋Š” ์ƒ‰ */
    color: white;
    }

/* ํด๋ฆญํ•œ ํƒœ๊ทธ ์„ ํƒ์ž*/
#active-test:active {
    background-color: aquamarine; /* ํด๋ฆญ ํ–ˆ์„ ๋•Œ ์ด ์ƒ‰์œผ๋กœ ๋ณ€๊ฒฝ */
    }

/* ๋งˆ์šฐ์Šค ์˜ค๋ฒ„ํ•œ ํƒœ๊ทธ ์„ ํƒ์ž */
#hover-test:hover {
    background: pink; /* ๋งˆ์šฐ์Šค ์˜ค๋ฒ„ ํ–ˆ์„ ๋•Œ ์ด ์ƒ‰์œผ๋กœ ๋ณ€๊ฒฝ */
    cursor: pointer; /* ํด๋ฆญํ•  ์ˆ˜ ์žˆ๋Š” ์ปค์„œ๋กœ ๋ณ€๊ฒฝ */
    }
<div id="active-test">active ํ…Œ์ŠคํŠธ</div>
<br>
<div id="hover-test">hover ํ…Œ์ŠคํŠธ</div>

5) ์ƒํƒœ ์„ ํƒ์ž

inputํƒœ๊ทธ:checked { ์„ค์ • ๋‚ด์šฉ } : ์ฒดํฌ ์ƒํƒœ์˜ input ํƒœ๊ทธ ์„ ํƒ
inputํƒœ๊ทธ:focus { ์„ค์ • ๋‚ด์šฉ } : ์ดˆ์ ์ด ๋งž์ถ”์–ด์ง„ input ํƒœ๊ทธ ์„ ํƒ
inputํƒœ๊ทธ:enabled { ์„ค์ • ๋‚ด์šฉ } : ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ input ํƒœ๊ทธ ์„ ํƒ
inputํƒœ๊ทธ:disabled { ์„ค์ • ๋‚ด์šฉ } : ์‚ฌ์šฉ ๋ถˆ๊ฐ€๋Šฅํ•œ input ํƒœ๊ทธ ์„ ํƒ

/* ์ฒดํฌ ๋ฐ•์Šค๊ฐ€ ์ฒดํฌ ๋  ๊ฒฝ์šฐ */
input[type=checkbox]:checked { /* : type์ด checkbox์ธ ๊ฒƒ๋“ค ์ค‘ check๋œ ๊ฒƒ */
    width: 30px;
    height: 30px;
    }

/* ์ดˆ์ ์ด ๋งž์ถ”์–ด์ง„ input ํƒœ๊ทธ ์„ ํƒ */
#userid:focus,
#userpwd:focus {
    background: lightgray; /* ์ž…๋ ฅ ์‹œ๋„ ์‹œ, input ๋ฐ•์Šค์˜ ์ƒ‰์ด ์ด ์ƒ‰์œผ๋กœ ๋ณ€๊ฒฝ */
    }

/* ์‚ฌ์šฉ ๋ถˆ๊ฐ€๋Šฅํ•œ ์˜ต์…˜ */
option:disabled {background: gray;}

/* ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์˜ต์…˜ */
option:enabled {background: yellowgreen;}
<input type="checkbox" id="apple" name="fruits" value="apple">
    <label for="apple">์‚ฌ๊ณผ</label> 
    <input type="checkbox" id="banana" name="fruits" value="banana">
    <label for="banana">๋ฐ”๋‚˜๋‚˜</label> 
    <input type="checkbox" id="peach" name="fruits" value="peach">
    <label for="peach">๋ณต์ˆญ์•„</label> 

<label for="userid">์•„์ด๋”” : </label>
    <input type="text" id="userid" placeholder="์•„์ด๋”” ์ž…๋ ฅ">
    <label for="userpwd">๋น„๋ฐ€๋ฒˆํ˜ธ : </label>
    <input type="password" id="userpwd" placeholder="๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ">

<h3>๋‹น์‹ ์˜ ์—ฐ๋ น๋Œ€๋Š”?</h3>
    <select>
      	<!-- disabled : ์ž…๋ ฅ/์„ ํƒ ๋ถˆ๊ฐ€ ์ƒํƒœ๋กœ ์„ค์ • -->
        <option disabled>10๋Œ€</option> 
        <option>20๋Œ€</option>
        <option>30๋Œ€</option>
        <option>40๋Œ€</option>
        <option>50๋Œ€</option>
        <option disabled>60๋Œ€</option>
    </select>

6) ์ผ๋ฐ˜ ๊ตฌ์กฐ ์„ ํƒ์ž

'์œ„์น˜'๋กœ ๊ตฌ๋ถ„
์„ ํƒ์ž:first-child { ์„ค์ • ๋‚ด์šฉ } : ํ˜•์ œ ๊ด€๊ณ„ ํƒœ๊ทธ ์ค‘ ์ฒซ ๋ฒˆ์žฌ ํƒœ๊ทธ ์„ ํƒ
์„ ํƒ์ž:last-child { ์„ค์ • ๋‚ด์šฉ } : ํ˜•์ œ ๊ด€๊ณ„ ํƒœ๊ทธ ์ค‘ ๋งˆ์ง€๋ง‰ ํƒœ๊ทธ ์„ ํƒ
์„ ํƒ์ž:nth-child(xn) { ์„ค์ • ๋‚ด์šฉ } : ํ˜•์ œ ๊ด€๊ณ„ ํƒœ๊ทธ ์ค‘ ์•ž์—์„œ x์˜ ๋ฐฐ์ˆ˜ ํƒœ๊ทธ ์„ ํƒ
์„ ํƒ์ž:nth-last-child(x) { ์„ค์ • ๋‚ด์šฉ } : ํ˜•์ œ ๊ด€๊ณ„ ํƒœ๊ทธ ์ค‘ ๋’ค์—์„œ x๋ฒˆ์งธ ํƒœ๊ทธ ์„ ํƒ

/* : test1์˜ ์ž์†์ธ p์ค‘ ์ฒซ ๋ฒˆ์งธ ์ž์‹*/
#test1 p:first-child { 
    background: palegoldenrod;
    color: white;
    }

/* ๋งˆ์ง€๋ง‰ ํƒœ๊ทธ๋Š” pre์ด๋ฏ€๋กœ ํ•ด๋‹น ์‚ฌํ•ญ์ด ์—†์Œ */
#test1 p:last-child {
    background: orange;
    color: white;
    }

/* 2์˜ ๋ฐฐ์ˆ˜๋“ค์ธ ํƒœ๊ทธ๋“ค๋งŒ ์„ ํƒ */
#test1 p:nth-child(2n) { 
    background: yellowgreen;
    color : white;
    }

/* ๋’ค์—์„œ 4๋ฒˆ์งธ ํƒœ๊ทธ์ธ 'ํ…Œ์ŠคํŠธ3'์— ์ ์šฉ */
#test1 p:nth-last-child(4) { 
    background: skyblue;
    color : white;
    }
<div id="test1">
        <p>ํ…Œ์ŠคํŠธ1</p>
        <p>ํ…Œ์ŠคํŠธ2</p>
        <p>ํ…Œ์ŠคํŠธ3</p>
        <p>ํ…Œ์ŠคํŠธ4</p>
        <p>ํ…Œ์ŠคํŠธ5</p>
        <pre>ํ…Œ์ŠคํŠธ6</pre>
</div>

7) ํ˜•ํƒœ ๊ตฌ์กฐ ์„ ํƒ์ž

'ํƒœ๊ทธ'๋กœ ๊ตฌ๋ถ„
์„ ํƒ์ž:first-of-type { ์„ค์ • ๋‚ด์šฉ } : (ํ•ด๋‹น ํƒ€์ž…์˜) ํ˜•์ œ ๊ด€๊ณ„ ํƒœ๊ทธ ์ค‘ ์ฒซ ๋ฒˆ์งธ ํƒœ๊ทธ ์„ ํƒ
์„ ํƒ์ž:last-of-type { ์„ค์ • ๋‚ด์šฉ } : (ํ•ด๋‹น ํƒ€์ž…์˜) ํ˜•์ œ ๊ด€๊ณ„ ํƒœ๊ทธ ์ค‘ ๋งˆ์ง€๋ง‰ ํƒœ๊ทธ ์„ ํƒ
์„ ํƒ์ž:nth-of-type(xn) { ์„ค์ • ๋‚ด์šฉ } : (ํ•ด๋‹น ํƒ€์ž…์˜) ํ˜•์ œ ๊ด€๊ณ„ ํƒœ๊ทธ ์ค‘ ์•ž์—์„œ x์˜ ๋ฐฐ์ˆ˜ ํƒœ๊ทธ ์„ ํƒ
์„ ํƒ์ž:nth-last-of-type(x) { ์„ค์ • ๋‚ด์šฉ } : (ํ•ด๋‹น ํƒ€์ž…์˜)ํ˜•์ œ ๊ด€๊ณ„ ํƒœ๊ทธ ์ค‘ ๋’ค์—์„œ x๋ฒˆ์งธ ํƒœ๊ทธ ์„ ํƒ

#test2 p:first-of-type {
    background-color: azure;
    color: red;
    }

#test2 p:last-of-type {
    background-color: orange;
    color : white;
    }

#test2 p:nth-of-type(2n) {
    background: yellowgreen;
    color : white;
    }

/* ๋’ค์—์„œ 3๋ฒˆ์งธ ํƒœ๊ทธ์ธ 'ํ…Œ์ŠคํŠธ3'์— ์ ์šฉ๋จ */
#test2 p:nth-last-of-type(3) {
    background: skyblue;
    color : white;
    }
<div id="test2">
        <p>ํ…Œ์ŠคํŠธ1</p>
        <p>ํ…Œ์ŠคํŠธ2</p>
        <p>ํ…Œ์ŠคํŠธ3</p>
        <p>ํ…Œ์ŠคํŠธ4</p>
        <p>ํ…Œ์ŠคํŠธ5</p>
        <pre>ํ…Œ์ŠคํŠธ6</pre>
</div>

8) ๋ฌธ์ž ์„ ํƒ์ž

์„ ํƒ์ž p::first-letter { ์„ค์ • ๋‚ด์šฉ } : ์ฒซ ๋ฒˆ์งธ ๊ธ€์ž ์„ ํƒ
์„ ํƒ์ž p::first-line { ์„ค์ • ๋‚ด์šฉ } : ์ฒซ ๋ฒˆ์งธ ์ค„ ์„ ํƒ
์„ ํƒ์ž p::after { ์„ค์ • ๋‚ด์šฉ } : ํƒœ๊ทธ ๋’ค์— ์œ„์น˜ํ•˜๋Š” ๊ณต๊ฐ„์„ ์„ ํƒ
์„ ํƒ์ž p::before { ์„ค์ • ๋‚ด์šฉ } : ํƒœ๊ทธ ์•ž์— ์œ„์น˜ํ•˜๋Š” ๊ณต๊ฐ„์„ ์„ ํƒ
์„ ํƒ์ž p::selection { ์„ค์ • ๋‚ด์šฉ } : ์‚ฌ์šฉ์ž๊ฐ€ ๋“œ๋ž˜๊ทธํ•œ ๊ธ€์ž ์„ ํƒ
counter-increment : ํƒœ๊ทธ๋ณ„๋กœ ์ž๋™ ๋ฒˆํ˜ธ๋ฅผ ๋งค๊ฒจ์ฃผ๋Š” ์†์„ฑ

#test3 p::first-letter {
    font-size: 2em;
    }

#test3 p::first-line {
    background: yellow;
    }

#test3 p::after {
    content : "@@@ ํƒœ๊ทธ ๋’ค์— ์ถ”๊ฐ€ @@@";
    }

#test3 p {
    counter-increment: num;
    }

#test3 p::before {
    content : counter(num) "! ";
    }

#test3 p::selection {
    background: pink; /* ๊ธ€์ž๋ฅผ ๋“œ๋ž˜๊ทธํ•˜๋ฉด ํ•‘ํฌ์ƒ‰ */
    color: white;
    }
<div id="test3">
        <p>
            ์‹ถ์ด ๋ฐœํœ˜ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ, ...
  		</p>

9) ๋ถ€์ • ์„ ํƒ์ž

์„ ํƒ์ž:not(:nth-child(x)) { ์„ค์ • ๋‚ด์šฉ } : x๊ฐ€ ์•„๋‹Œ ํƒœ๊ทธ ์„ ํƒ

#test4 p:nth-child(2n-1) {
            background: wheat;
        }

#test4 p:not(:nth-child(2n-1)) { /* 2n-1์ด ์•„๋‹Œ ๊ฒƒ์„ ํ‘œ์‹œ */
            background: orange;
        }
<div id="test4">
        <p>ํ…Œ์ŠคํŠธ1</p>
        <p>ํ…Œ์ŠคํŠธ2</p>
        <p>ํ…Œ์ŠคํŠธ3</p>
        <p>ํ…Œ์ŠคํŠธ4</p>
        <p>ํ…Œ์ŠคํŠธ5</p>
</div>

10) ์„ ํƒ์ž ์šฐ์„ ์ˆœ์œ„

๐Ÿ’โ€โ™€๏ธ ๊ธฐ๋ณธ์ ์œผ๋กœ CSS ์†์„ฑ์€ ์œ„์—์„œ๋ถ€ํ„ฐ ์•„๋ž˜๋กœ ์ ์šฉ๋˜์ง€๋งŒ, ๊ฐ™์€ ํƒœ๊ทธ์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ CSS ์†์„ฑ์ด ์ ์šฉ ๋œ ๊ฒฝ์šฐ ์šฐ์„  ์ˆœ์œ„์— ๋”ฐ๋ผ ์Šคํƒ€์ผ์ด ์ ์šฉ

ํƒœ๊ทธ ์„ ํƒ์ž ๐Ÿ‘‰ ํด๋ž˜์Šค ์„ ํƒ์ž ๐Ÿ‘‰ ์•„์ด๋”” ์„ ํƒ์ž ๐Ÿ‘‰ ์ธ๋ผ์ธ ์Šคํƒ€์ผ ๐Ÿ‘‰ !important ์ˆœ์„œ๋กœ ์šฐ์„  ์ˆœ์œ„๋ฅผ ๊ฐ€์ง


๐Ÿ‘€ ์Šคํƒ€์ผ(style)

๐Ÿ’โ€โ™€๏ธ ์Šคํƒ€์ผ(style)์ด๋ž€,
HTML์š”์†Œ๋ฅผ ๋””์ž์ธํ•˜๊ธฐ ์œ„ํ•œ ๊ฐœ๋…

๐Ÿ‘‰ ํ…์ŠคํŠธ ์Šคํƒ€์ผ

1) ๊ธ€๊ผด ์Šคํƒ€์ผ

๐Ÿ’โ€โ™€๏ธ HTML <head>์— ์™ธ๋ถ€ ์Šคํƒ€์ผ ์‹œํŠธ ๋งํฌ ์„ค์ • (๋ฏธ๋ฆฌ ํ•ด๋‹น ๊ฒฝ๋กœ์— CSSํŒŒ์ผ ์ƒ์„ฑ)

<link href="../resources/css/font.css" rel="stylesheet" type="text/css">
<!-- text/css : MIME type -->

[1] ๊ธ€๊ผด ๋ณ€๊ฒฝ

์„ ํƒ์ž { font-family : ๊ธ€๊ผด์ด๋ฆ„; }

/* font.css */
#ff1 { font-family : "๊ถ์„œ์ฒด";}
#ff2 { font-family : "๋‹์›€์ฒด";}
#ff3 { font-family : "์—†๋Š”๊ธ€๊ผด", "๊ตด๋ฆผ์ฒด";} 
/* ์ ์šฉ๋  ์ˆ˜ ์—†๋Š” ๊ธ€๊ผด์ด ์žˆ์„ ๊ฒฝ์šฐ, ๊ทธ ๋Œ€์ฒด ๊ธ€๊ผด์„ ๋’ค์— ์ ์–ด ๋Œ€์‹  ์ ์šฉ */
<p id="ff1">๊ธ€๊ผด ๋ณ€๊ฒฝ ํ…Œ์ŠคํŠธ1</p>
<p id="ff2">๊ธ€๊ผด ๋ณ€๊ฒฝ ํ…Œ์ŠคํŠธ2</p>
<p id="ff3">๊ธ€๊ผด ๋ณ€๊ฒฝ ํ…Œ์ŠคํŠธ3</p>

[2] ์›น ํฐํŠธ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€๊ฒฝ

๐Ÿ™‹โ€ ์ž ๊น ! ํฐํŠธ๋ฅผ ์–ด๋–ป๊ฒŒ ์„ค์ •ํ•˜๋‚˜์š”?

  • Google Fonts ์—์„œ ์‚ฌ์šฉํ•  ํฐํŠธ๋ฅผ ๊ณ ๋ฅธ ๋’ค, ์•„๋ž˜์—์„œ ์ƒ์„ธํ•œ ์นดํ…Œ๊ณ ๋ฆฌ๊นŒ์ง€ Select
  • ์œ„ ์†Œ์Šค๋Š” HTMLํŒŒ์ผ์˜ <HEAD>์— ๊ธฐ์žฌ, ์•„๋ž˜ ์†Œ์Šค๋Š” CSSํŒŒ์ผ์— ๊ธฐ์žฌ
  • (๋‹ค๋ฅธ ํฐํŠธ ์‚ฌ์ดํŠธ์—์„œ๋„ ๋™์ผํ•œ ๋ฐฉ๋ฒ•)
/* font.css */
#web-font { font-family: 'Roboto Mono', monospace; }
<head>
		<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@300&display=swap" rel="stylesheet">
</head>
<body>
		<p id="web-font">font style test</p>
</body>

[3] ํ…์ŠคํŠธ ํฌ๊ธฐ ๋ณ€๊ฒฝ

์„ ํƒ์ž { font-size : ํฌ๊ธฐ; }

/* font.css */
#size1 { font-size : 30px;}
#size2 { font-size : 2em;}
#size3 { font-size : 150%;}

/* ๋ถ€๋ชจ ์š”์†Œ ul์˜ ํฌ๊ธฐ ๋ณ€๊ฒฝ */
#size4 { font-size : 200%; } /* ul์— ์‚ฌ์ด์ฆˆ ํฌ๊ธฐ ์ ์šฉ */

#size5 { font-size : 30px; } /* ๋ถ€๋ชจ์š”์†Œ์˜ ํฌ๊ธฐ์—์„œ ๋” ์ ์šฉ */
#size6 { font-size : 2em; }
#size7 { font-size : 150%; }
<ul>
		<li id="size1">๊ณ ์ •ํฌ๊ธฐ px ํ…Œ์ŠคํŠธ</li>
		<li id="size2">๊ฐ€๋ณ€ํฌ๊ธฐ em ํ…Œ์ŠคํŠธ</li>
		<li id="size3">๊ฐ€๋ณ€ํฌ๊ธฐ % ํ…Œ์ŠคํŠธ</li>
	</ul>

	<ul id="size4">
		<li id="size5">๊ณ ์ •ํฌ๊ธฐ px ํ…Œ์ŠคํŠธ</li>
		<li id="size6">๊ฐ€๋ณ€ํฌ๊ธฐ em ํ…Œ์ŠคํŠธ</li>
		<li id="size7">๊ฐ€๋ณ€ํฌ๊ธฐ % ํ…Œ์ŠคํŠธ</li>
</ul>

๐Ÿ“Œ Ref.

* em : ํ•ด๋‹น ํฐํŠธ์˜ ๋Œ€๋ฌธ์ž M์˜ ๋„ˆ๋น„๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•จ. ๋ถ€๋ชจ ์š”์†Œ์˜ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฐฐ์ˆ˜๋ฅผ ์˜๋ฏธ. 
		ex) 1.5em์€ 1.5๋ฐฐ
* rem : ์ตœ์ƒ์œ„์˜ ๋ถ€๋ชจ ์š”์†Œ์˜ ํฌ๊ธฐ ๊ธฐ์ค€์œผ๋กœ ๋ฐฐ์ˆ˜๋ฅผ ์˜๋ฏธ.
* % : ๊ธฐ๋ณธ ๊ธ€๊ผด์˜ ํฌ๊ธฐ์— ๋Œ€ํ•˜์—ฌ ์ƒ๋Œ€์ ์ธ ๊ฐ’์„ ๊ฐ€์ง (์ ˆ๋Œ€ ํฌ๊ธฐ)
* px : Pixels, ํ‘œ์‹œ์žฅ์น˜(๋ชจ๋‹ˆํ„ฐ)์— ๋”ฐ๋ผ์„œ ์ƒ๋Œ€์ ์ธ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง
* pt : Points, ๊ธฐ๋ณธ ์ง€์ •๋œ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง. 1 ํฌ์ธํŠธ๋Š” 1/72 ์ธ์น˜

[4] ํ…์ŠคํŠธ ๊ตต๊ธฐ ๋ณ€๊ฒฝ

์„ ํƒ์ž { font-weight : normal | bold | bolder | lighter | 100 | 400 | 900; }

/* font.css */
#fw1 { font-weight: bold;}
#fw2 { font-weight: lighter;}
#fw3 { font-weight: bolder;} /* bold๋ณด๋‹ค ์•ฝ๊ฐ„ ๋” ๊ตต์Œ */
#fw4 { font-weight: 500;} /* 100 - 900๊นŒ์ง€์˜ ๋ฒ”์œ„ (100 : ์–‡์Œ / 900 : ๋‘๊บผ์›€) */
<ul>
		<li id="fw1">๊ตต์€ ๊ธ€๊ผด๋กœ ๋ณ€๊ฒฝ</li>
		<li id="fw2">์›๋ž˜ ๊ตต๊ธฐ๋ณด๋‹ค ๋” ๊ฐ€๋Š˜๊ฒŒ</li>
		<li id="fw3">์›๋ž˜ ๊ตต๊ธฐ๋ณด๋‹ค ๋” ๊ตต๊ฒŒ</li>
		<li id="fw4">์ˆ˜์น˜๋กœ ์กฐ์ ˆํ•ด๋ณด๊ธฐ</li>
</ul>

[5] ํ…์ŠคํŠธ๋ฅผ ์ž‘์€ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€๊ฒฝ

์„ ํƒ์ž { font-variant : ์†์„ฑ๊ฐ’; }

/* font.css */
#fv { font-variant : small-caps;}
<p>I LOVE YOU</p>
<p id="fv">i love you</p>

[6] ํ…์ŠคํŠธ ๊ธฐ์šธ๊ธฐ ์„ค์ •

์„ ํƒ์ž { font-style : normal | italic | oblique; }

/* font.css */
#fs1 { font-style : italic; }
#fs2 { font-style : oblique; }
<ul>
		<li id="fs1">italic ๊ธฐ์šธ์ž„ ๊ธ€๊ผด</li>
		<li id="fs2">oblique ๊ธฐ์šธ์ž„ ๊ธ€๊ผด</li>
</ul>

[7] ๊ธ€๊ผด ์Šคํƒ€์ผ์„ ํ•œ๋ฒˆ์— ์„ค์ •

์„ ํƒ์ž { font : font-style font-variant font-weight font-size/line-height font-family; }

/* font.css */
#f1 { font : 16px/25px "๊ถ์„œ์ฒด"; }
#f2 { font : italic bold 20px/20px "๊ณ ๋”•์ฒด"; }
<ul>
		<li id="f1">๊ธ€๊ผด ๊ด€๋ จ ์Šคํƒ€์ผ ํ…Œ์ŠคํŠธ1</li>
		<li id="f2">๊ธ€๊ผด ๊ด€๋ จ ์Šคํƒ€์ผ ํ…Œ์ŠคํŠธ2</li>
</ul>

2) ํ…์ŠคํŠธ ์Šคํƒ€์ผ

๐Ÿ’โ€โ™€๏ธ HTML <head>์— ์™ธ๋ถ€ ์Šคํƒ€์ผ ์‹œํŠธ ๋งํฌ ์„ค์ • (๋ฏธ๋ฆฌ ํ•ด๋‹น ๊ฒฝ๋กœ์— CSSํŒŒ์ผ ์ƒ์„ฑ)

<link href="../resources/css/textstyle.css" rel="stylesheet" type="text/css">

[1] ํ…์ŠคํŠธ ์ƒ‰์ƒ ์ง€์ •

์ƒ‰์ƒ๊ฐ’ ์ฐธ์กฐ
์„ ํƒ์ž { color : ์ƒ‰์ƒ๋ช…์˜๋ฌธ์ด๋ฆ„ | 16์ง„์ˆ˜์ˆซ์ž | rgb๊ฐ’ | rgba๊ฐ’ | hsl๊ฐ’ | hsla๊ฐ’; }

#c-name { color : red; }
#c-16 { color : #ff0000; }
#c-rgb { color : rgb(255, 0, 0); }
/* ํˆฌ๋ช…๋„ ์ถ”๊ฐ€ */
#c-rgba { color : rgba(255, 0, 0, 0.5); } /* 0 - 1์‚ฌ์ด๋กœ ํˆฌ๋ช…๋„ ์ง€์ • */
/* ์ƒ‰์กฐ, ์ฑ„๋„, ๋ช…๋„ */
#c-hsl { color : hsl(360, 100%, 50%); }
#c-hsla { color : hsl(360, 100%, 50%, 0.5); }

[2] ํ…์ŠคํŠธ ์ค„ ์‚ญ์ œ/์ถ”๊ฐ€

์„ ํƒ์ž {text-decoration : none | underline | overline | line-through; }

#td1 { text-decoration: none; } /*ํ•˜์ดํผ๋งํฌ ๋ฐ‘์ค„ ์—†์• ๊ธฐ*/
#td2 { text-decoration: underline; } /*ํ…์ŠคํŠธ์˜์—ญ ์•„๋ž˜ ์ค„ ๊ธ‹๊ธฐ*/
#td3 { text-decoration: line-through; } /*ํ…์ŠคํŠธ์˜์—ญ ์ค‘๊ฐ„์— ์ค„ ๊ธ‹๊ธฐ*/
#td4 { text-decoration: overline; } /*ํ…์ŠคํŠธ์˜์—ญ ์œ„์— ์ค„ ๊ธ‹๊ธฐ*/

[3] ์˜๋ฌธ ํ…์ŠคํŠธ ๋Œ€์†Œ๋ฌธ์ž ๋ณ€ํ™˜

์„ ํƒ์ž { text-transform : none | capitalize | uppercase | lowercase; }

#tt1 { text-transform : none; } 
#tt2 { text-transform : capitalize; } /*์˜๋ฌธ์ž์˜ ์ฒซ ๊ธ€์ž๋งŒ ๋Œ€๋ฌธ์ž๋กœ*/
#tt3 { text-transform : uppercase; } /*๋ชจ๋“  ์˜๋ฌธ์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ*/
#tt4 { text-transform : lowercase; } /*๋ชจ๋“  ์˜๋ฌธ์ž๋ฅผ ์†Œ๋ฌธ์ž๋กœ*/

[4] ํ…์ŠคํŠธ ๊ทธ๋ฆผ์ž ํšจ๊ณผ

์„ ํƒ์ž { text-shadow : none | ๊ฐ€๋กœ๊ฑฐ๋ฆฌ ์„ธ๋กœ๊ฑฐ๋ฆฌ ๋ฒˆ์ง์ •๋„ ์ƒ‰์ƒ; }

#bg {
    background-color: black;
    margin: 30px; /* ์™ธ๋ถ€์™€์˜ ๊ฐ„๊ฒฉ์„ ์–ผ๋งŒํผ ๋‘˜ ๊ฒƒ์ธ์ง€ */
    padding: 10px; /* ๋‚ด๋ถ€์™€์˜ ๊ฐ„๊ฒฉ์„ ์–ผ๋งŒํผ ๋‘˜ ๊ฒƒ์ธ์ง€ */ 
}

/* ๊ณตํ†ต ์†์„ฑ์œผ๋กœ ์‚ฌ์ด์ฆˆ์™€ ๋‘๊ป˜๋ฅผ ์ง€์ • */
.shadow { 
    font-size: 100px;
    line-height: 30px;
    font-weight: 900;
}

/* ๊ทธ๋ฆผ์ž ํšจ๊ณผ (๊ฐ€๋กœ, ์„ธ๋กœ, ๋ฒˆ์ง, ์ƒ‰์ƒ) */
#ts1 {
    color : orangered;
    text-shadow: 5px 5px orange;
}
#ts2 {
    color: white;
    text-shadow: 0px 1px 20px #fff;
}
#ts3 {
    color:black;
    text-shadow: 0px 0px 4px #ccc,
    0px -5px 4px #ff3, /*๋…ธ๋ž‘*/
    2px -10px 6px #fd3, /*์ง„๋…ธ๋ž‘*/
    -2px -15px 11px #f80, /*์ฃผํ™ฉ*/
    2px -19px 18px #f20; /*๋นจ๊ฐ•*/
}

[5] ํ…์ŠคํŠธ ๊ณต๋ฐฑ์ฒ˜๋ฆฌ / ๊ฐ„๊ฒฉ ์กฐ์ •

white-space : ํ…์ŠคํŠธ์˜ ๊ณต๋ฐฑ์„ ์ฒ˜๋ฆฌ
letter-spacing : ๋‚ฑ๊ฐœ ๊ธ€์ž์˜ ๊ฐ„๊ฒฉ์„ ์กฐ์ •
word-spacing : ๋‹จ์–ด์™€ ๋‹จ์–ด ์‚ฌ์ด ๊ฐ„๊ฒฉ์„ ์กฐ์ •

#space1 {
    /* ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ณต๋ฐฑ์„ ํ•˜๋‚˜๋กœ ํ‘œ์‹œ */
    white-space : normal;
    /* ๋‚ฑ๊ฐœ ๊ธ€์ž์˜ ๊ฐ„๊ฒฉ ์กฐ์ • */
    letter-spacing : 5px;
}

#space2 {
    /* ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ณต๋ฐฑ์„ ํ•˜๋‚˜๋กœ ํ‘œ์‹œ, ์ค„ ๋ฐ”๊พธ์ง€ ์•Š๊ณ  ํ•œ ์ค„ ํ‘œ์‹œ */
    white-space : nowrap;
    /* ๋‹จ์–ด ์‚ฌ์ด์˜ ๊ฐ„๊ฒฉ ์กฐ์ • */
    word-spacing : 10px;
}

#space3 {
    /* ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ณต๋ฐฑ์„ ๊ทธ๋Œ€๋กœ ํ‘œ์‹œ (์ž‘์„ฑํ•œ ๋Œ€๋กœ) */
    white-space : pre;
}

#space4 {
    /* ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ณต๋ฐฑ์„ ํ•˜๋‚˜๋กœ ํ‘œ์‹œ, ์˜์—ญ ๋„˜์–ด๊ฐ€๋ฉด ์ž๋™ ์ค„๋ฐ”๊ฟˆ */
    white-space : pre-line;
}

#space5 {
    /* ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ณต๋ฐฑ์„ ๊ทธ๋Œ€๋กœ ํ‘œ์‹œ, ์˜์—ญ ๋„˜์–ด๊ฐ€๋ฉด ์ž๋™ ์ค„๋ฐ”๊ฟˆ */
    white-space : pre-wrap; 
}

3) ๋ฌธ๋‹จ ์Šคํƒ€์ผ

๐Ÿ’โ€โ™€๏ธ HTML <head>์— ์™ธ๋ถ€ ์Šคํƒ€์ผ ์‹œํŠธ ๋งํฌ ์„ค์ • (๋ฏธ๋ฆฌ ํ•ด๋‹น ๊ฒฝ๋กœ์— CSSํŒŒ์ผ ์ƒ์„ฑ)

<link href="../resources/css/paragraph.css" rel="stylesheet" type="text/css">

[1] ํ…์ŠคํŠธ ์ž‘์„ฑ ๋ฐฉํ–ฅ ์ง€์ •

direction

#p1 { direction : ltr;} /*์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํ…์ŠคํŠธ๋ฅผ ํ‘œ์‹œ*/
#p2 { direction : rtl;} /*์˜ค๋ฅธ์ชฝ์—์„œ ์™ผ์ชฝ์œผ๋กœ ํ…์ŠคํŠธ๋ฅผ ํ‘œ์‹œ*/

[2] ํ…์ŠคํŠธ ์ •๋ ฌ

text-align

#p3 { text-align : left;}
#p4 { text-align : right;}
#p5 { text-align : center;}
#p6 { text-align : justify;} /* ์–‘์ชฝ ์ •๋ ฌ */

[3] ์ค„ ๊ฐ„๊ฒฉ ์กฐ์ ˆ

line-height

#p7 { line-height : normal;}
#p8 { line-height : 30px;}
#p9 { line-height : 1.5em;}
#p10 { line-height : 200%;}

4) ๋ชฉ๋ก ์Šคํƒ€์ผ

๐Ÿ’โ€โ™€๏ธ HTML <head>์— ์™ธ๋ถ€ ์Šคํƒ€์ผ ์‹œํŠธ ๋งํฌ ์„ค์ • (๋ฏธ๋ฆฌ ํ•ด๋‹น ๊ฒฝ๋กœ์— CSSํŒŒ์ผ ์ƒ์„ฑ)

<link href="../resources/css/liststyle.css" rel="stylesheet" type="text/css">

[1] ์ˆœ์„œ ์—†๋Š” ๋ชฉ๋ก์Šคํƒ€์ผ

list-style-type

#default-bullet { list-style-type: disc; } /*์ฑ„์šด ์› ๋ชจ์–‘ ๋ถˆ๋ ›(๊ธฐ๋ณธ๊ฐ’)*/
#circle-bullet { list-style-type: circle;} /*๋นˆ ์› ๋ชจ์–‘ ๋ถˆ๋ ›*/
#square-bullet { list-style-type: square;} /*์ฑ„์šด ์‚ฌ๊ฐํ˜• ๋ชจ์–‘ ๋ถˆ๋ ›*/
#none-bullet { list-style-type: none;} /*๋ถˆ๋ › ์—†์• ๊ธฐ(๊ฐ€์žฅ ์ž์ฃผ ์‚ฌ์šฉ)*/

[2] ์ˆœ์„œ ์žˆ๋Š” ๋ชฉ๋ก์Šคํƒ€์ผ

list-style-type

#default-number { list-style-type: decimal; } /*1๋กœ ์‹œ์ž‘ํ•˜๋Š” 10์ง„์ˆ˜(๊ธฐ๋ณธ๊ฐ’)*/
#zero-number { list-style-type: decimal-leading-zero; } /*์•ž์— 0์ด ๋ถ™๋Š” 10์ง„์ˆ˜*/
#lower-rome-number { list-style-type: lower-roman; } /*์†Œ๋ฌธ์ž ๋กœ๋งˆ ์ˆซ์ž*/
#upper-rome-number { list-style-type: upper-roman; } /*๋Œ€๋ฌธ์ž ๋กœ๋งˆ ์ˆซ์ž*/
#lower-alpha { list-style-type: lower-alpha; } /*์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž*/
#upper-alpha { list-style-type: upper-alpha; } /*์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž*/

[3] ๋ชฉ๋ก ๋“ค์—ฌ์“ฐ๊ธฐ

list-style-position

#bullet-inside { list-style-position: inside;}
#bullet-outside { list-style-position: outside;} /* ๊ธฐ๋ณธ๊ฐ’ */

[4] ๊ธฐํ˜ธ ๋Œ€์‹  ์ด๋ฏธ์ง€ ์‚ฝ์ž…

list-style-image

#image-bullet { list-style-image: url("../images/circle.png");}

๐Ÿ‘‰ ์ƒ‰์ƒ๋ฐฐ๊ฒฝ ์Šคํƒ€์ผ

1) ์ „์ฒด ๋ฐฐ๊ฒฝ์ƒ‰

body { background-color : ์ƒ‰์ƒ๋ช… | rgb | rgba | hsl | hsla | 16์ง„์ˆ˜; }

body {
        /* ์ƒ‰์ƒ๋ช… */
        background-color: pink;
        /* RGB(์ ๋…น์ฒญ) */
        background-color: rgb(255, 192, 203);
        background-color: rgba(255, 192, 203, 0.5);
        /* HSL(์ƒ‰์กฐ, ์ฑ„๋„, ๋ช…๋„) */
        background-color: hsl(350, 100%, 88%);
        background-color: hsla(350, 100%, 88%, 0.5);
        /* Hex Code(16์ง„์ˆ˜) */
        background-color: #FFC0CB;
    }

2) div ์˜์—ญ ๋ฐฐ๊ฒฝ์ƒ‰

#div-bg {
            background-color: white;
        }
        
.div-test {
            background-color: white;
            /* ์™ธ๋ถ€ ์—ฌ๋ฐฑ */
            margin : 30px;
            /* ๋‚ด๋ถ€ ์—ฌ๋ฐฑ */
            padding : 20px;
            /* ํ…Œ๋‘๋ฆฌ ์„  ์ ์„ ์œผ๋กœ */
            border : 5px dashed black;
        }

3) ๋ฐฐ๊ฒฝ ์ ์šฉ ๋ฒ”์œ„ ์กฐ์ •

background-clip

#div1 { background-clip: border-box; }
#div2 { background-clip: padding-box; }
#div3 { background-clip: content-box; }

4) ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€

background-image
background-repeat : ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€์˜ ๋ฐ˜๋ณต ๋ฐฉ๋ฒ• ์ง€์ •
background-size : ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ ์ง€์ •
background-position : ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€์˜ ์œ„์น˜ ์„ค์ •

#bg-img {
            height: 800px;
            border : 1px solid black;
            background-image: url("../resources/images/bgsample.PNG");
            
            /* ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€์˜ ๋ฐ˜๋ณต ๋ฐฉ๋ฒ• ์ง€์ • */
            /* ๋ฐ˜๋ณต (๊ธฐ๋ณธ) */
            background-repeat: repeat;
            /* ๊ฐ€๋กœ๋กœ๋งŒ ๋ฐ˜๋ณต */
            background-repeat: repeat-x;
            /* ์„ธ๋กœ๋กœ๋งŒ ๋ฐ˜๋ณต */
            background-repeat: repeat-y;
            /* ๋ฐ˜๋ณต ์—†์Œ */
            background-repeat: no-repeat;

            /* ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ ์ง€์ • */
            /* ์›๋ž˜ ํฌ๊ธฐ */
            background-size: auto;
            /* ์š”์†Œ ์•ˆ์— ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๊ฐ€ ๋‹ค ๋“ค์–ด์˜ค๋„๋ก ์ด๋ฏธ์ง€๋ฅผ ํ™•๋Œ€/์ถ•์†Œ */
            background-size: contain;
            /* ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๋กœ ์š”์†Œ๋ฅผ ๋ชจ๋‘ ๋ฎ์„ ์ˆ˜ ์žˆ๋„๋ก ์ด๋ฏธ์ง€๋ฅผ ํ™•๋Œ€/์ถ•์†Œ */
            background-size: cover;
            /* ๊ณ ์ • ํฌ๊ธฐ ์ง€์ • */
            background-size: 150px 100px;
            /* ์ƒ๋Œ€ ํฌ๊ธฐ ์ง€์ • */
            background-size: 80% 80%;

            /* ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€์˜ ์œ„์น˜ ์„ค์ • */
            background-position: left top;
            background-position: right top;
            background-position: center top;
            background-position: left bottom;
            background-position: right bottom;
            background-position: center bottom;
            background-position: left center;
            background-position: right center;
            background-position: center center;
            background-position: 30px 50px;

            /* ์Šคํฌ๋กค ์—ฌ๋ถ€ */
            background-attachment: scroll;
            background-attachment: fixed;

๐Ÿ‘‰ ํ…Œ๋‘๋ฆฌ ์Šคํƒ€์ผ

1) ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํ…Œ๋‘๋ฆฌ

[1] ํ…Œ๋‘๋ฆฌ ์—†์Œ

border-style:none

.border-test1 {
		border-style:none;
	}

[2] ํ…Œ๋‘๋ฆฌ ์—†๋Š” ๊ทธ๋ฆผ์ž

border-style:hidden box-shadow

.border-test2 {
		border-style:hidden;
		/* ์ˆ˜ํ‰๊ฑฐ๋ฆฌ ์ˆ˜์ง๊ฑฐ๋ฆฌ ํ๋ฆผ์ •๋„ ๋ฒˆ์ง์ •๋„ */
		box-shadow:5px 5px 3px 2px gray;
	}

[3] ํ…Œ๋‘๋ฆฌ ์žˆ๋Š” ๊ทธ๋ฆผ์ž

border-style:ridge box-shadow

.border-test9 {
		border-style:ridge;
		box-shadow:5px 5px 3px 2px gray;
	}

[4] ์ ์„  ํ…Œ๋‘๋ฆฌ_1

border-style:dotted

.border-test3 {
		border-style:dotted;
	}

[5] ์ ์„  ํ…Œ๋‘๋ฆฌ_2

border-style:dashed
border-top-color : ํ…Œ๋‘๋ฆฌ์˜ ํ•œ ๋ถ€๋ถ„์— ์ƒ‰ ์ง€์ •

.border-test4 {
		border-style:dashed;
		border-top-color:blue;
	}

[6] ๋‘ ์ค„ ํ…Œ๋‘๋ฆฌ

border-style:double
border-color : ์ „์ฒด ํ…Œ๋‘๋ฆฌ์˜ ์ƒ‰ ์ง€์ •

.border-test5 {
		border-style:double;
		border-color:blue;
	}

[7] ๋‘ฅ๊ทผ ํ…Œ๋‘๋ฆฌ_1

border-style:groove border-top-left-radius

.border-test6 {
		border-style:groove;
		border-top-left-radius:50px;
	}

[8] ๋‘ฅ๊ทผ ํ…Œ๋‘๋ฆฌ_2

border-style:inset border-bottom-right-radius

.border-test7 {
		border-style:inset;
		border-bottom-right-radius:50px;
	}

[9] ๋‘ฅ๊ทผ ํ…Œ๋‘๋ฆฌ_3

border-style:outset border-bottom-right-radius

.border-test8 {
		border-style:outset;
		border-top-left-radius:50px;
		border-bottom-right-radius:50px;
	}

[10] ํ…Œ๋‘๋ฆฌ ๋‘๊ป˜ ์„ค์ •

border-style:solid border-bottom-width

.border-test10 {
		border-style:solid;
		border-bottom-width : 10px;
	}

[11] ํ•œ ๋ฒˆ์— ์—ฌ๋Ÿฌ ํ…Œ๋‘๋ฆฌ ์Šคํƒ€์ผ

border: ๋‘๊ป˜ ์Šคํƒ€์ผ ์ƒ‰์ƒ๊ฐ’

.border-test11 {
		border-top : 5px double blue;
		border-left : 1px dotted black;
		border-right : 1px dashed blue;
		border-bottom : 5px solid black;
	}


๐Ÿ‘€ ๋ ˆ์ด์•„์›ƒ ์Šคํƒ€์ผ(layout style)

๐Ÿ’โ€โ™€๏ธ ๋ ˆ์ด์•„์›ƒ(layout)์ด๋ž€,
ํŠน์ • ๊ณต๊ฐ„์— ์—ฌ๋Ÿฌ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๋ณด๊ธฐ ์ข‹๊ฒŒ ํšจ๊ณผ์ ์œผ๋กœ ๋ฐฐ์น˜ํ•˜๋Š” ์ž‘์—…

๐Ÿ‘‰ ๋ธ”๋Ÿญ & ์ธ๋ผ์ธ

  • ๋ธ”๋Ÿญ ์š”์†Œ : ํ•œ ์ค„ ์ „์ฒด๋ฅผ ์ฐจ์ง€ํ•˜๋Š” ์š”์†Œ. ํ•œ ์ค„์— ์—ฌ๋Ÿฌ ์š”์†Œ๊ฐ€ ์˜ฌ ์ˆ˜ ์—†๋Š” ์š”์†Œ.
    ex) div, hn, p, pre, hr, ul, ol, form, table, ... ๋“ฑ๋“ฑ
  • ์ธ๋ผ์ธ ์š”์†Œ : ํ•œ ์ค„์—์„œ ์ผ๋ถ€๋ถ„๋งŒ ์ฐจ์ง€ํ•˜๋Š” ์š”์†Œ. ํ•œ ์ค„์— ์—ฌ๋Ÿฌ ์š”์†Œ๊ฐ€ ์˜ฌ ์ˆ˜ ์žˆ๋Š” ์š”์†Œ.
    ex) span, img, input, label, button, textarea, br(๊ฐœํ–‰), ... ๋“ฑ๋“ฑ

1) ํ™”๋ฉด ๋ฐฐ์น˜ ๋ฐฉ๋ฒ• ๋ณ€๊ฒฝ

๋ธ”๋Ÿญ ์š”์†Œ์™€ ์ธ๋ผ์ธ ์š”์†Œ์˜ ์†์„ฑ์„ ๋ณ€๊ฒฝํ•˜์—ฌ ๋ฐฐ์น˜ ๋ฐฉ์‹์„ ๋ณ€๊ฒฝ

[1] ๋ธ”๋Ÿญ ์š”์†Œ -> ์ธ๋ผ์ธ ์š”์†Œ

display: inline

.block-test1 { display: inline; } 
/* ์ธ๋ผ์ธ ์š”์†Œ๋กœ ๋ณ€๊ฒฝ๋˜๋ฉด์„œ width์™€ height ์†์„ฑ์ด ๋ฌด์‹œ*/

[2] ์ธ๋ผ์ธ ์š”์†Œ -> ๋ธ”๋Ÿญ ์š”์†Œ(block)

display: block

.block-test2 { display: block; } 
/* span์ด์ง€๋งŒ div์ฒ˜๋Ÿผ ๋ณด์ž„ */

[3] ์ธ๋ผ์ธ ์š”์†Œ -> ๋ธ”๋Ÿญ ์š”์†Œ(inline-block)

display : inline-block

.block-test3 { display : inline-block; } 
/* ์˜์—ญ์€ inline, ๋‚ด์šฉ์€ block */

๐Ÿ‘‰ ์—ฌ๋ฐฑ

1) padding

padding : ํ…Œ๋‘๋ฆฌ์™€ ์ปจํ…์ธ  ์˜์—ญ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์กฐ์ ˆํ•˜๋Š” ์†์„ฑ
padding-top/right/bottom/left

.test1 {
            padding: 100px;
            padding: 100px 70px 50px 30px; /* ์œ„, ์˜ค๋ฅธ์ชฝ, ์•„๋ž˜, ์™ผ์ชฝ ์ˆœ์œผ๋กœ ๊ฐ๊ฐ ํฌ๊ธฐ ์ง€์ • ๊ฐ€๋Šฅ */
            padding: 100px 50px; /* ์œ„์•„๋ž˜, ์–‘์˜†๋งŒ ์ง€์ •๋„ ๊ฐ€๋Šฅ*/
        }

.test2 {
            padding-top: 50px; /* padding์„ ์œ„์—๋งŒ ์„ค์ • */
            padding-left: 100px; /* padding์„ ์™ผ์ชฝ์—๋งŒ ์„ค์ • */
		}

2) margin

margin : ์š”์†Œ๋“ค ๊ฐ„์˜ ๊ฐ„๊ฒฉ์„ ์กฐ์ •ํ•˜๋Š” ์†์„ฑ

.test3 {
            margin: 50px; /* ๋‹ค๋ฅธ ์š”์†Œ๋“ค๊ณผ์˜ ๊ฑฐ๋ฆฌ๊ฐ€ ์ƒ๊น€ */
            margin: 100px 70px 50px 30px;
            margin: 100px 50px;
        }

.test4 {
            margin-bottom: 50px; /* margin์„ ์•„๋ž˜์—๋งŒ ์„ค์ •(์•„๋ž˜์— ๊ณต๊ฐ„ ์ƒ๊น€)*/
            margin-left: 50px;
        }

๐Ÿ‘‰ ๋ฐฐ์น˜

1) position

๐Ÿ’โ€โ™€๏ธ position ์†์„ฑ

  • static : ์ผ๋ฐ˜์ ์ธ ๋ฌธ์„œ ํ๋ฆ„์— ๋”ฐ๋ผ ๋ฐฐ์น˜(๊ธฐ๋ณธ ๊ฐ’). top, right, bottme, left ์†์„ฑ์ด ์•„๋ฌด๋Ÿฐ ์˜ํ–ฅ X
  • relative : ์ผ๋ฐ˜์ ์ธ ๋ฌธ์„œ ํ๋ฆ„์— ๋”ฐ๋ผ ๋ฐฐ์น˜. ์ž๊ธฐ ์ž์‹  ๊ธฐ์ค€์œผ๋กœ top, right, bottom, left์˜ ๊ฐ’์— ๋”ฐ๋ผ ์˜คํ”„์…‹ ์ ์šฉ.
  • absolute : ์ผ๋ฐ˜์ ์ธ ๋ฌธ์„œ ํ๋ฆ„์—์„œ ์ œ์™ธ๋˜๋ฉฐ ๊ณต๊ฐ„๋„ ์ฐจ์ง€ํ•˜์ง€์•Š์Œ. ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์œ„์น˜ ์ง€์ • ์กฐ์ƒ ์š”์†Œ์— ๋Œ€ํ•ด ์ƒ๋Œ€์ ์œผ๋กœ ๋ฐฐ์น˜ ๋˜๋ฉฐ top, right, bottom, left์˜ ๊ฐ’์ด ์œ„์น˜๋ฅผ ๊ฒฐ์ •ํ•จ
  • fixed : ์ผ๋ฐ˜์ ์ธ ๋ฌธ์„œ ํ๋ฆ„์—์„œ ์ œ์™ธ๋˜๋ฉฐ ๊ณต๊ฐ„๋„ ์ฐจ์ง€ํ•˜์ง€ ์•Š์Œ. ํ•ด๋‹น ์š”์†Œ๊ฐ€ ๋ชจ๋“œ ํŽ˜์ด์ง€์˜ ๊ฐ™์€ ์œ„์น˜์— ์ถœ๋ ฅ.

[1] static & relative

position: static position: relative

#first {
            position: static; /* ๊ธฐ๋ณธ๊ฐ’ */
            top: 20px; /* ๊ธฐ๋ณธ๊ฐ’์ด๋ฏ€๋กœ ๋ณ€ํ™” X */
            left: 20px;
        }

#second {
            position: relative; /* relative๋กœ position ๋ณ€๊ฒฝ */
            top: 20px;
            left: 20px;
}

#third {
            position: relative;
            bottom: 20px;
            right: 20px;
}

[2] absolute

position: absolute

.positioning {
            border : 1px solid black;
        }

.outer { /* second์™€ third๊ฐ€ body๊ฐ€ ์•„๋‹Œ outer๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ด๋™(์œ„์น˜ ์ง€์ • ์š”์†Œ) */
            position: relative;
        }
        
.first {
            width: 300px;
            height: 300px;
            background-color: yellow;
        }

.second {
            width: 200px;
            height: 200px;
            background-color: yellowgreen;
            position: absolute; /* ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์œ„์น˜ ์ง€์ • ์กฐ์ƒ ์š”์†Œ์— ๋Œ€ํ•ด ์ƒ๋Œ€์ ์œผ๋กœ ๋ฐฐ์น˜ */
            top: 50px;
            left: 50px;
        }

.third {
            width: 100px;
            height: 100px;
            background-color: red;
            position: absolute;
            top: 100px;
            left: 100px;
        }
<div class="outer"> <!-- ์˜๋„์ ์œผ๋กœ ๊ธฐ์ค€์ด ๋  div๋ฅผ ์„ค์ •   -->
        <div class="positioning first"></div>
        <div class="positioning second"></div>
        <div class="positioning third"></div>
</div>

[3] fixed

.fixed-area { /* ์Šคํฌ๋กค์„ ์ด๋™ํ•ด๋„ ์œ„์น˜๊ฐ€ ํ•ญ์ƒ ๊ณ ์ •๋˜์–ด์žˆ์Œ */
            width: 100px;
            height: 100px;
            position: fixed;
            left: 500px;
            top: 500px;
}

2) visibility

ํŽ˜์ด์ง€์— ํŠน์ • ์š”์†Œ๋ฅผ ๋ณด์ด๊ฑฐ๋‚˜ ๋ณด์ด์ง€ ์•Š๊ฒŒ ํ•˜๋Š” ์†์„ฑ
visibility: hidden : ํŽ˜์ด์ง€ ๊ณต๊ฐ„ ์ฐจ์ง€ O
display: none : ํŽ˜์ด์ง€ ๊ณต๊ฐ„ ์ฐจ์ง€ X

.vis-test1 { background-color: red;}
.vis-test2 { 
            background-color: yellow;
            visibility: hidden; /* ์ž๋ฆฌ๋Š” ๊ทธ๋Œ€๋กœ ์ฐจ์ง€ํ•˜๋‚˜, ๋ˆˆ์— ๋ณด์ด์ง€ ์•Š์Œ */
            display: none; /* ์ž๋ฆฌ ์ฐจ์ง€๋„ ํ•˜์ง€์•Š๊ณ  ์‚ฌ๋ผ์ง */
        }
.vis-test3 { background-color: green;}

3) z-index

z-index : ํŽ˜์ด์ง€ ์•ˆ์˜ ์š”์†Œ๋“ค์„ ์ˆœ์„œ๋Œ€๋กœ ์œ„๋กœ ์Œ“๋Š” ์†์„ฑ

.wrap { /* z-test๋“ค์˜ ์œ„์น˜ ์ง€์ • ์š”์†Œ */
            position: relative;
        }

.z-test {
            width: 150px;
            height: 100px;
            border: 1px solid black;
            position: absolute;
        }

.z-test1 {
            background-color: yellow;
            top: 100px;
            left: 100px;
            z-index: 100; 
            /* z-index์˜ ์ˆ˜์น˜๋ฅผ ๋†’๊ฒŒ ์ง€์ •ํ•˜๋ฉด ๋งจ ์•„๋ž˜์—์„œ ๋งจ ์œ„๋กœ ์˜ฌ๋ผ์˜ค๊ฒŒ ๋จ */
        }

.z-test2 {
            background-color: green;
            top: 50px;
            left: 50px;
            z-index: 50; 
            /*z-test1์˜ z-index ๋ณด๋‹ค๋Š” ์ˆ˜์น˜๊ฐ€ ์ ์œผ๋ฏ€๋กœ ์ˆœ์„œ๊ฐ€ ์•„๋ž˜, ์ˆ˜์น˜๊ฐ€ ์—†๋Š” z-test3๋ณด๋‹ค๋Š” ์œ„ */
        }

.z-test3 {
            background-color: red;
            top: 0px;
            left: 0px;
        }

4) float

float : ํŽ˜์ด์ง€ ๋‚ด์˜ ์š”์†Œ์˜ ์œ„์น˜๋ฅผ ์™ผ์ชฝ์ด๋‚˜ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ง€์ •ํ•˜๋Š” ์†์„ฑ

.float-test {
            border: 1px solid black;
            width: 150px;
            height: 100px;
            float: right; /* ์˜ค๋ฅธ์ชฝ์—์„œ๋ถ€ํ„ฐ ์™ผ์ชฝ์œผ๋กœ ํ๋ฅด๋“ฏ์ด ์œ„์น˜ ์„ค์ • */
        }

๐Ÿ‘‰ flex

display: flex : ์ˆ˜ํ‰ ์ •๋ ฌ
flex-direction : ๋ฐฐ์น˜ ๋ฐฉํ–ฅ
flex-wrap : ์ค„๋ฐ”๊ฟˆ
justify-content : ์ˆ˜ํ‰ ๋ฐฉํ–ฅ ๋งž์ถค
align-items : ์ˆ˜์ง ๋ฐฉํ–ฅ ๋งž์ถค

.item {
            background-color: lightblue;
            color : white;
            margin: 10px;
            padding: 10px;
        }

.container {
            /* ๋ถ€๋ชจ ์š”์†Œ(container)์— display : flex; ์ถ”๊ฐ€ ์‹œ ์ˆ˜ํ‰ ์ •๋ ฌ */
            display: flex;

            /* ๋ฐฐ์น˜ ๋ฐฉํ–ฅ */
            flex-direction: row-reverse; /* ์˜ค๋ฅธ์ชฝ ์ •๋ ฌ, ์ˆœ์„œ ๋ฐ˜๋Œ€ */
            flex-direction: column;
            flex-direction: column-reverse;
            flex-direction: row; /* ๊ธฐ๋ณธ๊ฐ’ */

            /* ์ค„๋ฐ”๊ฟˆ */
            flex-wrap: nowrap; /* ํ™”๋ฉด์„ ์ค„์—ฌ๋„ ์ค„๋ฐ”๊ฟˆ X */
            flex-wrap: wrap-reverse; /* ํ™”๋ฉด์„ ์ค„์ด๋ฉด ์ค„๋ฐ”๊ฟˆ O, ์ˆœ์„œ ๋ฐ˜๋Œ€ */
            flex-wrap: wrap; /* ๊ธฐ๋ณธ๊ฐ’ */

            /* ์ˆ˜ํ‰ ๋ฐฉํ–ฅ ๋งž์ถค */
            justify-content: flex-end; /* ๋ ์ชฝ์— ๋งž์ถฐ ์ •๋ ฌ */
            justify-content: center; /* ๊ฐ€์šด๋ฐ๋กœ ์ •๋ ฌ */
            justify-content: space-between; /* ์–‘์ชฝ ์ •๋ ฌ, ๊ฐ ์—ฌ๋ฐฑ์ด ๋™์ผ */
            justify-content: space-around; /* ๊ฐ ์—ฌ๋ฐฑ์ด ๋™์ผ */
            justify-content: flex-start; /* ๊ธฐ๋ณธ๊ฐ’ */

            /* vh๋Š” ๋ทฐ ํฌํŠธ์˜ ๋†’์ด ๊ธฐ์ค€ ๋‹จ์œ„ */
            height: 100vh; /* ํ™”๋ฉด์— ๊ฝ‰ ์ฐจ๊ฒŒ ๋งž์ถ˜ ํฌ๊ธฐ */

            /* align-item : ์ˆ˜์ง ๋ฐฉํ–ฅ ๋งž์ถค */
            align-items: flex-start; /* ๋งจ ์œ„์— ์ •๋ ฌ */
            align-items: flex-end; /* ๋งจ ์•„๋ž˜์— ์ •๋ ฌ */
            align-items: center; /* ๊ฐ€์šด๋ฐ์— ์ •๋ ฌ */
            align-items: stretch; /* ๊ธฐ๋ณธ๊ฐ’ (๋ถ€๋ชจ์˜ ํฌ๊ธฐ์— ๋งž์ถค) */
        }

๐Ÿ‘‰ grid

display: grid : 2์ฐจ์›์œผ๋กœ ์ˆ˜ํ‰ ์ˆ˜์ง์„ ๋™์‹œ์— ์˜์—ญ ๋‚˜๋ˆ„๊ธฐ ๊ฐ€๋Šฅ
grid-template-columns : ๊ทธ๋ฆฌ๋“œ ์•„์ดํ…œ ๋„ˆ๋น„
grid-template-rows : ๊ทธ๋ฆฌ๋“œ ์•„์ดํ…œ ๋†’์ด
gap : ๊ทธ๋ฆฌ๋“œ ์•„์ดํ…œ ์‚ฌ์ด์˜ ์—ฌ๋ฐฑ
grid-column : ์ปฌ๋Ÿผ(๊ฐ€๋กœ) ์กฐ์ ˆ
grid-row : ๋กœ์šฐ(์„ธ๋กœ) ์กฐ์ ˆ
grid-area : ํ•œ๋ฒˆ์— ์˜์—ญ ๋‚˜๋ˆ„๊ธฐ

.item {
            background-color: lightcoral;
            color: white;
            padding: 10px;
            margin: 10px;
        }

        .container {
            display: grid;

            /* ๊ทธ๋ฆฌ๋“œ ์•„์ดํ…œ ๋„ˆ๋น„ */
            grid-template-columns: 200px 200px 200px; /* 3๊ฐœ ์ž‘์„ฑ = 3๊ฐœ์˜ ํ–‰ */
            grid-template-columns: 100px 200px auto; /* auto๋งŒ ๊ณ ์ •์ด ๋˜์–ด์žˆ์ง€ ์•Š๊ณ  ํ™”๋ฉด ๋„ˆ๋น„์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง */

            /* fr(fraction) ๋‹จ์œ„๋กœ ์ฒ˜๋ฆฌ */
            grid-template-columns: 1fr 1fr 1fr; /* 1:1:1์˜ ๋น„์œจ */
            /* ๋ฐ˜๋ณต๋˜๋Š” ํŒจํ„ด์ด ์žˆ๋‹ค๋ฉด repeat ์‚ฌ์šฉ */
            grid-template-columns: repeat(3, 1fr); /* ์œ„์™€ ๊ฐ™์€ ๊ฒฐ๊ณผ */

            /* ๊ทธ๋ฆฌ๋“œ ์•„์ดํ…œ ์‚ฌ์ด์˜ ์—ฌ๋ฐฑ */
            row-gap: 20px;
            column-gap: 10px;
            gap: 20px 10px;
            gap: 20px; /* row์™€ column์˜ gap ๊ฐ’์ด ๊ฐ™๋‹ค๋ฉด ํ•˜๋‚˜๋งŒ ์ž…๋ ฅ OK */

            /* ๊ทธ๋ฆฌ๋“œ ์•„์ดํ…œ ๋†’์ด */
            grid-template-rows: 200px 200px 300px;
            /* row ๊ฐœ์ˆ˜๋ฅผ ๋ฏธ๋ฆฌ ์•Œ ์ˆ˜ ์—†์„ ๋•Œ */
            grid-auto-rows: 200px;
        }

        .item:nth-child(1) {
            /* column ์‹œ์ž‘/๋ ์„ค์ • */
            grid-column-start: 1;
            grid-column-end: 3;
            /* column ์‹œ์ž‘/๋ ์„ค์ • ํ•œ๋ฒˆ์— */
            grid-column: 1/3; /* ์œ„์™€ ๋™์ผ */
            grid-column: 1/span 2; /* ์œ„์™€ ๋™์ผ */ 

            /* row ์‹œ์ž‘/๋ ์„ค์ • */
            grid-row-start: 1;
            grid-row-end: 3;
            /*  row ์‹œ์ž‘/๋ ์„ค์ • ํ•œ๋ฒˆ์— */
            grid-row: 1/4;
            grid-row: 1/span 2; /* grid-row: 1/2์™€ ๊ฐ™์Œ */

            /* ํ•œ๋ฒˆ์— ์˜์—ญ ๋‚˜๋ˆ„๊ธฐ */
            /* row์‹œ์ž‘/column์‹œ์ž‘/row๋/column๋ */
            grid-area: 1/1/3/3;

        }


profile
Tiny little habits make me

0๊ฐœ์˜ ๋Œ“๊ธ€