Day +3

๋น„ํŠธยท2023๋…„ 4์›” 13์ผ
0

CodeStates

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

๐Ÿ—ฃ๏ธ CSS ๊ธฐ์ดˆ

โœ๏ธ CSS ( Cascading Style Sheets )

  • ์›น ํŽ˜์ด์ง€ ์Šคํƒ€์ผ ๋ฐ ๋ ˆ์ด์•„์›ƒ์„ ์ •์˜ํ•˜๋Š” ์Šคํƒ€์ผ ์‹œํŠธ ์–ธ์–ด.
  • ๋” ๋‚˜์€ UX (์‚ฌ์šฉ์ž ๊ฒฝํ—˜)์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด CSS๋กœ UI ๋ฐ ๋ ˆ์ด์•„์›ƒ์„ ์ฃฝ์ ˆํžˆ ๊ตฌ์„ฑํ•˜๋ฉด ๋ฉ‹์ง„ ์›นํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

  • UI ( User Interface )

    • ์ปดํ“จํ„ฐ์™€ ์‚ฌ์šฉ์ž๊ฐ€ ๊ต๋ฅ˜ํ•˜๊ธฐ ์œ„ํ•œ ์—ฐ๊ฒฐ๊ณ ๋ฆฌ.
      • ์ง๊ด€์ ์ด๊ณ  ์‰ฌ์šด UI ์ œ์ž‘์€ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž์˜ ๊ธฐ๋ณธ ์†Œ์–‘์ด๋‹ค.
      • ์•„๋ฌด๋ฆฌ ํ›Œ๋ฅญํ•œ ๋‚ด๋ถ€๊ธฐ๋Šฅ์„ ๊ฐ–๊ณ  ์žˆ๋”๋ผ๋„ UI๊ฐ€ ์—†์œผ๋ฉด ์†Œ์šฉ์—†๋‹ค.
      • ์ด์ฒ˜๋Ÿผ ์ค‘์š”ํ•œ UI๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ํ”„๋ก ๋“œ์—”๋“œ ๊ฐœ๋ฐœ์ž์˜ ์—ญํ• ์ด๋‹ค.

  • UX ( User Experience )

    • ์‚ฌ์šฉ์ž ๊ฒฝํ—˜.
      • ์ข‹์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜( UX )์€ ์ง๊ด€์ ์ด๊ณ  ์‰ฌ์šด UI๋กœ ๋ถ€ํ„ฐ.

๐Ÿ’ช ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋ ค๋ฉด ์ด์ •๋„์— CSS๋Š”?

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

+ ์ •๋ ฌ์ด๋‚˜ ๋ฐฐ์ƒ‰์— ๋Œ€ํ•œ ๊ฐ๊ฐ
+ UX์— ๋Œ€ํ•˜์—ฌ ๊ณ ๋ฏผํ•ด๋ณด๊ณ , UX๊ฐ€ ์ž˜ ์ ์šฉ๋œ ์›น์ด๋‚˜ ์•ฑ์„ ๋ถ„์„ํ•ด ๋ณธ ๊ฒฝํ—˜ ๋“ฑ..

โœ๏ธ CSS ํŒŒ์ผ์„ HTML๊ณผ ์—ฐ๊ฒฐํ•˜๊ธฐ

index.html๊ณผ index.css๋ผ๋Š” ํŒŒ์ผ์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž.

์šฐ๋ฆฌ๋Š” ๋งˆํฌ์—…์„ ๋๋‚ธ HTML ํŒŒ์ผ์— CSS๋ฅผ ํ†ตํ•ด์„œ ์Šคํƒ€์ผ์„ ์ ์šฉ์„ ํ• ๊ฒƒ์ด๋‹ค.
์ด๋•Œ, ์šฐ๋ฆฌ๋Š” HTML ํŒŒ์ผ์— < head > ๋ผ๋Š” ๋ถ€๋ถ„์—,

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

๋ผ๊ณ  ๋„ฃ์–ด์„œ ์—ฐ๊ฒฐ์„ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.



๐Ÿ—ฃ๏ธ ๋ฐ•์Šค ๋ชจ๋ธ

  • ๋ชจ๋“  ์ฝ˜ํ…์ธ ๋Š” ๊ณ ์œ ํ•œ ์˜์—ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
    • ๋ชจ๋“  ์ฝ˜ํ…์ธ ๋Š” ๊ฐ์ž์˜ ์˜์—ญ์„ ๊ฐ€์ง€๋ฉฐ, ์ผ๋ฐ˜์ ์œผ๋กœ ํ•˜๋‚˜์˜ ์ฝ˜ํ…์ธ ๋กœ ๋ฌถ์ด๋Š” ์š”์†Œ๋“ค์ด ํ•˜๋‚˜์˜ ๋ฐ•์Šค๊ฐ€ ๋œ๋‹ค.

โœ๏ธ๋ฐ•์Šค์˜ ํŠน์ง•

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

    • block : <div>, <p>
    • line : <span>

