๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Study/HTML CSS JS

[Front] CSS

by hong- 2022. 4. 27.

์•ˆ๋…•ํ•˜์„ธ์š” ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž ํ™๋ฏผ์ •์ž…๋‹ˆ๋‹ค ๐Ÿซง

์˜ค๋Š˜์€ CSS์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค !

๐ŸŽจ  CSS

โ˜๐Ÿป CSS (Cascading Style Sheets)

   - ์›น ํŽ˜์ด์ง€์˜ ์Šคํƒ€์ผ๋ง ๋‹ด๋‹นํ•˜์—ฌ ๋…๋ฆฝ์ ์œผ๋กœ ๊ธฐ๋Šฅํ•˜์ง€ ์•Š์Œ

   - HTML์ด ์›น ํŽ˜์ด์ง€์˜ ๊ตฌ์กฐ์™€ ๋‚ด์šฉ์„ ๋‹ด๋‹นํ•œ๋‹ค๋ฉด CSS๋Š” ๊ฐ HTML์˜ ์š”์†Œ๋ฅผ ๊พธ๋ฏธ๋Š” ์—ญํ• ์„ ๋‹ด๋‹นํ•จ


๐Ÿ“ CSS์˜ ์—ญํ• 

 :  ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค(UI)๋ฅผ ๊ตฌ์„ฑํ•จ์œผ๋กœ์จ ๋” ๋‚˜์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜(UX)์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ

   - ์›น ํŽ˜์ด์ง€๋ฅผ ํ™”๋ คํ•˜๊ฒŒ ๊พธ๋ฏธ๊ธฐ ์ „์— ๋จผ์ € ์›น ํŽ˜์ด์ง€์˜ ๊ตฌ์„ฑ ๊ณ„ํš

   - ์ฝ˜ํ…์ธ ์˜ ๋ฐฐ์น˜์™€ ์œ„์น˜ (๋ ˆ์ด์•„์›ƒ ๋””์ž์ธ)

   - CSS๋ฅผ ํ†ตํ•ด ํ™”๋ฉด์— ๋‚˜ํƒ€๋‚˜๋Š” ์ •๋ณด๋“ค์˜ ๋ ˆ์ด์•„์›ƒ์„ ์ตœ์ ํ™”ํ•จ์œผ๋กœ์จ ์ •๋ณด ์ „๋‹ฌ๋ ฅ์„ ๋Œ์–ด์˜ฌ๋ฆผ

   - ์ฝ˜ํ…์ธ ์˜ ๊ฐ€๋…์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Œ


๐Ÿ“ CSS ํƒœ๊ทธ : ์‹œ๋งจํ‹ฑ ํƒœ๊ทธ

   - ์‹œ๋งจํ‹ฑ ํƒœ๊ทธ๋Š” ์ด ํƒœ๊ทธ๊ฐ€ ๊ฐ์‹ธ๊ณ  ์žˆ๋Š” ์˜์—ญ์—์„œ ์–ด๋–ค ์—ญํ• ์„ ๋‹ด๋‹นํ•˜๋Š”์ง€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์‰ฝ๊ฒŒ ํŒŒ์•…ํ•˜๋„๋ก ๋„์›€

  1๏ธโƒฃ ์…€๋ ‰ํ„ฐ (Selector)

 - ํƒœ๊ทธ ์ด๋ฆ„์ด๋‚˜ id, ๋˜๋Š” ํด๋ž˜์Šค๋ฅผ ์„ ํƒ

 - ์…€๋ ‰ํ„ฐ๋กœ ํŠน์ • ์š”์†Œ๋ฅผ ์„ ํƒํ–ˆ๋‹ค๋ฉด ์ค‘๊ด„ํ˜ธ ์•ˆ์—์„œ ์ด ์š”์†Œ์— ์ ์šฉํ•  ๋‚ด์šฉ ์ž‘์„ฑ

  2๏ธโƒฃ ์†์„ฑ 

 - ์š”์†Œ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋‚ด์šฉ

 - ์ƒ‰์ƒ, ๊ธ€์ž ํฌ๊ธฐ ๋“ฑ ๋‹ค์–‘ํ•œ ์†์„ฑ ๋“ฑ์ด ์žˆ์Œ

 - ์†์„ฑ์— ์ ์šฉํ•  ์ ์ ํ•œ ๊ฐ’์„ ์ž…๋ ฅํ•˜์—ฌ ์Šคํƒ€์ผ ํ‘œํ˜„ ( color: blue; ๋Š” ํŒŒ๋ž€์ƒ‰์œผ๋กœ ์Šคํƒ€์ผ๋ง)

 - ์†์„ฑ๊ณผ ๊ฐ’์˜ ๋์—๋Š” ์„ธ๋ฏธ์ฝœ๋ก ์œผ๋กœ ๊ตฌ๋ถ„


