ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๋ฌธ์ œ

์›ํ‹ฐ๋“œ ํ”„๋ฆฌ์˜จ ๋ณด๋”ฉ ์„ ๋ณ„ ๊ณผ์ œ์—์„œ Nav๋ฅผ ์ œ์ž‘ํ•˜๋Š” ์ค‘, ๋ ˆ์ด์•„์›ƒ ๊ตฌ์„ฑ ๋ชฉ์ ์œผ๋กœ flex ๊ด€๋ จ ์†์„ฑ๋“ค์„ ๊ณ„์† ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

๋””์ž์ธ์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์— ์žˆ์–ด์„œ ๋ฌธ์ œ๋Š” ์—†์ง€๋งŒ ๋ฐ˜๋ณต๋˜๋Š” ์ฝ”๋“œ๋ฅผ ์ค„์—ฌ ์Šคํƒ€์ผ์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๊ณ ๋ฏผํ•˜๊ฒŒ ๋˜์—ˆ๊ณ  scss์—์„œ variable์„ ๋ณ„๋„๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ณตํ†ต ์Šคํƒ€์ผ ์†์„ฑ์„ ์ •์˜ํ–ˆ๋˜ ๊ฒƒ๊ณผ ๊ฐ™์ด styled-components์—์„œ ์‚ฌ์šฉํ•  ๋ณ€์ˆ˜ ๋ชจ์Œ ๊ฐ์ฒด์ธ theme์„ ์ด์šฉํ•˜์—ฌ flex ๊ด€๋ จ minin ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด๊ธฐ๋กœ ํ•˜์˜€๋‹ค.

 

Code

themeProvider๋กœ ์ „์—ญ ๋ณ€์ˆ˜๋กœ ์‚ฌ์šฉ๋˜๋Š” theme ๋‚ด๋ถ€์— flex ์†์„ฑ์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” mixin ์†์„ฑ์„ ํ•จ์ˆ˜ ํ˜•ํƒœ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜ํ•˜์˜€๋‹ค.

const theme = {    
  flexMinin: (direction = 'row', justify = 'center', align = 'center') => `
    display: flex;
    flex-direction: ${direction};
    justify-content: ${justify};
    align-items: ${align};
  `,
};

 

flex๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ํ”ํžˆ ์‚ฌ์šฉํ•˜๋Š” ์†์„ฑ๋“ค์„ ์ธ์ž๋กœ ๋ฐ›๊ณ  ๊ธฐ๋ณธ์œผ๋กœ ์š”์†Œ๊ฐ€ ์ค‘์•™ ์ •๋ ฌ์ด ๋˜๊ฒŒ๋” ๊ด€๋ จ ๊ฐ’๋“ค์„ ์˜ค๋ฒ„๋กœ๋”ฉํ•˜์—ฌ ์ฃผ์—ˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  styled-component ๋‚ด์—์„œ ํ•ด๋‹น minin ํ•จ์ˆ˜๋ฅผ ์˜๋„์— ๋งž๊ฒŒ ์ธ์ž๋ฅผ ๋„ฃ์–ด ํ˜ธ์ถœํ•˜์—ฌ flex ์Šคํƒ€์ผ์„ ์ ์šฉํ•˜์—ฌ ์ฃผ์—ˆ๋‹ค.

const LeftContainer = styled.div`
  ${({ theme }) => theme.flexMinin('row', 'space-between')}
`;
// ์˜ค๋ฒ„๋กœ๋”ฉ์œผ๋กœ ์ธํ•ด ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์„ค์ •๋œ flex box๋ฅผ ์„ค์ • ๊ฐ€๋Šฅ
const UserFigure = styled.figure`
  ${({ theme }) => theme.flexMinin()}; 
`;
๋Œ“๊ธ€
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
TAG
more
ยซ   2024/10   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