โœ๏ธ๋ฐ•์Šค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์š”์†Œ

  • border(ํ…Œ๋‘๋ฆฌ)๋ฅผ ๊ธฐ์ค€์œผ๋กœ padding(์•ˆ์ชฝ ์—ฌ๋ฐฑ)๊ณผ margin(๋ฐ”๊นฅ ์—ฌ๋ฐฑ)

โœ…border (ํ…Œ๋‘๋ฆฌ)

  • ์‹ฌ๋ฏธ์ ์ธ ์šฉ๋„ ์™ธ์—๋„, ๊ฐœ๋ฐœ ๊ณผ์ •์—์„œ๋„ ๋งค์šฐ ์˜๋ฏธ ์žˆ๊ฒŒ ์‚ฌ์šฉ.
  • ๊ฐ ์˜์—ญ์ด ์ฐจ์ง€ํ•˜๋Š” ํฌ๊ธฐ๋ฅผ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด, ๋ ˆ์ด์•„์›ƒ์„ ๋งŒ๋“ค๋ฉด์„œ ์‹œ๊ฐ์ ์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
p {
  border: 1px solid red;  //p ์š”์†Œ์— 1px์˜ ๋นจ๊ฐ„์ƒ‰ ์‹ค์„ ์„ ์ถ”๊ฐ€.
}

โšกborder ์‘์šฉ

  • border-width : ํ…Œ๋‘๋ฆฌ ๋‘๊ป˜
  • border-style : ํ…Œ๋‘๋ฆฌ ์Šคํƒ€์ผ
  • border-color : ํ…Œ๋‘๋ฆฌ ์ƒ‰์ƒ

โœ…margin (๋ฐ”๊นฅ ์—ฌ๋ฐฑ)

  • border๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฐ•์Šค ์™ธ๋ถ€์˜ ์—ฌ๋ฐฑ์„ ์ง€์ •.
p {
  margin: 10px 20px 30px 40px; //top, right, bottom, left๋กœ ์‹œ๊ณ„๋ฐฉํ–ฅ
}

โšกmargin์— ๊ฐ’์ด ๋“ค์–ด๊ฐ€๋Š” ๊ฐฏ์ˆ˜๊ฐ€ ๋‹ค๋ฅผ์ˆ˜๋„ ์žˆ๋‹ค.

p {
  margin: 10px 20px; //top๊ณผ bottom์ด 10px, left ๋ฐ right๊ฐ€ 20px
}

p {
  margin: 10px; //๋ชจ๋“  ๋ฐฉํ–ฅ์˜ ๋ฐ”๊นฅ ์—ฌ๋ฐฑ 10px
}

โœ…padding (์•ˆ์ชฝ ์—ฌ๋ฐฑ)

  • border๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฐ•์Šค ๋‚ด๋ถ€์˜ ์—ฌ๋ฐฑ์„ ์ง€์ •
    โšก๋ฐฉ์‹์€ margin๊ณผ ๋™์ผ

p {
  padding: 10px 20px 30px 40px; //top, right, bottom, left๋กœ ์‹œ๊ณ„๋ฐฉํ–ฅ
}


๐Ÿ—ฃ๏ธ CSS Selector


โœ๏ธ ๊ธฐ๋ณธ ์…€๋ ‰ํ„ฐ

โœ…์ „์ฒด์…€๋ ‰ํ„ฐ

  • ๋ฌธ์„œ์˜ ๋ชจ๋“  ์š”์†Œ๋“ค์„ ์„ ํƒ.
* {}

โœ…ํƒœ๊ทธ ์…€๋ ‰ํ„ฐ

  • ๊ฐ™์€ ํƒœ๊ทธ๋ช…์„ ๊ฐ€์ง„ ๋ชจ๋“  ์š”์†Œ๋“ค์„ ์„ ํƒ. (๋ณต์ˆ˜ ์„ ํƒ ๊ฐ€๋Šฅ)
h1 {}
div {}

h1,div{}

โœ…id ์…€๋ ‰ํ„ฐ

  • #id๋กœ ์ž…๋ ฅํ•˜์—ฌ ์„ ํƒ.
#password {}

โœ…class ์…€๋ ‰ํ„ฐ

  • .class๋กœ ์ž…๋ ฅํ•˜์—ฌ ์„ ํƒ.
.friend {}


โœ๏ธ ์ž์‹ / ํ›„์† / ํ˜•์ œ ์…€๋ ‰ํ„ฐ

โœ…์ž์‹ ์…€๋ ‰ํ„ฐ

- ์ฒซ ๋ฒˆ์งธ๋กœ ์ž…๋ ฅํ•œ ์š”์†Œ์˜ ๋ฐ”๋กœ ์•„๋ž˜ ์ž์‹์ธ ์š”์†Œ๋ฅผ ์„ ํƒ.

header > div { }

โ†“ ์˜ˆ์‹œ : <header>์˜ ๋ฐ”๋กœ ์†ํ•œ ๊ฒƒ๋งŒ ์„ ํƒํ•˜๋ฏ€๋กœ ์ง์† <div>๋งŒ ์„ ํƒํ•จ.

<<header>
	<div> <!-- ์„ ํƒ -->
		<p>
			<div></div>
		</p>
	</div>
	<div> <!-- ์„ ํƒ -->
		<p>
			<div></div>
		</p>
	</div>
