FrontEnd : CSS๊ธฐ์ดˆ

์ด์ง€์ˆ˜ยท2021๋…„ 4์›” 17์ผ
0

FrontEnd

๋ชฉ๋ก ๋ณด๊ธฐ
5/7
post-thumbnail

๐Ÿ“CSS ๊ธฐ์ดˆ

๐Ÿ“ŒCSS3 ๊ธฐ๋ณธ ์„ ํƒ์ž

์ข…๋ฅ˜ํ˜•ํƒœ์‚ฌ์šฉ์˜ˆ์„ค๋ช…
์ „์ฒด ์„ ํƒ์ž**ํŽ˜์ด์ง€ ๋‚ด๋ถ€์˜ ํƒœ๊ทธ๋ฅผ ๋ชจ๋‘ ์„ ํƒ
ํƒœ๊ทธ ์„ ํƒ์žํƒœ๊ทธh1ํŽ˜์ด์ง€ ๋‚ด๋ถ€์˜ ํŠน์ • ํƒœ๊ทธ๋ฅผ ์„ ํƒ
์•„์ด๋”” ์„ ํƒ์ž#์•„์ด๋””#idํŠน์ • id์†์„ฑ์ด ์žˆ๋Š” ํƒœ๊ทธ๋ฅผ ์„ ํƒ
ํด๋ž˜์Šค ์„ ํƒ์ž.ํด๋ž˜์Šค.headerํŠน์ • ํด๋ž˜์Šค๊ฐ€ ์žˆ๋Š” ํƒœ๊ทธ ์„ ํƒ

โœ… ์ „์ฒด ์„ ํƒ์ž

<style>
*{color : red;}
</style>

๐Ÿ‘‰๐Ÿป๊ฒฐ๊ณผ

๋ชจ๋“  ํƒœ๊ทธ ๊ธ€์ž ์ƒˆ๊ธฐ ๋นจ๊ฐ„ ์ƒ‰์œผ๋กœ ๋ฐ”๋€œ

โœ… ํƒœ๊ทธ ์„ ํƒ์ž

h1{color :red;}
p{color : blue;}

๐Ÿ‘‰๐Ÿป๊ฒฐ๊ณผ

h1ํƒœ๊ทธ์˜ ๊ธ€์ž์ƒ‰์€ ๋นจ๊ฐ•, pํƒœ๊ทธ์˜ ๊ธ€์ž์ƒ‰์€ ํŒŒ๋ž‘์œผ๋กœ ๋ฐ”๋€œ

โ• ํ•œ๋ฒˆ์— ์—ฌ๋Ÿฌ๊ฐœ์˜ ์„ ํƒ์ž๋ฅผ ์ž…๋ ฅํ•ด ์Šคํƒ€์ผ ์ ์šฉํ•  ๋•Œ๋Š” ์‰ผํ‘œ ์ด์šฉ

h1,h2,h3,h4,p{color :red;}

โœ… id ์„ ํƒ์ž

id์†์„ฑ์€ ์›นํŽ˜์ด์ง€ ๋‚ด๋ถ€์—์„œ ์ค‘๋ณต ๋˜์–ด์„œ๋Š” ์•ˆ๋œ๋‹ค.
๋”ฐ๋ผ์„œ id์„ ํƒ์ž๋Š” ํŠน์ • ํƒœ๊ทธ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•  ๋•Œ ์‚ฌ์šฉ

<style>
#header{width:80px;
		background : gray;}
</style>

โœ… class ์„ ํƒ์ž

class์„ ํƒ์ž๋Š” ์ค‘๋ณต๋  ์ˆ˜ ์žˆ์Œ, ์›น ๊ฐœ๋ฐœ์‹œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ

<style>
.select{color:red;}
</style>

โ• ํด๋ž˜์Šค ์„ ํƒ์ž๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ ์‚ฌ์šฉํ•  ๋•Œ
๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด ์‚ฌ์šฉ

