Jieunny์ ๋ธ๋ก๊ทธ
Unit5. HTML/CSS ํ์ฉ ๋ณธ๋ฌธ
๐ฃ ์์ด์ด ํ๋ ์
์น ๋๋ ์ฑ์ ๊ฐ๋ฐํ ๋ ๋ ์ด์์์ ๋ผ๋๋ฅผ ๊ทธ๋ฆฌ๋ ๋จ๊ณ
๋จ์ํ ์ ์ด๋ ๋ํ์ผ๋ก ๋จ์ํ ๊ตฌ์กฐ๋ง ๋ณด์ฌ์ฃผ๊ธฐ
ํ์ฐ์ ์์ญ์ ๊ตฌ๋ถํ๋ ์ผ
โฐ ๊ฐ ์์ญ์์ ์ฌ์ฉํ ์ฃผ์ ํ๊ทธ ์ ๊ธฐ
๐ฃ ๋ชฉ์ (Mock-up)
์ค์ ์ํ์ด ์๋ํ๋ ๋ชจ์ต๊ณผ ๋์ผํ๊ฒ HTML์ ์์ฑ
ํ๋์ฝ๋ฉํ๋ ๋ฐฉ์
โฐ ๋ณ์๋ฅผ ํ๋ํ๋ ์ ๋ ฅํด์ฃผ๋ ๋ฐฉ๋ฒ
๐ฃ HTML ๊ตฌ์ฑํ๊ธฐ
โ๏ธ ์์ง๋ถํ & ์ํ๋ถํ
1. ์์ง๋ถํ : ํ๋ฉด์ ์์ง์ผ๋ก ๊ตฌ๋ถํด์ ์ฝํ ์ธ ๊ฐ '๊ฐ๋ก'๋ก ๋ฐฐ์น๋๊ฒ ํ๋ค.
2. ์ํ๋ถํ : ๋ถํ ๋ ๊ฐ๊ฐ์ ์์๋ฅผ ๊ตฌํ์ผ๋ก ๊ตฌ๋ถํด์ ๋ด๋ถ ์ฝํ ์ธ ๊ฐ '์ธ๋ก'๋ก ๋ฐฐ์น๋๊ฒ ํ๋ค.
1, 2๋ฅผ ์ฐจ๋ก๋ก ์งํํ๋ค.
โ๏ธ ๋ ์ด์์ ๋ฆฌ์
HTML ํ๊ทธ๋ค์ด ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ์ง๊ณ ์๋ ์คํ์ผ์ ์ด๊ธฐํ ํด์ฃผ๋ ๊ฒ
* {
box-sizing : border-box;
}
body {
margin: 0;
padding: 0;
}
๐ฃ Flexbox๋ก ๋ ์ด์์ ์ก๊ธฐ
๋ฐ์ค๋ฅผ ์ ์ฐํ๊ฒ ๋๋ฆฌ๊ฑฐ๋ ์ค์ฌ ๋ ์ด์์์ ์ก๋ ๋ฐฉ๋ฒ
โ๏ธ display : flex
๋ถ๋ชจ ๋ฐ์ค์ display : flex ๋ฅผ ์ ์ฉํด์ ์์ ๋ฐ์ค์ ๋ฐฉํฅ๊ณผ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ ํ๋ ๋ฐฉ๋ฒ
<main>
<div>box1</div>
<div>box2</div>
<div>box3</div>
</main>
main {
border : 1px dotted red;
}
div {
border : 1px solid green;
}
* {
margin: 10px;
padding: 10px;
}
main {
display: flex;
border: 1px dotted red;
}
โ๏ธ ๋ถ๋ชจ ์์์ ์ ์ฉํด์ผํ๋ Flexbox ์์ฑ
1. flex-direction : ์ ๋ ฌ ์ถ ์ ํ๊ธฐ
โฐ row : ์ผ์ชฝ๋ถํฐ ๊ฐ๋ก๋ก ๋ฐฐ์น
โฐ column : ์์์๋ถํฐ ์ธ๋ก๋ก ๋ฐฐ์น
โฐ row-reverse : ์ค๋ฅธ์ชฝ๋ถํฐ ๊ฐ๋ก๋ก ๋ฐฐ์น
โฐ column-reverse : ์๋๋ถํฐ ์ธ๋ก๋ก ๋ฐฐ์น
2. flex-wrap : ์ค ๋ฐ๊ฟ ์ค์ ํ๊ธฐ
ํ์ ์์๋ค์ ํฌ๊ธฐ๊ฐ ์์์์๋ฅผ ๋์ผ๋ฉด ์๋์ผ๋ก ์ค๋ฐ๊ฟ์ ํ ๊ฒ์ธ๊ฐ?
์ค์ ํด์ฃผ์ง ์์ผ๋ฉด ์ค๋ฐ๊ฟX
โฐ nowrap(๊ธฐ๋ณธ๊ฐ) : ์ค๋ฐ๊ฟ ํ์ง ์์.
โฐ wrap : ์์์๋ถํฐ ๊ฝ ์ฑ์ฐ๊ณ ์๋๋ก ๋ณด๋.
โฐ wrap-reverse : ์๋๋ถํฐ ๊ฝ ์ฑ์ฐ๊ณ ์๋ก ๋ณด๋.
3. justify-content : ์ถ ์ํ ๋ฐฉํฅ ์ ๋ ฌ (๊ฐ๋ก์ถ)
์์ ์์๋ค์ ์ถ์ ์ํ ๋ฐฉํฅ์ผ๋ก ์ด๋ป๊ฒ ์ ๋ ฌํ ๊ฒ์ธ๊ฐ?
โฐ flex-start(๊ธฐ๋ณธ๊ฐ) : ์์๋ค์ ์ปจํ
์ด๋์ ์ผ์ชฝ์ผ๋ก ์ ๋ ฌ
โฐ flex-end : ์์๋ค์ ์ปจํ
์ด๋์ ์ฐ์ธก์ผ๋ก ์ ๋ ฌ
โฐ center : ์์๋ค์ ์ปจํ
์ด๋์ ์ค์์ผ๋ก ์ ๋ ฌ
โฐ space-between : ์์๋ค ์ฌ์ด์ ๋์ผํ ๊ฐ๊ฒฉ์ ๋๋ค.
โฐ space-arount : ์์๋ค ์ฃผ์์ ๋์ผํ ๊ฐ๊ฒฉ์ ๋๋ค.
4. align-items : ์ถ ์์ง ๋ฐฉํฅ ์ ๋ ฌ (์ธ๋ก์ถ)
์์ ์์๋ค์ ์ถ์ ์์ง ๋ฐฉํฅ์ผ๋ก ์ด๋ป๊ฒ ์ ๋ ฌํ ๊ฒ์ธ๊ฐ?
โฐ flex-start : ์ปจํ
์ด๋์ ์ต์๋จ์ผ๋ก ์ ๋ ฌ
โฐ flex-end : ์ปจํ
์ด๋์ ์ตํ๋จ์ผ๋ก ์ ๋ ฌ
โฐ center : ์ปจํ
์ด๋์ ์ธ๋ก ์ถ์ ์ค์์ผ๋ก ์ ๋ ฌ
โฐ baseline : ์ปจํ
์ด๋์ ์์์์น์ ์ ๋ ฌ
โฐ stretch(๊ธฐ๋ณธ๊ฐ) : ์ปจํ
์ด๋์ ๋ง๊ฒ ๋๋ฆฐ๋ค.
โ๏ธ ์์ ์์์ ์ ์ฉํด์ผํ๋ Flexbox ์์ฑ
1. flex ์์ฑ์ ๊ฐ
flex : grow(ํฝ์ฐฝ์ง์) shrink(์์ถ ์ง์) basis(๊ธฐ๋ณธ ํฌ๊ธฐ)
// ๊ธฐ๋ณธ๊ฐ 0 1 auto;
โฐ grow : ์์์ ํฌ๊ธฐ๊ฐ ๋์ด๋ ๋ ์ผ๋ง๋ ๋์ด๋ ๊ฒ์ธ๊ฐ.
์ ๋ ฌ์ถ ๋ฐฉํฅ์ผ๋ก ๋น ๊ณต๊ฐ์ด ์์ ๋ ์ผ๋ง๋ ๋์ด๋์ ๋จ๋ ๊ณต๊ฐ์ ์ฐจ์งํ ๊ฒ์ธ์ง์ ๋น์จ
โฐ shrink : ์์์ ํฌ๊ธฐ๊ฐ ์ค์ด๋ค ๋ ์ผ๋ง๋ ์ค์ด๋ค ๊ฒ์ธ๊ฐ.
์ฌ์ฉํ๋ ๊ฒ ์ถ์ฒX , ๊ทธ๋ฅ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋ฌ๋ผ.
โฐ basis : ์์์ ๊ธฐ๋ณธ ํฌ๊ธฐ๋ ์ผ๋ง์ธ๊ฐ.
grow๋ shrink์ ์ํด ๋์ด๋๊ฑฐ๋ ์ค์ด๋ค๊ธฐ ์ ์ ํฌ๊ธฐ
๐จ flex-grow ์์ฑ์ ๊ฐ์ด 0์ธ ๊ฒฝ์ฐ์๋ง flex-basis ์์ฑ์ ๊ฐ์ด ์ ์ง๋๋ค!
โฐ width < flex-basis
โฐ ์ฝํ
์ธ ๊ฐ ๋ง์ ์์ ๋ฐ์ค๊ฐ ๋์น๋ ๊ฒฝ์ฐ, width๋ฅผ ๋ณด์ฅํ ์ ์๋ค.
โฐ flex-basis ๋ฅผ ์ฌ์ฉํ์ง ์์ ๊ฒฝ์ฐ width ๋์ max-width๋ฅผ ์ฌ์ฉํด ๋์น๋ ๊ฒฝ์ฐ๋ฅผ ๋๋นํ ์ ์๋ค.
'CodeStates > learning contents' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Unit7. [Linux&Git ๊ธฐ์ด] ํจํค์ง์ ํจํค์ง ๋งค๋์ (0) | 2022.12.21 |
---|---|
Unit7. [Linux&Git ๊ธฐ์ด] CLI, ๊ถํ, ๊ฒฝ๋ก (0) | 2022.12.21 |
Unit4. CSS ๊ธฐ์ด (0) | 2022.12.16 |
Unit3. HTML ๊ธฐ์ด (0) | 2022.12.16 |
Unit2. [JS]์กฐ๊ฑด๋ฌธ & ๋ฐ๋ณต๋ฌธ & ํจ์ (0) | 2022.12.16 |