๐Ÿ“ CSS ํŒŒ์ผ์ถ”๊ฐ€

 - CSS ํŒŒ์ผ์„ HTML ํŒŒ์ผ์— ์—ฐ๊ฒฐํ•  ๋•Œ์—๋Š” link ํƒœ๊ทธ ์•ˆ์—์„œ href ์†์„ฑ์„ ํ†ตํ•ด ํŒŒ์ผ์„ ์—ฐ๊ฒฐ

<link rel = "stylesheet" href = "index.css" />

 - link ํƒœ๊ทธ๋Š” HTML ํŒŒ์ผ๊ณผ ๋‹ค๋ฅธ ํŒŒ์ผ์„ ์—ฐ๊ฒฐ

 - rel์€ ์—ฐ๊ฒฐํ•˜๊ณ ์ž ํ•˜๋Š” ํŒŒ์ผ์˜ ์—ญํ• ์ด๋‚˜ ํŠน์ง•

 - href๋Š” ํŒŒ์ผ ์œ„์น˜


๐Ÿ“ CSS ์Šคํƒ€์ผ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•

  1๏ธโƒฃ ์ธ๋ผ์ธ ์Šคํƒ€์ผ : ๊ฐ™์€ ์ค„์—์„œ ์Šคํƒ€์ผ์„ ์ ์šฉ

  2๏ธโƒฃ ๋‚ด๋ถ€ ์Šคํƒ€์ผ ์‹œํŠธ :  ๋ณ„๋„์˜ ํŒŒ์ผ๋กœ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๊ณ  style ํƒœ๊ทธ ๋‚ด์— ์ž‘์„ฑ

  3๏ธโƒฃ ์™ธ๋ถ€ ์Šคํƒ€์ผ ์‹œํŠธ :  HTMLํƒœ๊ทธ์— ์ง์ ‘ CSS ์†์„ฑ์„ ์ถ”๊ฐ€


๐Ÿ“ id๋กœ ์ด๋ฆ„ ๋ถ™์—ฌ์„œ ์Šคํƒ€์ผ๋ง ์ ์šฉ

  1๏ธโƒฃ h4 ํƒœ๊ทธ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝ

h4 {
	color: white;
}

2๏ธโƒฃ h4 ์š”์†Œ์— id๋ฅผ ๋ถ™์ž„

 - id๋Š” ํ•˜๋‚˜์˜ ๋ฌธ์„œ์— ํ•œ ์š”์†Œ์—์„œ๋งŒ ์‚ฌ์šฉํ•ด์•ผ ํ•จ

 - ๋™์ผํ•œ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” CSS๋ฅผ ์—ฌ๋Ÿฌ ์š”์†Œ์— ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ class๋ฅผ ์‚ฌ์šฉ

<h4 id="title"> This is Title </h4>

๐Ÿ“ class๋กœ ์Šคํƒ€์ผ์„ ๋ถ„๋ฅ˜ํ•˜์—ฌ ์ ์šฉ

1๏ธโƒฃ li ์š”์†Œ์— ๋ฐ‘์ค„์„ ์นจ

li{
	text-decoration: underline;
}โ€‹

2๏ธโƒฃ class๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์Šคํƒ€์ผ๋ง

 - ๋™์ผํ•œ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” CSS๋ฅผ ์—ฌ๋Ÿฌ ์š”์†Œ์— ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” class๋ฅผ ์‚ฌ์šฉ

<ul>
	<li class="this">Home</li>
        <li class="this">Diary</li>
	<li class="this">photo</li>
	<li class="this">command</li>
</ul>

3๏ธโƒฃ ์—ฌ๋Ÿฌ ๊ฐœ์˜ class๋ฅผ ํ•˜๋‚˜์˜ ์—˜๋ฆฌ๋จผํŠธ์— ์ ์šฉํ•˜๊ธฐ

 - ์š”์†Œ๋ฅผ ๋งŒ๋“ค๊ฑฐ๋‚˜ ์š”์†Œ์— ์Šคํƒ€์ผ๋ง ์ ์šฉํ•  ๋•Œ์—๋Š” ํ•ญ์ƒ ์ด๋ฆ„๊ณผ ๋ชฉ์ ์ด ์ผ์น˜ํ•˜๋Š”์ง€ ์ž˜ ์‚ดํŽด๋ณด๊ธฐ