<head>
<style>
.item{color:red;}
.item{background-color:black;}
</style>
</head>
<body>
<h1 class ="item header">์•ˆ๋…•์•ˆ๋…•</h1>
</body>

๐Ÿ‘‰๐Ÿป๊ฒฐ๊ณผ

h1ํƒœ๊ทธ์— ๋‘๊ฐ€์ง€ ์†์„ฑ์ด ๋ชจ๋‘ ์ ์šฉ๋˜์–ด ๋นจ๊ฐ„์ƒ‰ ๊ธ€์”จ์— ๊ฒ€์ •์ƒ‰ ๋ฐฐ๊ฒฝ์œผ๋กœ ๋‚˜ํƒ€๋‚จ

๐Ÿ“ข ํƒœ๊ทธ์„ ํƒ์ž์™€ class์„ ํƒ์ž ํ•จ๊ป˜ ์‚ฌ์šฉํ•ด์„œ ๋” ์ •ํ™•ํ•˜๊ฒŒ ํƒœ๊ทธ ์„ ํƒ ๊ฐ€๋Šฅ

<head>
        <meta charset="UTF-8">
        <title>CSS3 Selector Basic</title>
        <style>
            li.select{color : red;}
        </style>
    </head>
    <body>
        <h1 class ="select">์ œ๋ชฉ ๊ธ€์ž</h1>
        <ul>
            <li class ="select">์‚ฌ๊ณผ</li>
            <li>๋ฐ”๋‚˜๋‚˜</li>
            <li>์˜ค๋ Œ์ง€</li>
            <li>๊ฐ</li>
        </ul>
    </body>

๐Ÿ‘‰๐Ÿป๊ฒฐ๊ณผ

h1ํƒœ๊ทธ์™€ liํƒœ๊ทธ ๋‘˜๋‹ค select ํด๋ž˜์Šค์ด์ง€๋งŒ, liํƒœ๊ทธ ์ค‘ selectํด๋ž˜์Šค์ธ ๊ฒƒ๋งŒ ํ•ด๋‹น ์†์„ฑ์ด ์ ์šฉ๋จ

๐Ÿ“ŒCSS3 ์†์„ฑ ์„ ํƒ์ž

inputํƒœ๊ทธ๋Š” ํƒœ๊ทธ ์ด๋ฆ„์ด ๋ชจ๋‘ ๊ฐ™์ง€๋งŒ type ์†์„ฑ์— ๋”ฐ๋ผ ํ˜•ํƒœ๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— inputํƒœ๊ทธ๋ฅผ ์„ ํƒํ•  ๋•Œ ์†์„ฑ ์„ ํƒ์ž๋ฅผ ๋งŽ์ด ์ด์šฉํ•จ.

ํ˜•ํƒœ์‚ฌ์šฉ์˜ˆ
์„ ํƒ์ž[์†์„ฑ]ํŠน์ •ํ•œ ์†์„ฑ์ด ์žˆ๋Š” ํƒœ๊ทธ ์„ ํƒ
์„ ํƒ์ž[์†์„ฑ =๊ฐ’]ํŠน์ •ํ•œ ์†์„ฑ ๋‚ด๋ถ€ ๊ฐ’์ด ํŠน์ • ๊ฐ’๊ณผ ๊ฐ™์€ ํƒœ๊ทธ ์„ ํƒ
<head>
<style>
input[type="text"]{background:red;}
input[type="password"]{background:blue;}
</style>
</head>
<body>
	<form>
    	<input type ="text"/>
        <input type ="password"/>
	</form>
</body>

๐Ÿ‘‰๐Ÿป๊ฒฐ๊ณผ

๐Ÿ“ŒCSS3 ํ›„์† ์„ ํƒ์ž, ์ž์† ์„ ํƒ์ž

โœ… ํ›„์† ์„ ํƒ์ž

