flexbox와 grid
이런 사이트를 만든 적이 있는데요,
가로나 세로 단일방향에 대한 것(음료/푸드/상품탭)은 display : flex; 로 하는게 맞는거고
저는 그당시 테두리 있는 박스 두개를 먼저
display : grid; justify-content : center; 를 주고,
내부에 개별 이미지들을
display: flex; flex-wrap: wrap; justify-content: flex-start; 이렇게 줬었더라고요
오늘 수업에 따르면 이미지 배치는 행과 열이니까
display : grid; 로 두고 행, 열, 여백 등을 지정해서 4열xn행
이렇게 되게 코드를 짰어야 하는걸까요?
저 프로젝트할때는 저게 최선인거 같았는데 css 다시 공부하면서 꺼내보니까 왜 저렇게 했었는지도 기억이 안나네요ㅠ
답변 2
0
레이아웃을 짜는데 정답은 없습니다! 그리드든 플렉스는 애초에 어떤 구성을 기획하셨는지가 제일 중요해요. 그 모양으로 만들 수 있다면 그리드를 썼다고 틀린 것은 아닙니다. 또한 모바일에 대한 반응형 처리를 어떻게 할지에 따라 달라질 수 있습니다. 위와 같은 디자인은 전부 플렉스로 잡아도 충분할 것 같습니다 ^^
한 마디로 그리드든 플렉스는 2개 다 반드시 잘 알고 계셔야 하고, 어떤 걸 쓰더라도 본인이 생각한 레이아웃을 잡을 수 있으면 되기 때문에 어떤 식으로 레이아웃을 잡아야 하는지 다양한 옵션에 대한 이해가 기본 되어야 합니다. 다만 추천을 드리자면, 그냥 가로든 세로든 쌓여 있기만 하면 된다면 플렉스를, 조금 독특한 구조의 레이아웃을 구성해야 하거나, 완전 표 형식의 규칙적인 데이터를 다룰 때는 그리드를 사용하시면 더 좋습니다.
0
안녕하세요, 인프런 AI 인턴입니다.
Flexbox와 Grid 모두 modern CSS 레이아웃을 위한 강력한 도구입니다. Flexbox는 주로 1차원 레이아웃을 위해 설계되었으며, 콘텐츠를 한 축(수평 또는 수직)으로 정렬할 때 적합합니다. 반면 Grid는 2차원 레이아웃을 위한 것으로 행과 열을 모두 다룰 때 유용합니다.
hoje님의 내용을 바탕으로 볼 때, 상품 탭 같은 가로 나열 구조는 display: flex;를 사용하는 것이 좋은 선택입니다. 테두리 있는 박스를 중앙에 위치시키기 위해 display: grid; justify-content: center;을 사용한 것도 적절하게 접근하셨어요.
반면 내부 이미지들의 배치는 행과 열 구조를 지니고 있다면 display: grid;를 사용하여 행, 열, 그리고 여백을 설정하는 것이 더 직관적일 수 있으며, 레이아웃을 더 세밀하게 제어할 수 있습니다. 현재 프로젝트를 다시 보면서 이전에 작성했던 CSS 코드가 최적의 방법이 아닐 수도 있다고 느끼셨지만, 그 당시의 상황이나 의도에 따라 그런 결정을 하셨을 가능성도 있습니다. 학습을 통해 더 나은 레이아웃 패턴을 알게 되면, 그 지식을 바탕으로 이전 프로젝트를 리팩토링 하거나 새롭게 개선해 볼 수도 있겠죠.
CSS는 다양한 방법으로 동일하거나 유사한 결과를 얻을 수 있기 때문에, 여러 방법을 실험하며 가장 적합한 방법을 찾는 것이 중요합니다. 그 과정에서 많은 것을 배울 수 있으니 걱정하지 말고 계속 학습하시길 권장합니다.
궁금증을 해결하는 데 도움이 됐길 바랍니다.
css box-sizing 관련 질문
0
5
1
여태 만들던걸 다른 도메인으로 옮길 수도 있을까요?
0
6
1
node.js 설치 (LTS버전)
0
5
0
Cursor & Antigravity 소개 및 설치
0
8
1
뉴스페이퍼 테마 관련
0
15
1
지우지 말아야할걸 지운상태로 저장해버렸어요....
0
14
1
24번 수업에 나온 창은 무슨 프로그램인가요
0
16
1
Desktop모드-header영역 제작에서 제공해드린 폰트와 이미지
0
18
1
span 태그에 여백이 들어간 것 같은데 왜 그런건가요?
1
44
5
1-2 주가 데이터 수집 (OHLCV) 강의 질문 드려요
0
40
2
뉴스페이퍼 스킨을 꼭 사야하나요? 링크주소도 못찾겠어요
0
37
2
자료실
1
36
2
저는 일단 워드프레스로 블로그를 만들어 보려고
0
25
2
cafe24에서 했다가 fastcomet으로 변경하려 하는데요 문제가 생겼습니다
0
30
2
html / css 기초는 있습니다..
0
50
2
ReactScriptExample 관련 질문
0
38
1
class 이름을 section__title이라고 짓는 것에 대해서
0
51
2
수업자료와 노션 공유 문제
0
64
3
'CSS Level 3: grid'의 정리본 PDF도 올려주시면 좋을 듯 합니다.
0
60
2
경력기술서는 어떤 방향이 좋을까요?
0
63
2
왜 https://via.placeholder.com/150 등 링크가 연결이 안되나요?
0
78
3
#21 그리드 강의 정렬 관련 속성
0
340
2
img와 video태그를 붙일 때
0
677
2
와진짜 이해 너무잘되요
1
387
1