</header>

โœ…ํ›„์† ์…€๋ ‰ํ„ฐ

- ์ฒซ ๋ฒˆ์งธ๋กœ ์ž…๋ ฅํ•œ ์š”์†Œ์˜ ํ›„์†์„ ์„ ํƒ.

header div {}

โ†“ ์˜ˆ์‹œ : <header>์˜ ํ›„์†์„ ์„ ํƒํ•˜๋ฏ€๋กœ ๋ชจ๋“  <div>๋ฅผ ๋‹ค ์„ ํƒํ•จ.

<header>
	<div><!-- ์„ ํƒ -->
		<p>
			<div><!-- !!์„ ํƒ!! -->
			</div>
		</p>
	</div>
	<div><!-- ์„ ํƒ -->
		<p>
			<div><!-- !!์„ ํƒ!! -->
			</div>
		</p>
	</div>
</header>

โœ…ํ˜•์ œ ์…€๋ ‰ํ„ฐ

- ๊ฐ™์€ ๋ถ€๋ชจ ์š”์†Œ๋ฅผ ๊ณต์œ ํ•˜๋ฉด์„œ, ์ฒซ ๋ฒˆ์งธ ์ž…๋ ฅํ•œ ์š”์†Œ ๊ท€์— ์˜ค๋Š” ๋‘ ๋ฒˆ์งธ ์š”์†Œ๋ฅผ ๋ชจ๋‘ ์„ ํƒ.

section ~ p { }

โ†“ ์˜ˆ์‹œ : <section> ๋’ค์— ์˜ค๋ฉด์„œ ๊ฐ™์€ ๋‘ ๋ฒˆ์งธ ์š”์†Œ์ธ <p>๋ฅผ ๋ชจ๋‘ ์„ ํƒํ•จ.

<header>
	<section></section>
	<p></p> <!-- ์„ ํƒ -->
	<p></p> <!-- ์„ ํƒ -->
	<p></p> <!-- ์„ ํƒ -->
</header>

โœ…์ธ์ ‘ ํ˜•์ œ ์…€๋ ‰ํ„ฐ

- ๊ฐ™์€ ๋ถ€๋ชจ ์š”์†Œ๋ฅผ ๊ณต์œ ํ•˜๋ฉด์„œ, ์ฒซ ๋ฒˆ์งธ ์ž…๋ ฅํ•œ ์š”์†Œ ๋ฐ”๋กœ ๋’ค์— ์˜ค๋Š” ๋‘ ๋ฒˆ์งธ ์ž…๋ ฅํ•œ ์š”์†Œ๋ฅผ ์„ ํƒํ•จ.

section + p { }

โ†“ ์˜ˆ์‹œ : <section>์™€ ๊ฐ™์€ ๋‘ ๋ฒˆ์งธ ์š”์†Œ์ธ <p>ํƒœ๊ทธ ์ค‘ ๋ฐ”๋กœ ๋’ค์— ์žˆ๋Š” ๊ฒƒ์„ ์„ ํƒํ•จ.

<header>
	<section></section>
	<p></p> <!-- ์„ ํƒ -->
	<p></p>
	<p></p>
</header>


โœ๏ธ ๊ธฐํƒ€ ์…€๋ ‰ํ„ฐ

โœ…๊ฐ€์ƒ ํด๋ž˜์Šค ์…€๋ ‰ํ„ฐ

- ๊ฐ€์ƒ ํด๋ž˜์Šค๋Š” ์š”์†Œ์˜ ์ƒํƒœ ์ •๋ณด์— ๊ธฐ๋ฐ˜ํ•ด ์š”์†Œ๋ฅผ ์„ ํƒ.

a:link { } /*์‚ฌ์šฉ์ž๊ฐ€ ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ <a>์š”์†Œ๋ฅผ ์„ ํƒ.*/
a:visited { } /*์‚ฌ์šฉ์ž๊ฐ€ ๋ฐฉ๋ฌธํ•œ <a>์š”์†Œ๋ฅผ ์„ ํƒ. */
a:hover { } /* ๋งˆ์šฐ์Šค๋ฅผ ์š”์†Œ ์œ„์— ์˜ฌ๋ ธ์„ ๋•Œ ์„ ํƒ. */
a:active { } /* ํ™œ์„ฑํ™” ๋œ(ํด๋ฆญ๋œ) ์ƒํƒœ์ผ ๋•Œ ์„ ํƒ. */
a:focus { } /* ํฌ์ปค์Šค๊ฐ€ ๋“ค์–ด์™€ ์žˆ์„ ๋•Œ ์„ ํƒ. */


๐Ÿ‘ฉโ€๐Ÿ’ป ๋งˆ๋ฌด๋ฆฌ

์–ด์ œ๋งŒ๋“  HTML์— CSS๋ฅผ ๋”ํ•ด์„œ ๊ณผ์ œ๋กœ ๋งŒ๋“  ๐Ÿ”ฅ์ž๊ธฐ์†Œ๊ฐœ ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ๐Ÿ”ฅ

profile
Drop the Bit!

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