ํ˜•ํƒœ์„ค๋ช…
์„ ํƒ์žA ์„ ํƒ์žB์„ ํƒ์žA์˜ ํ›„์†์ธ ์„ ํƒ์žB ์„ ํƒ
<style>
    <head>
        <style>
            #header h1{ color:red;}
            #section h1{color : blue;}
        </style>
    </head>
    <body>
        <div id="header">
            <h1 class= "title">Lorem ipsum</h1>
            <div id ="nav">
                <h1>Navigation</h1>
            </div>
        </div>
        <div id ="section">
            <h1 class ="title">Lorem ipsum</h1>
            <p>Lorem ipsum dolor sit amet, consectetur adipscing elit.</p>
        </div>
    </body>
</style>

๐Ÿ‘‰๐Ÿป๊ฒฐ๊ณผ


#header์˜ ํ›„์†์ธ h1ํƒœ๊ทธ๋Š” red, #section์˜ ํ›„์†์ธ h1์€ blue๋กœ!
(header๋ผ๋Š” ์•„์ด๋”” ๊ฐ€์ง„ ํƒœ๊ทธ์˜ ํ›„์† ์ค‘ h1์€ red, section์ด๋ผ๋Š” ์•„์ด๋”” ๊ฐ€์ง„ ํƒœ๊ทธ์˜ ํ›„์† ์ค‘ h1๋Š” blue๋กœ)

๐Ÿ“ข์ฃผ์˜์‚ฌํ•ญ

<style>
#header h1, h2{color :red;}
</style>
<style>
#header h1, #headerh2{color :red;}
</style>

์ฐจ์ด ์•Œ๊ธฐ !!!
1์€ #header์˜ ํ›„์†์ธ h1๊ณผ ๊ทธ๋ƒฅ h2์„ ํƒ
2๋Š” #header์˜ ํ›„์†์ธ h1๊ณผ #header์˜ ํ›„์†์ธ h2์„ ํƒ

โœ… ์ž์† ์„ ํƒ์ž

ํ˜•ํƒœ์„ค๋ช…
์„ ํƒ์žA>์„ ํƒ์žB์„ ํƒ์žA์˜ ์ž์†์ธ ์„ ํƒ์žB ์„ ํƒ
<!DOCTYPE html>
    <head>
        <style>
            #header > h1 {color : red;}
            #section > h1 {color : blue;}
        </style>
    </head>
    <body>
        <div id="header">
            <h1 class= "title">Lorem ipsum</h1>
            <div id ="nav">
                <h1>Navigation</h1>
            </div>
        </div>
        <div id ="section">
            <h1 class ="title">Lorem ipsum</h1>
            <p>Lorem ipsum dolor sit amet, consectetur adipscing elit.</p>
        </div>
    </body>
</html>

๐Ÿ‘‰๐Ÿป๊ฒฐ๊ณผ


ํ›„์† ์„ ํƒ์ž๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ์™€๋Š” ๋‹ฌ๋ฆฌ Navigation์ด ์ž์†์ด ์•„๋‹ˆ๋ฏ€๋กœ red๊ฐ€ ์ ์šฉ๋˜์ž ์•Š๋Š”๋‹ค.

๐Ÿ“ขtableํƒœ๊ทธ์— ์Šคํƒ€์ผ ์ ์šฉ์‹œ ์ž์†์„ ํƒ์ž๋Š” ์‚ฌ์šฉํ•˜์ง€ ๋ง๊ธฐ!
table > tbody> tr> th๋กœ ์ ์šฉํ•ด ์ฃผ์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฒˆ๊ฑฐ๋กญ๋‹ค.

๐Ÿ“ŒCSS3 ๋ฐ˜์‘, ์ƒํƒœ, ๊ตฌ์กฐ ์„ ํƒ์ž

โœ… ๋ฐ˜์‘ ์„ ํƒ์ž

