Hello creators ๐
[HTML&CSS] 02. ๊ฒ์ํ ๋ง๋ค๊ธฐ (feat. html, css ์ ํ์, css link, css input ํ๊ทธ) ๋ณธ๋ฌธ
[WEB & AI] (feat. ์ทจ์ค)/๋ธ๋ก์ฒด์ธ ๊ฐ๋ฐ์ ๊ณผ์ _KGA
[HTML&CSS] 02. ๊ฒ์ํ ๋ง๋ค๊ธฐ (feat. html, css ์ ํ์, css link, css input ํ๊ทธ)
๋ถ์๋งค๋_HA 2023. 3. 7. 21:44728x90
๋ฐ์ํ
1๏ธโฃ ์ด๋ฒ ํ์ฐจ ํ์ต ๋ชฉํ (goal)
๋ฐฐ์ฐ๊ณ ์ ํ๋ ๊ฒ
- ๊ฒ์ํ 3๊ฐ ๋ง๋ค์ด๋ณด๊ธฐ
- css ๋ฐ html ๊ธฐ๋ณธ ๊ฐ๋
2๏ธโฃ ์์ ๋ด์ฉ ์ ๋ฆฌ
[1๊ต์]
๊ฐ๋ฐ์ ๋๊ตฌ์์ shift + ํ ํ์ฉํด์ -> ์์น ๋ณ๊ฒฝํ๊ธฐ
- '๊ฐ๋ฐ์ ๋๊ตฌ' ์์ -> ๊ณ ์ณ์ผ ํ๋ ๋ถ๋ถ ํด๋ฆญ -> shift ๋๋ฅด๊ณ + ๋ง์ฐ์ค ํ -> 10 ๋จ์ ์ฉ ์์น๊ฐ ๋ณ๊ฒฝํจ.
1. box sizing
- ๊ธฐ๋ฅ
- ๊ทธ๋ฅ div ์ div ๋ฅผ ๋ง๋ค๋ฉด -> ๋ฑ ๋ถ์ด ์๊ฒ ๋จ
- div + border ๋ div + border ์ฃผ๋ฉด -> border ๋งํผ ๋จ์ด์ ธ ์๊ฒ ๋จ
- box sizing ์ ๊ฐ์ธ์ฃผ๋ฉด -> border ๋ฅผ ๋ฃ์ด๋, ๊ทธ ์์ผ๋ก ๋ฑ ๋ค์ด๊ฐ๊ฒ ๋จ. โญโญโญโญโญ
- ์๋ฅผ ๋ค์ด์
- div ์ width ๋ฅผ 100 ์ผ๋ก ์ฃผ๊ณ , border (1px ์) ๋ฅผ ์ฃผ๋ฉด -> ์ด ํด๋น div ๋ 101px ์
box-sizing: border-box;
๋ฅผ ๋จน์ด๋ฉด -> border ๊ฐ div ๋ด๋ถ์ ์๊น -> so, ์ด div ํ๊ทธ๋ ์ฌ์ ํ 100px ์ด๊ณ , ์ ์ border ์ด์ธ์ ์์ญ์ 98px ์.
- ๋ฌธ์ ์ํฉ
- ์ฐ์ , ๊ตต๊ธฐ๋ ๋ค ๋ง์ท์. ๊ทผ๋ฐ, ์ด์ง ์์ ธ๋์จ๊ฒ ์์. ์ด๊ฑฐ๋ box-sizing ์ผ๋ก ํ๋๊ฑด๊ฐ?
- ์ฐธ๊ณ ์ฝ๋
/* โญโญโญ ์ด๊ฑธ ํด์ผ ์์ ธ๋๊ฐ์ง ์์ โญโญโญ */
box-sizing: border-box;
border: 1px solid;
border-top: 0;
border-left: 0;
2. div ํ๊ทธ
์์ฒด์ ๊ธฐ๋ณธ ๋ด์ฅ ์์ฑ ๋ฐ reset CSS
- div ํ๊ทธ๋ง ์ผ๋๋ฐ, display - block ์ด๋ผ๋ ์์ฑ(attribute) ์ด ์กํ๋ ์ํฉ
- ์ด๋ ๊ฒ ๊ธฐ๋ณธ ์์ฑ์ด ํ์์๋ ๊ฒฝ์ฐ ->
reset css
๋ช ๋ น์ด๋ฅผ ์จ ์ค๋ค. - ์์ง ๋ฐฐ์ฐ์ง ์์๊ณ , ์์ผ๋ก ๋ฐฐ์ธ ๊ฒ์.
3. display - block
๊ณผ inline - block
์ฐจ์ด
- display ์ ๊ธฐ๋ฅ
- div ํ๊ทธ์ style ์์ฑ์ ๋ํํ๋ '๊ฐ' ์ผ๋ก์จ, ํด๋น ํ๊ทธ์ ๋
ธ์ถ ํฌ๊ธฐ๋ฅผ ์ด๋ป๊ฒ ํ ์ง ๋ฅผ ๊ฒฐ์ ํ๋ ์ญํ
- 1์ค ํต์งธ๋ก ์ฐจ์ง
- ๋จ์ ๊ณต๊ฐ์ ์ ํ๊ทธ์๊ฒ ์๋ณด ํ ์ง
- 1์ค ํต์งธ๋ก ์ฐจ์ง
- div ํ๊ทธ์ style ์์ฑ์ ๋ํํ๋ '๊ฐ' ์ผ๋ก์จ, ํด๋น ํ๊ทธ์ ๋
ธ์ถ ํฌ๊ธฐ๋ฅผ ์ด๋ป๊ฒ ํ ์ง ๋ฅผ ๊ฒฐ์ ํ๋ ์ญํ
- display - block ์ฝ๋
- ํ์ค ํต์งธ๋ก ์ฐจ์งํจ
- ๋ถ๋ชจ ํ๊ทธ์ ๋๋น ๋งํผ ๋จน๋๋ค. โญโญโญ
<div style="width: 500px;">
<div style="display: block;"> </div>
</div>
- inline - block ์ฝ๋
- ์ด์ธ์ ๋ถ๋ถ์ ์๋ณด
- ๋ํ์ ๋๋์ด ๋๊ณ ์ถ์ผ๋ฉด, inline-block ์ ์จ์ผ ํจ
- display-flex ๋ฅผ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ โญโญโญโญโญ
<div style="width: 500px;">
<div style="display: inline-block;"> </div>
</div>
- (์์ 2)
<!-- ๐ต ๋ ๋ฒ์งธ,
์ด๋ ๊ฒ ํ๋ฉด -> ์๊ธฐ๊ฐ ์๋๋ผ๋ - ๋ถ๋ชจ์ ํฌ๊ธฐ๋ฅผ ์์ ์ด ๊ฐ์ ธ์ - ๋จ์ด์ง๊ฒ ๋จ
์ธ๋ผ์ธ ๋ธ๋ก ๋จน์ด๋ฉด -> ์์ ์ ํฌ๊ธฐ ๋งํผ ์ฐจ์ง ํจ -->
<div style="width: 100%;">
<div style="width: 200px; height: 200px; border: 1px solid; display:inline-block; "> </div>
<div style="width: 200px; height: 200px; border: 1px solid; display:inline-block;"> </div>
</div>
4. display - flex
โญโญโญโญโญ (ํด๋น div ์ด์ธ์ ์์ญ์ 1) block 2) inline 3) flex ์ฌ๋ถ
- display ๋?
- ํด๋น ํ๊ทธ๋ฅผ ์ด๋ป๊ฒ ๋ณด์ฌ์ค ๊ฒ ์ธ๊ฐ์ ๋ํ ์์ฑ๊ฐ
- display - flex ๋?
- ์ฌ์ ๊ณต๊ฐ์ผ๋ก ๋ฃ๊ฒ ํ๋๋ฐ ์์ด์ ๊ต์ฅํ ๋ค์ํ๊ณ , ์ ์ฐํ ์ต์ ์ ์ ๊ณตํจ
- ์ฝ๊ฒ ๋งํ๋ฉด, ๋ํ์ ์์ผ๋ก ๋๋ํ ๋๊ณ ์ถ์ ๋, inline-block ๋ณด๋ค ํจ์ฌ ์ฌ์
- ์์ ์ฝ๋
<!-- div ํ๋๋ฅผ ๋ง๋ค์์. > ๊ทธ ์์ ์๋ ๊ฑด ์ด์ผ ๋ณด์ฌ์ค๊ฑฐ์ผ? block, inline, flex
flex ๋ฅผ ํ๋ค๋ฉด, ๊ทธ ์์ ์์ฌ๊ณต๊ฐ์ ์์ ํ๊ทธ๋ค๋ก ์ ์ฐํ๊ฒ ๋ณด์ฌ์ง๊ฒ ๋จ. -->
<div style="display: flex;">
<div style="width: 200px; height: 200px; border: 1px solid;"> </div>
<div style="width: 200px; height: 200px; border: 1px solid;"> </div>
<div style="width: 200px; height: 200px; border: 1px solid;"> </div>
</div>
- ์ฝ์ด๋ณด๊ธฐ
div
ํ๊ทธ๋ฅผ ์จ์ -> ์ด๋ค ์์ญ์ ํ๋ ์ง์ ํ์ดstyle
์์ฑ์ ์จ์ -> ๋ญ๊ฐ๋ฅผ ๋ณ๊ฒฝํ๊ฒ ๋ค?display ์์ฑ๊ฐ
: ๊ทธ๋ฌ๋ฉด, ์ง๊ธ div ์ด์ธ์ ๋๋จธ์ง ๋ถ๋ถ ์ ์ด์ผ ํ ๊ฑฐ์ผ?- block ์ฒ๋ฆฌ ํ ๊ฑฐ์ผ?
- inline ์ผ๋ก ๋ค์ด์ค๊ฒ ํ ๊ฑฐ์ผ?
- ๋ ์์ ๋กญ๊ฒ ๋๋๊ฑฐ์ผ?
- ์ง๊ธ์ flex ํ๊ฒ ๋๊ฑฐ์ผ!
- ๊ทธ ๋ค์
div
๋ก border ๊ฐ 1px ์ธ div ๋ฅผ ๊ทธ๋ฆฐ๋ค.
- ๊ทธ๋ฌ๋ฉด, ์ด๋ป๊ฒ ์ ๋ ฌ์์ผ?
- ๋ค์ํ ๋ชจ์์ด ์๋๋ฐ, ์ด๋ป๊ฒ ์ ์ฉ์์ผ?
- ๊ฐ๋ฐ์ ๋๊ตฌ ไธญ flex ๋ฅผ ๋๋ฅด๋ฉด -> ๋ค์ํ ๋ชจ์ต์ ํ์ธํ ์ ์์.
- ์๋ฅผ ๋ค์ด
display - flex - wrap
์ ์ฐ๋ฉด, ์๋๋ก ๋จ์ด์ง.
5. width: 100%
๋ฅผ ํ๋ฉด -> ๋ถ๋ชจ ํ๊ทธ์ 100% ๋งํผ์ ์๋ฏธ ํจ (์๋์ ์ธ ๊ฐ์ด ๋ค์ด๊ฐ) โญโญ
<div style="width: 100%;">
- (์ฝ๋ ๋ณด๋ฉด์ ๋ถ์กฑํ๊ฑฐ ๋ ์ถ๊ฐ ํ ๊ฒ)
- ํ์์ฑ
- ๋ฐ์ํ ์น์ ๋ง๋ค ๋ ํ์ํจ.
[2๊ต์]
1. id ๊ฐ class ๋ณด๋ค ๋จผ์ ๋จน๋๋ค. โญ๏ธโญ๏ธโญ๏ธ
id
๋ ๋ฑ ํ๋. id ๋ ์ ๊ธฐ๋ค ์ด๋ฆ ๋ฑ ํ๋.class
๋ ๋ฐ ์์ด๋ค์ด ๋ง์์. ๊ทธ๊ฑธ ๋ฐ ์ด๋ฆ์ผ๋ก ๋ถ๋ฅด๋๊ฑฐ์ง.
- ์... ์์ง ๋ชป ํด๋ด.
2. *
์ ํ์๋ ๋ชจ๋ ํ๊ทธ์ ์คํ์ผ์ ์ ์ฉ์ํจ๋ค.
- ์์ง ๋ชป ํด๋ด.
3. ๊พธ๋ฐ๊ฑฐ์ผ. '๋ฌด์์ ๋ํด์?' -> ์ด์ ๋ํ ๋ต์ด Selector
โ
03_2๊ต์, 3๊ต์_์์
ํ๊ธฐ
ํ์ผ ์ฐธ๊ณ โญโญโญโญโญโญโญโญ๐๐๐
1) ํ๊ทธ์ id ๋ฅผ ์ค์ ํ๊ณ -> ํด๋น id ๋ฅผ ๋ถ๋ฌ์ -> ๊พธ๋ฏผ๋ค.
- ํ๊ทธ์ id ์ค์
- ํด๋น id ๋ถ๋ฌ์ -> ๊พธ๋ฏผ๋ค.
<head>
<style>
/*id ์ ํ์๋ css ์์ฑํด์ # ์ ์์ ๋ถ์ฌ์ค๋ค. */
#test{
color: red;
}
<style>
</head>
2) ํ๊ทธ์ class ์ค์ ํ๊ณ -> ํด๋น class ๋ถ๋ฌ์ -> ๊พธ๋ฏผ๋ค. ( โญ๏ธ ์ฃผ๋ก ์ด ๋ฐฉ๋ฒ! )
3) ๋ค๋ฅธ ๊ฒฝ์ฐ์ ์ (๐ฅ ์์ ๋ฅผ ํด๋ด์ผ ํจ)
#๐๐๐_๋ณด์ํ์_์๋ชจ๋ฅด๊ฒ ์
4. ๋ฉ๋ดํ ๋ง๋ค๊ธฐ
- ๋ง๋ค์ด์ผ ํ๋ ๊ฑฐ
- ๋ฉ๋ดํ ๋ง๋ค๊ธฐ
- ์์ ๋ฉ๋ด๋ ํ๋์ ๋ฌถ์์ผ๋ก ๋ง๋์ธ์ (์์ญ)
- ๋ฉ๋ด ๋ฐ์ผ๋ก, ์์ ์ด๋ฆ, ๊ฐ๊ฒฉ, ํ๋ฉด์ด ์ค์ด๋ค๋ฉด, ๋ฐ์ผ๋ก ๋จ์ด์ ธ์ ๋์ด
- ๊ฐ๊ฒฉ
- ํฌ์ธํธ
- ๋จ์ด์ง๋ ๊ฒ = flex wrap ์ผ๋ก ๊ตฌํ
- ๋ ์ด์์์ ์์ ๊ฒ ๋ถํฐ ๋ง๋ค์ด์ ํฐ ๋ฐฉํฅ์ผ๋ก ๋ป์ด์ ธ ๊ฐ๊ธฐ
#โ ๏ธ_์ถ๊ฐ๋กํด๋ณด๋ฉด์ข์๊ฒ๊ฐ์_
[3๊ต์]
1. css ๋ฅผ link ํ์ฉํด์ ๊ฐ์ ธ์ค๊ธฐ
<!-- CSS ์ฝ๋๋ฅผ ์์ฑํ๋ ๋์ , ์ธ๋ถ ํ์ผ์ ์ด๊ณณ์ ๋ฃ์ด์ฃผ๊ธฐ -->
<!-- link ํ๊ทธ๋ ์ธ๋ถ css ํ์ผ์ด๋, โ
(ํค์๋) favicon ์ ๋ถ๋ฌ์ฌ ๋, ์ฃผ๋ก ์ฌ์ฉ
ํ๋น์ฝ์ : ๋ธ๋ผ์ฐ์ ์ ์์ด์ฝ ์ด๋ฏธ์ง.
โ
์ ๋ฆฌํ ๋, ํค์๋๋ ๋ฃ์. ์ฐ๋ฐ์ ์ด๋ค.
./ ์ด๋ ๊ฒ ์ฐพ์๊ฐ๋ ๊ฒ ๐๐ -->
<link rel="stylesheet" href="./style.css">
<!--
ํ์ผ ๋ถ๋ฆฌ ๋ฐฉ์์ ์ค์ต โญโญ
main.css ๋ก ํ์ผ ๋ง๋ค๋ฉด -> main page ์ ๋ง ์ ์ฉ
common.css ๋ก ํ๋ฉด -> ๋ชจ๋ ์ ์ฉ
๊ด๋ฆฌ ์ฝ๊ฒ ํ ์ ์์. -->
[๊ณผ์ - ๊ฒ์ํ 3๊ฐ ๋ง๋ค๊ธฐ]
1. ํด์ผ ํ๋ ๊ฒ
- ํ์ด์ง 3๊ฐ ๋ง๋๋๋ฐ
- css ํ์ผ์ 3๊ฐ
- ๊ฐ๊ฐ์ ํ์ด์ง(์ด 3๊ฐ) ๋ง๋ค, ํ๊ทธ์ ์ง์ ์คํ์ผ ์ฃผ์ง ๋ง์ธ์
- css ํ์ผ link ๋ก ๊ฐ์ ธ์์(๋ถ๋ฌ์์) ์ฌ์ฉ
- class ๋ก ์์ / ํ๊ทธ์ class ์์ฑ ์ถ๊ฐํด์ ์์
- ์์ธํ ๋ณด๊ธฐ์ ํ์ดํ๋ ๋นผ๊ธฐ - ๋ฃ์๊ฑฐ๋ฉด ์ด๋ฏธ์ง
2. ํฌ์ธํธ
- ๋จ๊ณ ๋ณ๋ก ์ ๊ทผํ ๊ฒ โญโญโญโญโญโญโญโญโญโญโญโญโญโญโญโญโญโญโญ
- ๊ณผ์ ํ ๋ ํฌ์ธํธ โญ๏ธโญ๏ธโญ๏ธ
div
๋ฐ ํ๊ทธ์ ์๊ณ๋ฅผ ์ ์๊ฐ- display flex ๋ฅผ ํ์ฉ
- ํ ์คํธ๋ฅผ ๊ฐ์ด๋ฐ๋ก ์ค๊ฒ ํ๊ณ ์ถ์ผ๋ฉด -> display flex ๋ฅผ ์จ์ผ ํ๋๋ฐ -> ๊ทธ๋ฌ๋ ค๋ฉด, ํ๊ทธ๋ก ๊ฐ์ธ์ ธ ์์ด์ผ ํจ
3. ๋ฌธ์ ์ํฉ ๋ชจ์
1) ์ ์ด ๊ฒน์น๋ ๋ฌธ์
- ๋ฌธ์ ์ํฉ
4. ์๋ชป ์ดํด ํ๋ ๊ฒ ๋ฐ ์๋กญ๊ฒ ๋ฐฐ์ด ๊ฒ
border-collapse: collapse;
์ด๊ฑด, table ๋ง๋ค ๋ ๋จน๋ ๊ฒ ์
- ํด๋์ค๋ฅผ ๋ง๋ค ๋, ๊ทธ ํ๊ทธ ๋ฐ์ ์๋ ํด๋์ค โญโญโญโญโญ
- ์ด๊ฑธ ํ์ฉํ๋ ๊ฒ ์ฒ๋ผ ๋ง๋ค๋ฉด ๋จโญโญโญโญโญ โโโโโ
5. ๊ต์๋ ๊ฐ์ด๋
- `box-sizing: border-box;`` box sizing ์ ์ก์์ฃผ๊ธฐ
์ค์ต์ div ๊ทธ๋ฆฌ๋ฉด ๊ทธ ์์ฒด๋ก ํ๋์ ๋ฐ์ค๊ฐ ์๊น ์ฌ๊ธฐ์ border ๊ทธ๋ฆฌ๋ฉด, ์ ๋งํผ ์์ผ๋ก ๋จ์ด์ง - > ๊ทธ๋์ ์ด์ง ๋จ์ด์ง๊ฒ ๋จ. border-top ์ ํ๋ฉด -> ๋จ์ด์ง ๋ถ๋ถ์ด ๋ถ๊ฒ ๋จ.
border-top: 0;
์ด๊ฑธ๋ก -> ํ์ํ ๋ถ๋ถ๋ง ์ ๊ทธ์ด์ฃผ๊ธฐ โญ๏ธโญ๏ธโญ๏ธโญ๏ธโญ๏ธ #๐ค_๋ฐฐ์ด๊ฒ_WIL๊ทธ ๋ค์์, border ์๋ฆฌ์ฆ๋ก ๋ง๋ค์ด์ฃผ๊ธฐ
ํด๋ณด๊ธฐ
- ์ฐ์ , ๊ตต๊ธฐ๋ ๋ค ๋ง์ท์. ๊ทผ๋ฐ, ์ด์ง ์์ ธ๋์จ๊ฒ ์์. ์ด๊ฑฐ๋ box-sizing ์ผ๋ก ํ๋๊ฑด๊ฐ?
box-sizing: border-box;
โญโญโญโญโญ ์ด๊ฑธ ํด์ผ ์์ ธ ๋๊ฐ์ง ์์
6. ์ถ๊ฐ์ ์ผ๋ก ํ๋ฉด ์ข์ ๊ฒ
1) ์์ ์ ํ์ ํ์ฉํด์ ์ ํํ๋๊ฑฐ ํด๋ณด๊ธฐ
2) ๊ธ์ ๋์ด๊ฐ๋๊ฑฐ hidden ํ์ฉํด์ ํด๋ณด๊ธฐ
#โ ๏ธ_์ถ๊ฐ๋กํด๋ณด๋ฉด์ข์๊ฒ๊ฐ์_
3) ์ด๋ฏธ์ง ๋ฃ๋๊ฑฐ ํด๋ณด๊ธฐ
- ์ด๋ชจ์ง๋ฅผ ๋ฃ๊ณ ์ถ์๋ฐ... ์ฐ์ ์ด๋ ๊ฒ ๊น์ง ๋ฐ์ ์ ๋จ.
โ ์ถ๊ฐ๋ก ํด์ผํ ๊ฒ
03_2๊ต์, 3๊ต์_์์ ํ๊ธฐ
ํ์ผ ์ฐธ๊ณ โญโญโญโญโญโญโญโญ ํด์ -> ์์ ์ ํ์ ๊ฐ์ ๊ฒ ํด๋ณด๊ธฐ โญโญโญโญโญโญโญโญ- ์ฌ๊ธฐ ์ดํ๋ถํฐ๋ ์ฐ์ ์์ฝํด๋ด.
--- ## ์ฐธ๊ณ ์๋ฃ - KGA_๊ฒฝ์ผ๊ฒ์์์นด๋ฐ๋ฏธ_๋ธ๋ก์ฒด์ธ๊ณผ์ _WEEK01_HTML ---
728x90
๋ฐ์ํ
'[WEB & AI] (feat. ์ทจ์ค) > ๋ธ๋ก์ฒด์ธ ๊ฐ๋ฐ์ ๊ณผ์ _KGA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Comments