๋ฉ์์ด ์ฌ์์ฒ๋ผ๐ฆ ํ๋ก ํธ์๋ ์ค์ฟจ 1๊ธฐ 1์ฃผ์ฐจ(๋ชฉ) ํ๊ณ - November 4, 2021
๋ผ์ด์บฃ์ ๋๊ฒฝํ๋ ๋ชจํ๋ฅ
๊ธ ๊ฐ์ต๋ ์ 1ํ ์์ ๋ง์ ์บ๋ฆญํฐ ๊ทธ๋ฆฌ๊ธฐ ๊ฒฝ์ง๋ํ !
์ค๋ ์์
์์ ๋ฐฐ์ด CSS position
ํ๋กํผํฐ์ relative
์ absolute
๊ฐ์ ์ด์ฉํด์ ๋ง๋๋ ๊ฑฐ์๋ค.
๊ฐ์ฌํ๊ฒ๋ ์ด๋ค ๋ถ์ด ๊ณต์ ํด์ฃผ์ css๋ก ๋ผ์ด์ธ ๊ทธ๋ฆฌ๊ธฐ ๋งํฌ๋ฅผ ์ ์ฌ ์๊ฐ ํ์ ํด๋ด์ ๊ฐ์ ์ก์๋ค. ๊ทธ ๋๋ถ์ ๋คํํ ์ค๋ ๊ฑธ๋ฆด ๊ณผ์ ๐ฅ๋ฅผ ๋ด ๊ธฐ์ค ๋น๊ต์ ๋นจ๋ฆฌ ๋๋๋ค.
๊ณผ์ ๋๋ ๋ค ์๋ฒ์ง ์์ ์ด๋ผ ์ง์ ๋ค๋ ์ค๊ณ ๋์, ๋ค๋ฅธ ๋ถ๋ค์ด ๋ง๋ ์บ๋ฆญํฐ ๊ตฌ๊ฒฝํ๋ค๊ณ ๊ฝค ์ค๋ ๋์ ๋๊ณ ์์๋ค. ๋ค๋ค ์ค๋ ฅ๊ณผ ์ผ์ค๊ฐ ์์ฒญ๋์ ๋ฉ๋๋ ธ๋ค. CSS ๊ณ ์๋๋ค์ด ์ผ๋ง๋ ๋ง์์งใ ใ ใ ์... ๋ฐฐ์ธ ์ ๋ค์ด ๋ง์ด ๋ณด์ฌ์ ๋ ๋ฆ๊ฒ ์ ์ถํ ๊ฑธ ์ถ๊ธฐ๋ ํ๋ค.
๊ทธ๋๋ ๋ ๋ด ๋ชจํ๋ฅ์ด ๋ง์ ๋ ๋ค ๐
์์ผ๋ก ์์
๋ค์ผ๋ฉด ๋ชจ๋ฅด๋ ๋ด์ฉ ํฌ์ฑ์ด๋ผ ๋ชจํ๋ฅ.. ๊ฑฐ๋ฆฌ๋ฉด์ ๋ณผ ๊ฒ ๊ฐ์๋ฐ, ์ ์ ๋๋ ์ฐจ๋ฆฌ๊ณ ์ด์ฌํ ์ซ์๊ฐ์ผ ํ๋ค!
์ค๋ ์์
์ด๋ ต๊ธด ํด๋ ๋๋ฌด ์ฌ๋ฐ์๋ค.
์ด์ ๋ฐฐ์ด CSS ํํธ ์ ๋ฆฌ๋ฅผ ์ค๋ ํฉ์ณ์ ํ๋ ค๋ ๋ด์ฉ์ด ๋๋ฌด ๋ง์์ก๋ค... ๋ณต์ต ๋ ๋ณต์ต โผ
์์ผ๋ก ๊ตฌ์กฐ ์งค ๋๋ง๋ค ์์ฃผ ์ฐธ๊ณ ํ๊ฒ ๋ ๊ฒ ๊ฐ๋ค :) section ์์ section์ ๋ฃ๋ ๊ฒ์ ์ด๋ก ์ ์ผ๋ก๋ ๊ฐ๋ฅํ๋ ์ ์ฐ์ด์ง ์๋๋ค๊ณ ํ๋ค.
์ฌ์ค ์ด์ ์ฐ๋ฆฌ ์กฐ์์ ๊ณ ๋ฏผํ๋ ๋ด์ฉ์ธ๋ฐ ์ด๋ ๊ฒ ๋ณด๊ธฐ ์ข๊ฒ ๋ง๋ค์ด์ฃผ์
์ ๋๋ฌด ๊ฐ๋๋ฐ์๋ค ๐ญ
์ ๋ง ์ค๋๋ ํ๋ฃจ์ข
์ผ ๋๊ผ์ง๋ง ์ํตํ๋ ๊ฐ์... ์ต๊ณ ๋ค. ์ ์ฝ๋ฒ ๊ฐ์ฌ๋ ๋ฉํ ๋๋ค๊ป ์ง์ฌ์ผ๋ก ๋๋ฌด ๊ฐ์ฌํ๋ค. ๋๋ง ์ํ๋ฉด ๋๋ค.
!important
์ฌ์ฉ์ ๋์ ์ต๊ด.@import url(reset.css);
๋ก ํ์ผ ๋ถ๋ฌ์ค๋ฉด<link>
๊ฐ ์์ !<link rel="stylesheet" href="reset.css" />
font-size
๊ธฐ์ค ๋ฐฐ์จ<html>
์ด๊ธฐ ๋๋ฌธ์ html ๊ธฐ์ค ๋ฐฐ์จfont-size
๊ฐ 10px์ด๊ณ , div์ font-size
๊ฐ 2em์ผ ๋, 3๋ฒ ์ค์ฒฉ๋ ๊ฐ์ฅ ์์ชฝ <div>
์ ํฐํธํฌ๊ธฐ๋ 80px์ด ๋๋ค.<body>
<div>
<!-- 10px * 2 = 20px -->
<div>
<!-- 20px * 2 = 40px -->
<div>
<!-- 40px * 2 = 80px -->
hello world
</div>
</div>
</div>
</body>
font-size
๊ธฐ๋ณธ๊ฐ 16px, font-weight
๊ธฐ๋ณธ๊ฐ 400<h1>
์ font-size
๊ธฐ๋ณธ๊ฐ 2em, font-weight
๊ธฐ๋ณธ๊ฐ 700 (bolder)box-sizing: border-box;
๋ฅผ ์ฐ๋ฉด margin์ ์ ์ธํ border ๊ธฐ์ค ๋ฐ์ค ํฌ๊ธฐ๊ฐ ์ค์ ํ ๊ฐ๋ก์ธ๋ก ๊ธธ์ด์ ๋ง์ถฐ์ง๋ค. ํ์ง๋ง border์ padding ํฌ๊ธฐ๊ฐ ์ค์ ํ ์ ์ฒดํฌ๊ธฐ๋ฅผ ๋์ผ๋ฉด ๊นจ์ง๊ฒ ๋๋ค.margin-bottom
์ด 20px์ด๊ณ margin-top
์ด 10px์ด๋ฉด,margin-top
์ด๋ margin-bottom
๊ฐ์ด ๋ถ๋ชจ ๋์ด์ ์ํฅ์ ๋ฏธ์น์ง ์์ ๋overflow
, (2)display: inline-block;
, (3)border
๊ฐ๋ค์ ์ ์ฉํด๋ณผ ์ ์๋ค. ์ํฉ์ ๋ง๊ฒ!position
๊ธฐ์ตํ๊ธฐ โญ๐โabsolute
์ ๊ธฐ์ค์ ์ด ๋๋ ๊ฒ์ ์๋์์น relative
๋ค. ๋ฌธ์ ๋๊น์ง ์ฐพ์๊ฐ๋๋ฐ ๋ถ๋ชจ ์ค์ relative
๊ฐ ์๋ค๋ฉด ์ ์ฒด body๊ฐ ๊ธฐ์ค์ ์ด ๋๋ค.relative
๋ static
(์๋ ์์ ์ด ์์ด์ผ ๋๋ ์์น)์ ๊ธฐ์ค์ด ๋๋ค.relative
)๋ ๋ณธ๋ ์์ด์ผ ํ๋ ์๋ฆฌ ๊ธฐ์ค! ์ ๋์์น(fixed
,absolute
)๋ ์ง์ ๋ ๋ถ๋ชจ๊ฐ ๊ธฐ์ค. fixed
๋ ๋ฌด์กฐ๊ฑด <body>
๊ฐ ๋ถ๋ชจ๋ก ์ง์ ๋์ด ์๊ณ , absolute
๋ ์ง์ ๋ ๋ถ๋ชจ๋ฅผ ๋ฐ๋ฅธ๋ค.absolute
๋ ๋ถ๋ชจ ์ค์ position
์ด static
์ด ์๋ ๋ถ๋ชจ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ก๋๋ค. (relative
,absolute
,fixed
์
์ค ํ๋!!)absolute
์ ๋ฐ๋ก ์ขํ๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด ์์ ์ ์์น์ ์๋ค. absolute
์ ์์น๋ฅผ ์ ํด์ฃผ๋ ์๊ฐ๋ถํฐ ๋ถ๋ชจ์ static
์๋ ์์๊ฐ ์์ผ๋ฉด body๋ฅผ ์ฐธ์กฐํด์ ์ด๋ํ๋ค!sticky
๋ ๋ถ๋ชจ์ scroll ๋ฐ์ค ์์์ ๊ณ ์ ๋๋ค.z-index
z-index
๋ ์ซ์๊ฐ ๋์์๋ก ์ฐ์ ์์๊ฐ ๋์์ง๋ค. ๋ง์ด๋์ค ๊ฐ๋ ๊ฐ๋ฅํ๋ค.z-index: 0;
์ ์๊ธฐ๊ฐ ์์ด์ผ ํ๋ ์๋ฆฌ. ํ์ฌ ์์ ๋งฅ๋ฝ์์ ์์ ์ ์์น.float
๋ ๊ฐ์ฒด๋ฅผ ๊ฐํธํ๊ฒ ๋์์ ์ ๋ ฌํ ์ ์์ง๋ง, ์์ ์์์ float ์์ฑ์ ์ฃผ๊ฒ ๋๋ฉด ๊ทธ ๋์์ง ์ํ๋ฅผ ๋ถ๋ชจ๋ ์บ์นํ์ง ๋ชปํ๋ค. ๋ถ๋ชจ wrap ๋ฐ์ค์ overflow: hidden;
์ ์ธ์ ์ฃผ์. (์ง๋ ์ฃผ๋ง ์ ๋ฆฌ๊ธ ์ฐธ๊ณ )<a>
๋ก ์ด๋ํ ์ ์๊ฒ id๋ฅผ ์ฐ๊ณ , ๋ฌธ์์ style์ ๋๋ ๋ class๋ฅผ ์ฐ๋ ๋ฐฉ๋ฒ ์ฐธ๊ณ !background-image: url();
์ ์ธ์ ํ๊ณ , dynamicํ ์ด๋ฏธ์ง๋ <img>
ํ๊ทธ๋ก ๋ฃ์ด์ค๋ค. (BE/DB ์์
ํธ์์ฑ์ ์ํด)<link>
๊ฐ ์ข์ง๋ง ํฐํธ๋งํผ์ @import
๋ฅผ ์ฐ๋ ํธ์ด๋ค.:root {
--main-color: value;
}
div {
background-color: var(--main-color);
}
width: 50%;
๋ ํ๋ฉด์ ์ ๋ฐ์ด ์๋๋ผ ๋ถ๋ชจ ๋๋น์ ์ ๋ฐ.selector
์ด์ ๋ฆฌ๋ ์ฃผ๋ง์ ๋ฐ๋ก TIL ๊ธ์ ํ๋ณด๋ ค๊ณ ํ๋ค.selector
์ฒ์ ์ ํ์ ๋ ์์ฒญ ์ฐ์ตํ๋ ์ฌ์ดํธ! ๋ ์ฐ์ตํ์. ์ต์ํด์ง ๋๊น์ง.1) https://specificity.keegan.st/ ์ฐ์ ์์ ์ ์ ๊ณ์ฐ
2) https://meyerweb.com/eric/tools/css/reset/ reset CSS
3) https://stackoverflow.com/questions/1022695/difference-between-import-and-link-in-css @import์ link ์ฐจ์ด ์ง๋ฌธ๊ธ
4) https://developer.mozilla.org/ko/docs/Web/CSS/position relative์ absolute