์๋ ํ์ธ์ Foma ๐ป ์ ๋๋ค.
์ค๋์ CSS์์ ์ฝ๊ฒ ๋ ์ด์์์ ํ ์ ์๋ Flex์ ๋ํด ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
๋ฐ๋ก ์์ํ ๊ฒ์~
flex-basis
ํ๋ ์ค ์์ ์๋ ์์์ ๊ธฐ๋ณธ ํฌ๊ธฐ๋ฅผ ์ค์ ํ๋ ์์ฑ
<!DOCTYPE html>
<html>
<head>
<style>
#main {
width: 300px;
height: 100px;
border: 1px solid #c3c3c3;
display: flex;
}
#main div {
flex-grow: 0;
flex-shrink: 0;
flex-basis: 50px;
}
#main div:nth-of-type(2) {
flex-basis: 100px;
}
</style>
</head>
<body>
<div id="main">
<div style="background-color:coral;">50px</div>
<div style="background-color:lightblue;">100px</div>
<div style="background-color:khaki;">50px</div>
</div>
</body>
</html>
1. px์ด๋ em์ผ๋ก ์ง์ ์ง์ ํ๊ธฐ
ํ๋์ ๋ฐ์ค 300px๋ก ๋๋ฆฌ๊ธฐ
(์ฌ๊ธฐ์ nth-of-type(2)๋ flex์์ ์๋ ์์ ์ค 2๋ฒ์งธ๋ฅผ ์๋ฏธํฉ๋๋ค.)
flex-basis: 300px;
ํ์ง๋ง ๊ธ์์ ๊ธธ์ด๋ณด๋ค ์งง๊ฒ ์ง์ ํ์ ๋ ๊ธ์ ๊ธธ์ด ๋งํผ๋ง ์กฐ์ ๋ฉ๋๋ค.
2. ํค์๋๋ก ์ง์ ํ๊ธฐ
ํค์๋๋ก ์ง์ ํ๊ธฐ ์ํด์ ํ๋์ ๋ฐ์ค์ ํ ์คํธ ๊ธธ์ด๋ฅผ ๋๋ฆฌ๊ฒ ์ต๋๋ค.
<div style="background-color:lightblue;">
abcdefg
hijklmnop
qrstuvwxyz
</div>
1. fill
ํ ์คํธ ๊ธธ์ด์ ๋ฑ ๋ง๊ฒ ์กฐ์ ๋ฉ๋๋ค.
flex-basis: fill;
2. max-content
์ฌ์ฉ๊ฐ๋ฅํ ๊ณต๊ฐ์ด ๋ฌดํํ ๋ ํ ์คํธ ๊ธธ์ด์ ๊ฐ์ฅ ์ด์์ ์ธ ํฌ๊ธฐ๋ก ์กฐ์ ๋ฉ๋๋ค. (์ปจํ ์ด๋๋ฅผ ๋์ด์๋ ๊ฒ๋ ๊ฐ๋ฅ)
flex-basis: max-content;
3. min-content
ํ ์คํธ๊ฐ ์๋ฆฌ์ง ์๋ ์ ์์ ์ต์์น๋ก ์ค์ด๋ญ๋๋ค.
flex-basis: min-content;
4. fit-content
์ปจํ ์ด๋ ํฌ๊ธฐ์ ํ ์คํธ ๊ธธ์ด์ ๋ฐ๋ผ ์ด์์ ์ผ๋ก ํฌ๊ธฐ๋ก ์กฐ์ ๋ฉ๋๋ค.
flex-basis: fit-content;
5. auto
ํ ์คํธ์ ๊ธธ์ด์ ์ต๋ ๊ธธ์ด์ ๋ฐ๋ผ ์กฐ์ ๋ฉ๋๋ค.
flex-basis: auto;
๋จ, auto๋ฅผ ์ง์ ํ๊ณ width๊ฐ์ ์ง์ ํ์ ๊ฒฝ์ฐ width๊ฐ์ผ๋ก ์กฐ์ ๋ฉ๋๋ค.
flex-basis: auto;
width:10px;
6. content
์ปจํ ์ธ ์ ๊ธธ์ด์ ๋ฐ๋ผ ์กฐ์ ๋ฉ๋๋ค.
flex-basis: content;
content๋ auto์ ๋ค๋ฅด๊ฒ width๊ฐ์ ์ง์ ํด๋ ์ปจํ ์ธ ์ ๊ธธ์ด๋ก ์ ์ง๋ฉ๋๋ค.
flex-basis: content;
width: 10px;
flex-direction
์ปจํ ์ด๋ ๋ด์ ์์ดํ ์ ๋ฐฐ์นํ ๋ ์ฌ์ฉํ ๋ฐฉํฅ์ ์ง์ ํ๋ ์์ฑ
(์๋ฌด๊ฒ๋ ์ง์ ํ์ง ์์์ ๋ ๊ธฐ๋ณธ์ row์ ๋๋ค.)
1. row
flex-direction:row;
2. row-revese
flex-direction: row-revese;
3. column
flex-direction: column;
4. column-reverse
flex-direction: column-reverse;
flex-grow
์ปจํ ์ด๋ ๋ด์์ ํ ๋น ๊ฐ๋ฅํ ๊ณต๊ฐ์ ์ ๋๋ฅผ ๋น์จ๋ก ์ค์ ํ๋ ์์ฑ
A,C = 1 , B = 2 (1:2:1)
#main div {
flex-grow: 1;
}
#main div:nth-of-type(2) {
flex-grow:2
}
flex-shrink
์ปจํ ์ด๋์ ๊ฐ์ด ์ถฉ๋ถํ์ง ์์ ๋ ๋จผ์ ์ค์ด๋ค ๋น์จ์ ์ค์ ํ๋ ์์ฑ
์ ์ฒด ์ปจํ ์ด๋ width๊ฐ 300px์ด๊ณ ๊ฐ ์์ดํ ์ width๊ฐ 150px์ผ ๋
A,C = 1 , B = 2
#main div {
flex-basis: 150px;
flex-shrink: 1;
}
#main div:nth-of-type(2) {
flex-basis: 150px;
flex-shrink:2
}
๋ง์ฝ ์ ์ฒด ์ปจํ ์ด๋ width๊ฐ ์ถฉ๋ถํ๋ค๋ฉด ์ ์ฉ ์๋จ.
#main div {
flex-basis: 100px;
flex-shrink: 1;
}
#main div:nth-of-type(2) {
flex-basis: 100px;
flex-shrink:2
}
flex
์ปจํ ์ด๋ ์์ ์์ดํ ์ด ์ฐจ์งํ๋ ๊ณต๊ฐ์ ๋ง์ถ๊ธฐ ์ํด ํฌ๊ธฐ๋ฅผ ํค์ฐ๊ฑฐ๋ ์ค์ด๋ ๋ฐฉ๋ฒ์ ์ค์ ํ๋ ์์ฑ
flex๋ ์์์ ์ค๋ช ํ flex-basis,flex-grow,flex-shrink๋ฅผ ํ๋ฒ์ ์ค์ ํ ์ ์์ต๋๋ค.
1. 1๊ฐ์ง ์ค์ ํ ๊ฒฝ์ฐ
์ซ์๋ก ์ค์ ํ ๊ฒฝ์ฐ๋ flex-grow๋ฅผ ์ค์ ํ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค.
#main div {
flex:1
}
#main div:nth-of-type(2) {
flex:2
}
px์ด๋ em ๋๋ %๋ก ์ค์ ํ ๊ฒฝ์ฐ๋ flex-basis์ ๊ฐ์ต๋๋ค.
#main div {
flex:30px
}
#main div:nth-of-type(2) {
flex:50px
}
2. 2๊ฐ์ง ์ค์ ํ ๊ฒฝ์ฐ
์ฒซ ๋ฒ์งธ ๊ฐ์ ์ซ์์ฌ์ผ ํฉ๋๋ค. (px or em or % ๋ถ๊ฐ)
์ซ์์ ๋จ์๋ก ์ค์ ํ ๊ฒฝ์ฐ๋ flex-grow์ flex-basis ์ ๋๋ค.
#main div {
flex:1 50px
}
#main div:nth-of-type(2) {
flex:2 50px
}
์ซ์์ ์ซ์๋ก ์ค์ ํ ๊ฒฝ์ฐ flex-grow์ flex-shrink๊ฐ ๋ฉ๋๋ค.
#main div {
flex:1 1
}
#main div:nth-of-type(2) {
flex:2 2
}
3. 3๊ฐ์ง๋ก ์ค์ ํ ๊ฒฝ์ฐ
flex-grow flex-shrink flex-basis๊ฐ ๋ฉ๋๋ค.
#main div {
flex:1 1 150px
}
#main div:nth-of-type(2) {
flex:2 2 150px
}
flex-wrap
์์ดํ ๋ค์ด ๊ฐ์ ๋ก ํ์ค์ ๋ฐฐ์น๋๊ฒ ํ ๊ฒ์ธ์ง, ๊ฐ๋ฅํ ์์ญ ๋ด์์ ๋ฒ์ด๋์ง ์๊ณ ์ฌ๋ฌ ํ์ผ๋ก ๋๋์ด ํํํ ๊ฒ์ธ์ง ๊ฒฐ์ ํ๋ ์์ฑ
1. wrap
#main {
width: 300px;
height: 100px;
border: 1px solid #c3c3c3;
display: flex;
flex-wrap: wrap;
}
#main div {
flex:1 1 150px
}
#main div:nth-of-type(2) {
flex:2 2 150px
}
2. nowrap
...
flex-wrap: nowrap;
...
3. wrap-reverse
...
flex-wrap: wrap-reverse;
...
flex-flow
flex-direction๊ณผ flex-wrap์ ํ๋ฒ์ ์ค์ ํ๋ ์์ฑ
ํ์์ flex-direction์ ๋จผ์ ์ฐ๊ณ flex-wrap์ ๋ค์ ์จ์ผํฉ๋๋ค.
1. row wrap
...
flex-flow:row wrap;
...
2. row nowrap
...
flex-flow:row nowrap;
...
3. row wrap-revese
...
flex-flow:row wrap-reverse;
...
4. column wrap
...
flex-flow:column wrap;
...
5. column nowrap
...
flex-flow:column nowrap;
...
6. column wrap-reverse
...
flex-flow:column wrap-reverse;
...
'๐ Language > HTML&CSS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CSS] ์ปฌ๋ฌ์ ๊ดํ ์์ฑ ์์๋ณด๊ธฐ (List of color properties) (0) | 2022.02.22 |
---|---|
[CSS] CSS๋? (feat. ๊ตฌ๋ฌธ ์์ฑํ๋ ๋ฐฉ๋ฒ) (0) | 2022.02.22 |
๋๊ธ