๐Ÿ“ id์™€ class์˜ ์ฐจ์ด์ 

id class
#์œผ๋กœ ์„ ํƒ .์œผ๋กœ ์„ ํƒ
ํ•œ ๋ฌธ์„œ์— ๋‹จ ํ•˜๋‚˜์˜ ์š”์†Œ๋งŒ ์ ์šฉ ๋™์ผํ•œ ๊ฐ’์„ ๊ฐ–๋Š” ์š”์†Œ ๋งŽ์Œ
ํŠน์ • ์š”์†Œ์— ์ด๋ฆ„์„ ๋ถ™์ด๋Š”๋ฐ ์‚ฌ์šฉ ์Šคํƒ€์ผ์˜ ๋ถ„๋ฅ˜์— ์‚ฌ์šฉ

โ˜๐Ÿป ํ…์ŠคํŠธ ๊พธ๋ฏธ๊ธฐ

๐Ÿ“ ์ƒ‰์ƒ : color

   - ๊ธ€์ž์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ์†์„ฑ

   - ์†์„ฑ ๊ฐ’์€ HEX (RGB๊ฐ€ 16์ง„์ˆ˜๋กœ ํ‘œํ˜„๋œ ๊ฐ’) ๋˜๋Š” ์ƒ‰์ƒ์˜ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ

.red{
	color: #ff0000; /* ๊ธ€์ž์ƒ‰ */
 	background-color: #d4edda; /* ๋ฐฐ๊ฒฝ์ƒ‰ */
	border-color : #c3e6cb; /* ํ…Œ๋‘๋ฆฌ์ƒ‰ */
}

๐Ÿ“ ๊ธ€๊ผด : font-family

   - ๊ธ€๊ผด์˜ ์ด๋ฆ„์€ ๋”ฐ์˜ดํ‘œ๋ฅผ ๋ถ™์—ฌ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Œ

.cup{
	font-family: "MalgunGothic" ;
 }

๐Ÿ“ ํฌ๊ธฐ : font-size

.memu {
	font-size : 54px;
}

 →  ๊ธ€๊ผด์˜ ํฌ๊ธฐ์—์„œ๋Š” ๋‹จ์œ„๊ฐ€ ์ค‘์š”ํ•จ!

   โ–ช๏ธ ์ ˆ๋Œ€ ๋‹จ์œ„ : px, pt ๋“ฑ 

    (1) ํ”ฝ์…€

     - ํ™˜๊ฒฝ์— ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋Š” ์ ˆ๋Œ€์ ์ธ ํฌ๊ธฐ๋ฅผ ์ •ํ•˜๋Š” ๊ฒฝ์šฐ

     - ๊ธ€๊ผด์˜ ํฌ๊ธฐ๋ฅผ ๊ณ ์ •ํ•˜๋Š” ๋‹จ์œ„์ด๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์ž ์ ‘๊ทผ์„ฑ์ด ๋ถ„๋ฆฌํ•จ

     - ์ธ์‡„์™€ ๊ฐ™์ด ํ™”๋ฉด์˜ ์‚ฌ์ด์ฆˆ๊ฐ€ ์ •ํ•ด์ง„ ๊ฒฝ์šฐ์— ์œ ๋ฆฌ 

   โ–ช๏ธ ์ƒ๋Œ€ ๋‹จ์œ„ : %, em, rem, ch, vw, vh ๋“ฑ

   (1) rem ๋ ˜

     - ์ผ๋ฐ˜์ ์ธ ๊ฒฝ์šฐ๋Š” ์ƒ๋Œ€๋‹จ์œ„์ธ rem ์ถ”์ฒœ

     - ์‚ฌ์šฉ์ž๊ฐ€ ์„ค์ •ํ•œ ๊ธฐ๋ณธ ๊ธ€๊ผด ํฌ๊ธฐ๋ฅผ ๋”ฐ๋ฅด๋ฏ€๋กœ ์ ‘๊ทผ์„ฑ ์œ ๋ฆฌ

   (2) vw, vh

     - ์›น์‚ฌ์ดํŠธ์˜ ๋ณด์ด๋Š” ์˜์—ญ์„ Viewport๋ผ๊ณ  ํ•จ

     - vw : viewport width

     - vh : viewport height