ํ˜•ํƒœ์„ค๋ช…
:active์‚ฌ์šฉ์ž๊ฐ€ ๋งˆ์šฐ์Šค๋กœ ํด๋ฆญํ•œ ํƒœ๊ทธ ์„ ํƒ
:hover์‚ฌ์šฉ์ž๊ฐ€ ๋งˆ์šฐ์Šค ์ปค์„œ๋ฅผ ์˜ฌ๋ฆฐ ํƒœ๊ทธ ์„ ํƒ
<style>
	h1:hover{color : red;}
    h1:active{color : blue;}
</style>

๐Ÿ‘‰๐Ÿป๊ฒฐ๊ณผ

๋งˆ์šฐ์Šค๋ฅผ ์ปค์„œ๋ฅผ ์˜ฌ๋ ธ์„ ๋•Œ red๋กœ ๋ฐ”๋€Œ๊ณ , ๋งˆ์šฐ์Šค๋กœ ํด๋ฆญํ–ˆ์„ ๋•Œ blue๋กœ ๋ฐ”๋€๋‹ค

โœ… ์ƒํƒœ ์„ ํƒ์ž

ํ˜•ํƒœ์„ค๋ช…
:checked์ฒดํฌ ์ƒํƒœ์˜ inputํƒœ๊ทธ ์„ ํƒ
:focusํฌ์ปค์Šค๋ฅผ ๋งž์ถ˜ inputํƒœ๊ทธ ์„ ํƒ
:enabled์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ inputํƒœ๊ทธ ์„ ํƒ
:disabled์‚ฌ์šฉ ๋ถˆ๊ฐ€๋Šฅํ•œ inputํƒœ๊ทธ ์„ ํƒ
<head>
        <style>
            input:enabled{background-color:white;}
            input:disabled{background-color:gray;}
            input:focus{background-color:orange;}
        </style>
    </head>
    <body>
        <div id="header">
            <h1 class= "title">Lorem ipsum</h1>
            <div id ="nav">
                <h1>Navigation</h1>
            </div>
        </div>
        <div id ="section">
            <h2>์‚ฌ์šฉ๊ฐ€๋Šฅ</h2>
            <input>
            <h2>์‚ฌ์šฉ๊ฐ€๋Šฅ</h2>
            <input>
            <h2>์‚ฌ์šฉ๋ถˆ๊ฐ€๋Šฅ</h2>
            <input disabled ="disabled">
        </div>
    </body>
</html>

๐Ÿ‘‰๐Ÿป๊ฒฐ๊ณผ


disabled์†์„ฑ ๊ฐ’์ด ๋””ํดํŠธ๋ฉด enabled์ƒํƒœ์ด๋ฏ€๋กœ inputํƒœ๊ทธ ๋ฐฐ๊ฒฝ์ด ํ•˜์–€์ƒ‰, ํฌ์ปค์Šค๊ฐ€ ์˜ฌ๋ผ๊ฐ€๋ฉด ์ฃผํ™ฉ์ƒ‰, disabled์ƒํƒœ์ด๋ฉด ํšŒ์ƒ‰์ด ์ ์šฉ

๐Ÿ“ขhtml์—์„œ ์ฃผ์„์€ <!--์ฃผ์„-->, css์—์„œ๋Š” /*์ฃผ์„*/ ํ˜•ํƒœ๋กœ ์”€

โœ… ๊ตฌ์กฐ ์„ ํƒ์ž

