๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ ๊ณต๋ถ 5์ผ์ฐจ! ์ปดํฌ๋ํธ์ ๊ทธ ์์ฑ๋ค์ ๋ํด ๊ฐ๋จํ ์์๋ณด์์ผ๋, ์ด์ ๋ ๊ทธ ์ปดํฌ๋ํธ๋ค์ ๋ฐฐ์นํ๊ธฐ ์ํด ํ์ํ ์คํ์ผ ์์ฑ๋ค์ ๋ํด ์์๋ณด๋ ์ฐจ๋ก์ด๋ค. ์๋ฐ์คํฌ๋ฆฝํธ ์คํ์ผ ์์ฑ๊ณผ ๊ฑฐ์ ๊ฐ๋ค๊ณ ๋ณด๋ฉด ๋๋, ํ๋ก ํธ ๊ฐ๋ฐ์์ธ ๋ด๊ฒ๋ ์ฑ ๊ฐ๋ฐ์ด ํ์ธต ๋ ์ฌ์ด ๊ฒ ๊ฐ๋ค.
JS style, JavaScript style, React style, ReactNative style, ๋ฆฌ์กํธ๋ค์ดํฐ๋ธ ์คํ์ผ ์์ฑ, flex, height
flex๋?
๋ถ๋ชจ์ปดํฌ๋ํธ์ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ๋น์จ๋ก ๋๋์ด ๋์ด/๋๋น๋ฅผ ์ค์ ํด์ฃผ๋ ๋งค์ฐ ํธ๋ฆฌํ ์ต์ ์ด๋ค. ๋ค์์ ๊ทธ๋ฆผ์ผ๋ก ์ฝ๊ฒ ํ์ธํ ์ ์๋ค.
์๋ฌด๋ฐ ๋์ด ์คํ์ผ์ ์ ์ฉํ์ง ์์ผ๋ฉด ์ปดํฌ๋ํธ๋ ํ์ํ ์ต์ ๋์ด๋ง์ ๊ฐ์ง๊ฒ ๋์ด ๋งจ ์ฒซ๋ฒ ์งธ ๊ทธ๋ฆผ์ฒ๋ผ ์์ด๊ฒ ๋๊ณ , ๋ฐ์ ๋น ๊ณต๊ฐ์ด ์๊ธด๋ค.
๊ทธ๋ฌ๋ Contents์ flex:1 ์์ฑ์ ์ฃผ๊ฒ ๋๋ฉด, ๋ถ๋ชจ ์ปดํฌ๋ํธ(ํฐ ์ฌ๊ฐํ)์ ๋์ด๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ชจ๋ ์ฑ์ฐ๊ฒ ๋ค๋ ๋ป์ธ๋ฐ, ๋ถ๋ชจ ์ปดํฌ๋ํธ์์ ๋ค๋ฅธ ์์ ์ปดํฌ๋ํธ๊ฐ ๋ค์ด์ฌ ๋์ด๋ฅผ ์ ์ธํ ๋ถ๋ถ์ ๋ชจ๋ ์ฑ์ฐ๊ฒ ๋ค๋ ๋ป์ด๋ค.
๊ทธ๋ผ ๋ค์ Bottom์๋ ๊ฐ์ด flex:1 ์์ฑ์ ์ฃผ๊ฒ ๋๋ฉด, Contents์ 1:1 ๋น์จ๋ก ๋ถ๋ชจ ์ปดํฌ๋ํธ๋ฅผ ์ฑ์ฐ๊ฒ ๋๋ค.
๋ถ๋ชจ ์ปดํฌ๋ํธ๊ฐ 120px์ด๊ณ Top์ด 20px์ด๋ผ๋ฉด, ๋ถ๋ชจ(120px)-Top(20px)=๋๋จธ์ง(100px)๋ฅผ Content์ Bottom์ด 1:1๋ก ๋๋์ด์ ๋์ด๋ฅผ ๊ฐ๊ฒ ๋๋ฏ๋ก 50px์ฉ ๊ฐ๊ฒ ๋๋ ๊ฒ์ด๋ค.
๊ทธ๋ผ ๋ค์๊ณผ ๊ฐ์ ์์๋ ํ์ธํ์.
Top์ ์ ์ธํ ๋ถ๋ถ์ Content์ Bottom์ด 1:2 ๋น์จ๋ก ์ฑ์ฐ๊ฒ ๋๋ค.
flex height ์ฐจ์ด์ , flex vs height ?
๊ทธ๋ผ ์ด flex:1์ด height:100%, height:50%์ ๋ฌด์์ด ๋ค๋ฅธ์ง ์์๋ณด๋๋ก ํ๊ฒ ๋ค.
height ์์ฑ์ 300px๊ณผ ๊ฐ์ด ์ ๋ ฅํ ์๋ ์์ง๋ง, ์์ฒ๋ผ ๋ถ๋ชจ์ ๋์ด ๊ธฐ์ค ๋น์จ(%)๋ก ์ค์ ํ ์๋ ์๋ค. flex:1์ด ๋ถ๋ชจ์ปดํฌ๋ํธ๋ฅผ ๋ชจ๋ ์ฑ์ 100%์ ๊ฐ๋ค๊ณ ์๊ฐํ ์๋ ์์ง๋ง ์์ ๊ทธ๋ฆผ์์ ๋ณด๋ฏ์ด ๋ค๋ฅด๋ค.
flex๋ ๋ค๋ฅธ ์์ ์ปดํฌ๋ํธ๋ค์ ๋ชจ๋ ๊ณ ๋ คํ์ฌ ์ ์ธํ๊ณ ์ฑ์์ฃผ์ง๋ง, height ์์ฑ์ ๋๋ณด๋ค ์๋์ ์๋ ์์๋ค์ ๊ณ ๋ คํ์ง ์๊ธฐ ๋๋ฌธ์ Bottom์ด ๋ณด์ด์ง ์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
๋ง์ฝ ์คํฌ๋กค ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด height:100%๊ฐ ๋ง๋ค. ๊ทธ๋ฌ๋ ํ ํ์ด์ง์ ๋ชจ๋ ๋ณด์ฌ์ฃผ๊ณ ์ถ๋ค๋ฉด flex:1์ ์ฌ์ฉํ์.
flexDirection ?
flex์ ๊ธฐ์ค์ ์ธ๋กcolum / ๊ฐ๋กrow ๋ก ์ง์ ํ ์ ์๋ค. ๊ทธ ์์ฑ๋ช ์ ๋ฐ๋ก flexDirection.
๊ธฐ๋ณธ ๋ํดํธ ๊ฐ์ colum์ผ๋ก ๋์ด๋ก ์ง์ ๋์ด ์๋ค. ๊ฐ๋ก๋ก ์ง์ ํ๊ณ ์ถ๋ค๋ฉด flexDirection:'row'๋ฅผ ์ ๋ ฅํด์ฃผ๋ฉด ๋๋ค.
์ด๋ฅผ ์ด์ฉํด์ ์ํ๋ ๋ ์ด์์์ ์ง์ ์ก์๋ณด๊ธธ ๋ฐ๋๋ค.
์ถ์ฒํ๋ ๋ฐ๋, Top๊ณผ Bottom ๋ถ๋ถ์ ์ง์ ์ํ๋ px์ height ์์ฑ์ ์ ๋ ฅํ์ฌ ๋ฃ์ด์ฃผ๊ณ , Contents ๋ถ๋ถ์ ์ธ๋ถํ ํ์ฌ flex๋ก ๊ตฌ๋ถ ํด ์ฃผ๋ ๊ฒ์ด๋ค. ๊ทธ๋ผ ํํ์ด์ง์ ์คํฌ๋กค ์์ด ๊น๋ํ ๋ ์ด์์์ ๋ง๋ค ์ ์๋ค.
๋๊ธ