๐Ÿ“ ๊ธฐํƒ€ ์Šคํƒ€์ผ๋ง

  - ์Šคํƒ€์ผ๋ง ์‚ฌ์šฉ๋ฒ•์€ w3school์ด๋‚˜ mdn ํ†ตํ•ด ์‰ฝ๊ฒŒ ํ™•์ธ ๊ฐ€๋Šฅ

   [ ๊ตต๊ธฐ ] : font-weight

   [ ๋ฐ‘์ค„,๊ฐ€๋กœ์ค„ ] : text-decoration

   [ ์ž๊ฐ„ ] : letter-spacing

   [ ํ–‰๊ฐ„ ] : line-height


๐Ÿ“ ์ •๋ ฌ

 1๏ธโƒฃ ๊ฐ€๋กœ ์ •๋ ฌ: text-align

  - ์œ ํšจํ•œ ๊ฐ’: left, right, center, justify

 2๏ธโƒฃ ์„ธ๋กœ ์ •๋ ฌ

 - ์ •๋ ฌํ•˜๊ณ ์ž ํ•˜๋Š” ๊ธ€์ž๋ฅผ ๋‘˜๋Ÿฌ์‹ธ๊ณ  ์žˆ๋Š” ๋ฐ•์Šค์˜ ๋†’์ด๊ฐ€ ๊ธ€์ž ๋†’์ด๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ์—๋งŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Œ


โœŒ๐Ÿป ๋ฐ•์Šค ๋ชจ๋ธ

- ๋ชจ๋“  ์ฝ˜ํ…์ธ ๋Š” ๊ฐ์ž์˜ ์˜์—ญ์„ ๊ฐ€์ง€๋ฉฐ ์ผ๋ฐ˜์ ์œผ๋กœ ํ•˜๋‚˜์˜ ์ฝ˜ํ…์ธ ๋กœ ๋ฌถ์ด๋Š” ์—˜๋ฆฌ๋จผํŠธ๋“ค์ด ํ•˜๋‚˜์˜ ๋ฐ•์Šค๊ฐ€ ๋จ

- ๋ฐ•์Šค๋Š” ํ•ญ์ƒ ์ง์‚ฌ๊ฐํ˜•์ด๋ฉฐ ๋„ˆ๋น„์™€ ๋†’์ด๋ฅผ ๊ฐ€์ง€๋ฉฐ CSS๋กœ ์†์„ฑ๊ณผ ๊ฐ’ ํฌ๊ธฐ๋ฅผ ์„ค์ •

 

๐Ÿ“ ๋ฐ•์Šค์˜ ์ข…๋ฅ˜

 โšก๏ธ block : ์ค„๋ฐ”๊ฟˆ์ด ๋˜๋Š” ๋ฐ•์Šค

 โšก๏ธ inline : ์ค„๋ฐ”๊ฟˆ์ด ์ผ์–ด๋‚˜์ง€ ์•Š๊ณ  ํฌ๊ธฐ ์ง€์ •์„ ํ•  ์ˆ˜ ์—†๋Š” ๋ฐ•์Šค

 โšก๏ธ inline-block : block + inline

 

    ๐Ÿชด HTML์—์„œ ์ค„๋ฐ”๊ฟˆ ๊ด€๋ จ ํƒœ๊ทธ๋Š” ?

      - ์ค„๋ฐ”๊ฟˆ์ด ๋˜๋Š” ํƒœ๊ทธ : <h1> <p>   →  block ๋ฐ•์Šค

      - ์ค„๋ฐ”๊ฟˆ์ด ๋˜์ง€ ์•Š๋Š” ํƒœ๊ทธ : <span>   → inline ๋ฐ•์Šค

  block inline-block inline
์ค„๋ฐ”๊ฟˆ ์—ฌ๋ถ€ ์ค„๋ฐ”๊ฟˆ์ด ์ผ์–ด๋‚จ ์ค„๋ฐ”๊ฟˆ์ด ์ผ์–ด๋‚˜์ง€ ์•Š์Œ ์ค„๋ฐ”๊ฟˆ์ด ์ผ์–ด๋‚˜์ง€ ์•Š์Œ
๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฐ–๋Š” ๋„ˆ๋น„ (width) 100% ๊ธ€์ž๊ฐ€ ์ฐจ์ง€ํ•˜๋Š” ๋งŒํผ ๊ธ€์ž๊ฐ€ ์ฐจ์ง€ํ•˜๋Š” ๋งŒํผ
width, height ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์—ฌ๋ถ€ ๊ฐ€๋Šฅ ๊ฐ€๋Šฅ ๋ถˆ๊ฐ€๋Šฅ