ํ˜•ํƒœ์„ค๋ช…
:fisrt-childํ˜•์ œ ๊ด€๊ณ„์—์„œ ์ฒซ ๋ฒˆ์งธ๋กœ ๋“ฑ์žฅํ•˜๋Š” ํƒœ๊ทธ ์„ ํƒ
:last-childํ˜•์ œ ๊ด€๊ณ„์—์„œ ๋งˆ์ง€๋ง‰์œผ๋กœ ๋“ฑ์žฅํ•˜๋Š” ํƒœ๊ทธ ์„ ํƒ
:nth-child(์ˆ˜์—ด)ํ˜•์ œ ๊ด€๊ณ„์—์„œ ์•ž์—์„œ ์ˆ˜์—ด ๋ฒˆ์งธ๋กœ ๋“ฑ์žฅํ•˜๋Š” ํƒœ๊ทธ ์„ ํƒ
:nth-last-child(์ˆ˜์—ด)ํ˜•์ œ ๊ด€๊ณ„์—์„œ ๋’ค์—์„œ ์ˆ˜์—ด ๋ฒˆ์งธ๋กœ ๋“ฑ์žฅํ•˜๋Š” ํƒœ๊ทธ ์„ ํƒ

li:nth-child(2n){background-color: #FF0003; }
li:nth-child(2n+1){background-color: #800000; }
์ด๋Ÿฐ์‹์œผ๋กœ ์ˆ˜์—ด์ด ๋“ค์–ด๊ฐ€๋Š”๋ฐ n์— 0๋ถ€ํ„ฐ ๋Œ€์ž…ํ•ด์„œ ๊ทธ ๋ฒˆ์งธ์— ๋“ฑ์žฅํ•˜๋Š” ํƒœ๊ทธ๋ฅผ ์„ ํƒํ•œ๋‹ค.

    <head>
        <style>
            ul{overflow : hidden;}
            li{
                list-style:none;
                float:left;padding :15px;
            }
            li:first-child{border-radius: 10px 0 0 10px;}
            li:last-child{border-radius: 0 10px 10px 0;}

            li:nth-child(2n){background-color: #FF0003; }
            li:nth-child(2n+1){background-color: #800000; }

        </style>
    </head>
    <body>
        <ul>
            <li>์ฒซ ๋ฒˆ์งธ</li>
            <li>๋‘ ๋ฒˆ์งธ</li>
            <li>์„ธ ๋ฒˆ์งธ</li>
            <li>๋„ค ๋ฒˆ์งธ</li>
            <li>๋‹ค์„ฏ ๋ฒˆ์งธ</li>
            <li>์—ฌ์„ฏ ๋ฒˆ์งธ</li>
            <li>์ผ๊ณฑ ๋ฒˆ์งธ</li>
        </ul>
    </body>
    ```

๐Ÿ‘‰๐Ÿป๊ฒฐ๊ณผ

๐Ÿ“ข์ฃผ์˜์‚ฌํ•ญ

<body>
	<ul>
    	<li><a href ="#">์ฃผ์˜ !</a></li>
        <li><a href ="#">์ฃผ์˜ !</a></li>
        <li><a href ="#">์ฃผ์˜ !</a></li>
        <li><a href ="#">์ฃผ์˜ !</a></li>
</body>

์œ„์˜ body์— ์ ์šฉํ•  ์Šคํƒ€์ผ์ด ๋‹ค์Œ๊ณผ ๊ฐ™์„ ๋•Œ ์ฐจ์ด ์•Œ๊ธฐ !!!

<style>
  li> a:first-child{color : red;}
</style>

=>liํƒœ๊ทธ์˜ ์ฒซ ๋ฒˆ์งธ ์ž์†์— ํ•ด๋‹นํ•˜๋Š” aํƒœ๊ทธ๋ฅผ ์„ ํƒ
๋ชจ๋“  aํƒœ๊ทธ๊ฐ€ ๋นจ๊ฐ„์ƒ‰์ด ์ ์šฉ๋จ

<style>
  li:first-child > a{color : red;}
</style>

=>์ฒซ ๋ฒˆ์งธ liํƒœ๊ทธ์˜ ์ž์†์— ํ•ด๋‹นํ•˜๋Š” aํƒœ๊ทธ๋ฅผ ์„ ํƒ
์ฒซ๋ฒˆ์งธ aํƒœ๊ทธ๋งŒ ๋นจ๊ฐ„์ƒ‰์ด ์ ์šฉ๋จ

๐Ÿ“ŒCSS3 ๋‹จ์œ„

โœ… ํ‚ค์›Œ๋“œ

w3c์—์„œ ๋ฏธ๋ฆฌ ์ •์˜ํ•œ ๋‹จ์–ด.
ํ‚ค์›Œ๋“œ๋ฅผ ์Šคํƒ€์ผ ๊ฐ’์œผ๋กœ ์ž…๋ ฅํ•˜๋ฉด ํ‚ค์›Œ๋“œ์— ํ•ด๋‹นํ•˜๋Š” ์Šคํƒ€์ผ์ด ์ž๋™์œผ๋กœ ์ ์šฉ
๋งค์šฐ๋งŽ์Œ

โœ… ํฌ๊ธฐ

๋‹จ์œ„์„ค๋ช…
%๋ฐฑ๋ถ„์œจ ๋‹จ์œ„
em๋ฐฐ์ˆ˜ ๋‹จ์œ„
pxํ”ฝ์…€ ๋‹จ์œ„
<style>
p{font-size : 200%}
</style>

=> %๋‹จ์œ„๋Š” ๊ธฐ๋ณธ์œผ๋กœ ์„ค์ •๋œ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ƒ๋Œ€์ ์ธ ํฌ๊ธฐ๋ฅผ ์ง€์ •
100%๊ฐ€ ์ดˆ๊ธฐ ์„ค์ •๊ฐ’

<style>
p{font-size : 2em;}
</style>

=> em๋‹จ์œ„๋Š” ๋ฐฐ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋‹จ์œ„.
1em = 100% = 1๋ฐฐ
1.5em = 150% = 1.5๋ฐฐ
2em = 200% = 2๋ฐฐ

<style>
p{font-size : 32px;}
</style>

=>px๋Š” ์ ˆ๋Œ€์ ์ธ ํฌ๊ธฐ ์ง€์ •
์ดˆ๊ธฐ ์„ค์ • ๊ฐ’์€ 16px

font-size์†์„ฑ, width์†์„ฑ, height์†์„ฑ ๋“ฑ์— ํฌ๊ธฐ ๋‹จ์œ„ ์ ์šฉ๊ฐ€๋Šฅ

โœ… ์ƒ‰์ƒ

๋‹จ์œ„์˜ˆ์‹œ์„ค๋ช…
์˜๋‹จ์–ดred, blue, orange ...rgb๊ฐ’์ž…๋ ฅ, 0-255์‚ฌ์ด์˜ ์ˆซ์ž
rgb์ƒ‰์ƒ๋ฐฐ์ˆ˜ ๋‹จ์œ„
rgba์ƒ‰์ƒrgba(255,255,255,0.5)์•ŒํŒŒ๊ฐ’์€ ํˆฌ๋ช…๋„๋ฅผ ๋‚˜ํƒ€๋ƒ„. 0.0์€ ์™„์ „ ํˆฌ๋ช…, 1.0์€ ์™„์ „ ๋ถˆํˆฌ๋ช…
hex์ฝ”๋“œ#0094Frgb์ƒ‰์ƒ๋‹จ์œ„๋ฅผ ์งง๊ฒŒ ์ž…๋ ฅํ•˜๋Š” ๋ฐฉ๋ฒ•, 16์ง„์ˆ˜๋กœ ์ž…๋ ฅ

=>colorpicker ์‚ฌ์šฉํ•˜๋ฉด ํŽธ๋ฆฌํ•˜๋‹ค.

โœ… url

url('๊ฒฝ๋กœ')

body{background-image : url('cow.png')};//ํ˜„์žฌํด๋”์˜ cow.png
background-image : url('velog/cow.png');//velogํด๋”์˜ cow.png
background-image : url('/cow.png');//๋ฃจํŠธ ํด๋”์˜ cow.png
profile
The only thing worse than starting something and failing...is not starting something

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