CSS (Cascading Style Sheets)๋?
์น ํ์ด์ง ์คํ์ผ ๋ฐ ๋ ์ด์์์ ์ ์ํ๋ ์คํ์ผ์ํธ ์ธ์ด์ด๋ค.
CSS๋ ์น์ฌ์ดํธ ์ฌ์ฉ์๊ฐ HTML ๋ฌธ์์ ์์ฑ๋ ์ฝํ ์ธ ๋ฅผ ์ ์ดํดํ ์ ์๋๋ก ๋๋ ์ญํ ์ ํ๋ค. ์ฆ, ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๊ทผํ ์ ์๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค(user interface)๋ฅผ ๋ง๋ ๋ค.
์ง๊ด์ ์ด๊ณ ์ฌ์ด UI ์ ์์ (user interface: ์ฌ์ฉ์ ์ธํฐํ์ด์ค) ํ๋ก ํธ์๋ ๊ฐ๋ฐ์์ ๊ธฐ๋ณธ ์์์ด๋ค.
์น ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ ์น ๊ฐ๋ฐ ๊ธฐ์ ์ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ฉ์์ ์ํตํ ์ ์๋ ์น ํ์ด์ง ์ ์์ ๋ด๋นํ๋ค. ๊ทธ๋์ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์ํต์ ํ์ํ UI์ ์์ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์์ ๊ธฐ๋ณธ ์์์ด๋ค. ๋ฒํผ์ ๋ง๋ค๊ณ , ์ฝํ ์ธ ๊ฐ ๋์ฑ ์ ๋ณด์ด๊ฒ ๋ ์ด์์์ ์ ์ ํ ๋์์ธํ๋ ๊ฒ ๋ชจ๋ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๊ฐ ํด์ผํ ์ผ์ด๋ค.
์ข์ ์ฌ์ฉ์ ๊ฒฝํ (UX; user experience)์ ์ง๊ด์ ์ด๊ณ ์ฌ์ด UI์์ ๋์จ๋ค.
๋ณต์กํ ๋ด์ฉ์ ๋จ์ํ๊ฒ ๊ตฌ๋ถ ์ง๊ณ , ํ์ด์ง๋ฅผ ๋๋์ด ์ฌ์ฉ์๊ฐ ํ ํ์ด์ง์์ ๋ณผ ์ ์๋ ๋ด์ฉ์ ์ ํํ๋ ๊ฒ์ด ์ฌ์ฉ์๊ฐ ํ๋์ ๋ด์ฉ์ ์ง์คํ ์ ์๋๋ก UX๋ฅผ ๊ณ ๋ คํด์ ๋ฆฌ๋์์ธํ๋ ๊ฒ์ด๋ค.
ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๊ฐ ๋๋ ค๋ฉด...
๊ทธ๋์ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๊ฐ ๋๋ ค๋ฉด ์ง๊ธ๊น์ง ๋ค๋ฃฌ ์ฌ๋ฌ ๋ด์ฉ์ ์ค์ ๋ง๋ค์ด์ ์น ํ์ด์ง๋ก ๋ง๋ค ์ ์๋ ๋ฅ๋ ฅ์ด ํ์ํฉ๋๋ค. ์น ํ์ด์ง ์ ์์ ์ํด์๋ ์๋ ์ญ๋์ด ํ์ํฉ๋๋ค.
- ์ปดํฌ๋ํธ ๊ธฐ๋ฅ๋ณ๋ก ๋ฌถ์ด์ ์ ์
- ํ๋ฉด์ ๊ตฌ์ฑ์ด๋ ๋ฐฐ์น (๋ ์ด์์ ๋์์ธ)
- ๊ตต์ ๊ธ์จ์ ๊ฐ์ ํ์ดํฌ๊ทธ๋ํผ์ ์์์ ์ ์ฉํ๋ ์ผ ๋ฑ
๊ทธ๋ฆฌ๊ณ ์๋์ ๋ด์ฉ์ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์์๊ฒ ์์ผ๋ฉด ์ข๊ณ , ์์ด๋ ํฌ๊ฒ ์๊ด์๋ ๋ถ๋ถ์ ๋๋ค.
- ์ ๋ ฌ์ด๋ ๋ฐฐ์์ ๋ํ ๊ฐ๊ฐ
- UX์ ๋ํ์ฌ ๊ณ ๋ฏผํด ๋ณด๊ณ , UX๊ฐ ์ ์ ์ฉ๋ ์น์ด๋ ์ฑ์ ๋ถ์ํด ๋ณธ ๊ฒฝํ
์ ๋ ํฐ๋ ์์ ์ด๋ฆ์ด๋ id, ๋๋ ํด๋์ค๋ฅผ ์ ํํ๋ค.
์ ๋ ํฐ๋ก ํน์ ์์๋ฅผ ์ ํํ๋ค๋ฉด, ์ค๊ดํธ ์์์ ์ด ์์์ ์ ์ฉํ ๋ด์ฉ์ ์์ฑํ๋ค.
์์์ ์ ์ฉํ ์ ์๋ ๋ด์ฉ์ ์์ฑ์ด๋ผ๊ณ ํฉ๋๋ค.
HTML ํ์ผ์ head์ ์๋ ํ๊ทธ๋ฅผ ์ฝ์ ํด์ผ๋ง css๋ฅผ ์ ์ฉํ ์ ์๋ค.
href ๋ค์๋ cssํ์ผ๋ช ์ด ์จ๋ค.
<link rel="stylesheet" href="index.css" />
- ์ ๋ ๋จ์: px, pt ๋ฑ
- ์๋ ๋จ์: %, em, rem, ch, vw, vh ๋ฑ
๋ฐ์ํ ์น์ ๋ง๋ค๋ ํฌ๋กฌ ๋ธ๋ผ์ฐ์ ์์ ๋๋ฐ์ด์ค ๋๋น์ ๋์ด๋ฅผ ์กฐ์ ํด๊ฐ๋ฉฐ ์ด๋ป๊ฒ ๋ณด์ด๋์ง ํ ์คํธํด๋ณผ ์ ์๋ค.
ํ๋ฉด ๋๋น๋ ๋์ด์ ๋ฐ๋ฅธ ์๋์ ์ธ ํฌ๊ธฐ๊ฐ ์ค์ํ ๊ฒฝ์ฐ, vw, vh๋ฅผ ์ฌ์ฉ!
block level ์์ : ์ค๋ฐ๊ฟ์ด ๋๋ค. <h1>, <p>
inline level ์์ : ์ค๋ฐ๊ฟ์ด ๋์ง ์๋๋ค. <span>
๋ฐ์ค๋ฅผ ๋ฒ์ด๋๋ ์ฝํ ์ธ ๊ฐ ์๋ค๋ฉด
css์์ ๐๋ฅผ ์ถ๊ฐํ์! (์คํฌ๋กค์ ํ์ํ๋ค.)
overflow: auto;
๋ ์ด์์ ๋์์ธ ์ฝ๊ฒํ๊ธฐ: ์ฌ๋ฐฑ๊ณผ ํ ๋๋ฆฌ ๋๊ป๋ฅผ ํฌํจํด์ ๋ฐ์ค ํฌ๊ธฐ ๊ณ์ฐํ๊ธฐ
* {
box-sizing: border-box;
}
์์ ์ ๋ ํฐ (<span> ์์์ ์์์ธ <p> ์์๋ ์ ํ๋์ง ์๋๋ค.)
header > p { }
<header>
<p> <!-- ์ ํ -->
<span>
<p></p>
</span>
</p>
<p> <!-- ์ ํ -->
<span>
<p></p>
</span>
</p>
</header>
ํ์ ์ ๋ ํฐ (<header> ์์์ ์์์ธ <p> ์์๋ฅผ ๋ฟ ์๋๋ผ, <header> ์์์ ์์์ ์์์ธ ์๋ <p> ์์๊น์ง ๋ชจ๋ ์ ํ)
header p {}
<header>
<p><!-- ์ ํ -->
<span>
<p><!-- !!์ ํ!! -->
</p>
</span>
</p>
<p><!-- ์ ํ -->
<span>
<p><!-- !!์ ํ!! -->
</p>
</span>
</p>
</header>
์ผ๋ฐ ํ์ ์ ๋ ํฐ (์ ๋ ํฐA์ ํ์ ์์ ์ค ์ ๋ ํฐA ๋ค์ ์์นํ๋ ์ ๋ ํฐB ์์๋ฅผ ๋ชจ๋ ์ ํ)
์
๋ ํฐA ~ ์
๋ ํฐB { }
<body>
<div>A div element.</div>
<ul>
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ul>
<p>The first paragraph.</p>
<ul>
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ul>
<h2>Another list</h2>
<ul>
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ul>
</body>
See the Pen Untitled by HelloHailie (@hellohailie) on CodePen.
์ธ์ ํ์ ์ ๋ ํฐ (์ ๋ ํฐA์ ํ์ ์์ ์ค ์ ๋ ํฐA ๋ฐ๋ก ๋ค์ ์์นํ๋ ์ ๋ ํฐB ์์๋ฅผ ์ ํํ๋ค. A์ B ์ฌ์ด์ ๋ค๋ฅธ ์์๊ฐ ์กด์ฌํ๋ฉด ์ ํ๋์ง ์๋๋ค.)
์
๋ ํฐA + ์
๋ ํฐB {}
<body>
<div>A div element.</div>
<ul>
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ul>
<p>The first paragraph.</p>
<ul>
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ul>
<h2>Another list</h2>
<ul>
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ul>
</body>
See the Pen Untitled by HelloHailie (@hellohailie) on CodePen.
๐๊ฒ์์ผ๋ก ๋ฐฐ์ฐ๋ css๐
'๐Language > HTML & CSS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
CSS ๊ฐ๊ฒฉ์ ๋ง์ถ๊ณ ์ถ์๋ฐ ์๋ฉ๋๋ค..! css ๋ณด๋ผ์ ๋ถ๋ถ ์์ ๊ธฐ (0) | 2022.05.20 |
---|---|
TIL) CSS ๋ ์ด์์, Flexbox, flex : 1? (0) | 2022.05.03 |
TIL) HTML ๊ธฐ๋ณธ ํ๊ทธ ์ ๋ฆฌ, id ์ class, html ์ ์์ (0) | 2022.05.01 |
HTML ๊ธฐ์ด ๊ฐ๋ (0) | 2022.04.26 |
๋ฏธ๋์ด์ฟผ๋ฆฌ๋ก ๋ง๋๋ ๋ฐ์ํ ์น ๋ง๋ค๊ธฐ / ์น ๋์คํ๋ ์ด ํฌ๊ธฐ๋ณ ์ ๋ฐ๊พธ๊ธฐ (0) | 2022.04.20 |