๐Ÿ“ ๋ฐ•์Šค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์š”์†Œ

   โšก๏ธ border(ํ…Œ๋‘๋ฆฌ)

     - ๊ฐ ์˜์—ญ์ด ์ฐจ์ง€ํ•˜๋Š” ํฌ๊ธฐ๋ฅผ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ๋ ˆ์ด์•„์›ƒ์„ ๋งŒ๋“ค๋ฉด์„œ ๊ทธ ํฌ๊ธฐ๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ํ™•์ธ ๊ฐ€๋Šฅ

     - border-width : ํ…Œ๋‘๋ฆฌ ๋‘๊ป˜

     - border-style : ํ…Œ๋‘๋ฆฌ ์Šคํƒ€์ผ

     - border-color : ํ…Œ๋‘๋ฆฌ ์ƒ‰์ƒ

   โšก๏ธ margin (๋ฐ”๊นฅ ์—ฌ๋ฐฑ)

     - ๊ฐ๊ฐ์˜ ๊ฐ’์€ top, right, bottom, left๋กœ ์‹œ๊ณ„๋ฐฉํ–ฅ์ž„

     - ๊ฐ’์„ ๋‘ ๊ฐœ๋งŒ ๋„ฃ์œผ๋ฉด top๊ณผ bottom

     - ๊ฐ’์„ ํ•˜๋‚˜๋งŒ ๋„ฃ์œผ๋ฉด ๋ชจ๋“  ๋ฐฉํ–ฅ์˜ ๋ฐ”๊นฅ ์—ฌ๋ฐฑ

     - margin-top: 10px;๋กœ ์ง์ ‘ ํŠน์ • ์—ฌ๋ฐฑ ์ถ”๊ฐ€ ๊ฐ€๋Šฅ

     - ์Œ์ˆ˜๊ฐ’์„ ์ง€์ •ํ•˜๋ฉด ๋‹ค๋ฅธ ์—˜๋ฆฌ๋จผํŠธ์™€์˜ ๊ฐ„๊ฒฉ์ด ์ค„์–ด๋“ฆ (ํ™”๋ฉด์—์„œ ์•„์˜ˆ ์‚ฌ๋ผ์ง€๊ฑฐ๋‚˜ ๊ฒน์น˜๊ฒŒ ๊ฐ€๋Šฅ)   

    โšก๏ธ padding (์•ˆ์ชฝ ์—ฌ๋ฐฑ)

     - border๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฐ•์Šค ๋‚ด๋ถ€์˜ ์—ฌ๋ฐฑ์„ ์ง€์ •ํ•จ

     - ๊ฐ’์˜ ์ˆœ์„œ์— ๋”ฐ๋ฅธ ๋ฐฉํ–ฅ์€ margin๊ณผ ๋™์ผ


๐Ÿ“ overflow (๋ฐ•์Šค๋ฅผ ๋ฒ—์–ด๋‚˜๋Š” ์ฝ˜ํ…์ธ  ์ฒ˜๋ฆฌ)

   - ๋ฐ•์Šค์˜ ์†์„ฑ์ด ์ฝ˜ํ…์ธ  ํฌ๊ธฐ๋ณด๋‹ค ์ž‘์„ ๊ฒฝ์šฐ overflow : auto; ํ™œ์šฉ


๐Ÿ“ ๋ฐ•์Šค ํฌ๊ธฐ ์ธก์ • ๊ธฐ์ค€

   - ๋ฐ•์Šค์— ์ ์šฉํ•  ์—ฌ๋ฐฑ์„ ๊ณ ๋ คํ•˜๊ณ  ๋ฐ•์Šค์˜ ํฌ๊ธฐ๋ฅผ ๋””์ž์ธํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”

   - width๋กœ๋งŒ ํŒ๋‹จํ•˜๋ฉด ์•ˆ๋จ !!!!!

   - ๊ณต๋ฐฑ์ด๋ž‘ ํ…Œ๋‘๋ฆฌ ์˜์—ญ๊นŒ์ง€ ๋ชจ๋‘ ๋”ํ•ด์„œ ๋„ˆ๋น„๋ฅผ ๊ณ„์‚ฐํ•จ

   - ex) 300px(์ฝ˜ํ…์ธ  ์˜์—ญ) + 10px(padding-left) + 10px(padding-right) + 2px(border-left) + 2px(border-right)

 

'Study > HTML CSS JS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[JS] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ  (0) 2022.11.22
[HTML] html  (0) 2022.11.21
[Front] ์™€์ด์–ดํ”„๋ ˆ์ž„  (4) 2022.04.28
[Front] ํŽ˜์ด์ง€ ๋ ˆ์ด์•„์›ƒ  (0) 2022.04.28
[Front] HTML  (0) 2022.04.26