강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

MinGWon님의 프로필 이미지
MinGWon

작성한 질문수

nextjs 화면 작아지면 특정 컴포넌트 사라짐

작성

·

291

0

위쪽이 화면 크기가 줄어들기 전 아래쪽이 화면 크기를 줄이고 난 후 입니다. 왜그럴까요...?

<div className="card" onClick={() => {setColpop(colpop + 1)}} style={{background: "orange", justifyContent:'center', display: "flex"}}>
<h1
style={{color: 'white'}}>콜팝</h1>
</div>
<div
className="card" onClick={() => {setColpop(colpop - 1)}} style={{background: "orange", justifyContent:'center', display: "flex", height: "30px"}}>
<h1
style={{color: 'white'}}>
-
</h1>
</div>
</div>
<TableContainer
style={{display: "block"}}>
<Table
size='lg'>
<Thead
style={{justifyContent: "center"}}>
<Tr>
<Th>
품목</Th>
<Th>
수량</Th>
<Th>
금액</Th>
</Tr>
</Thead>
<Tbody>
<Tr>
<Td>
타로</Td>
<Td>
{taro}</Td>
<Td>
{taro*1000}</Td>
</Tr>
<Tr>
<Td>
주먹밥</Td>
<Td>
{jumuk}</Td>
<Td>
{jumuk*1500}</Td>
</Tr>
<Tr>
<Td>
콜팝</Td>
<Td>
{colpop}</Td>
<Td>
{colpop*1000}</Td>
</Tr>
<Tr>
<Td>
총계</Td>
<Td>
-</Td>
<Td>
{colpop*1000 + taro*1000 + jumuk*1500}</Td>
</Tr>
</Tbody>
</Table>
</TableContainer>

<div
className="cardstyle" style={{display: "block"}}>
<div
className="card" onClick={() => {sendOrder()}} style={{background: "red", justifyContent:'center', display: "flex"}}>
<h1
style={{color: "white"}}>주문</h1>
</div>
<Link
href="/orderAdmin">
<div
className="card" style={{background: "red", justifyContent:'center', display: "flex", height: "30px"}}>
<h1
style={{color: 'white'}}>
관리자
</h1>
</div>
</Link>

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.
MinGWon님, 제공해주신 코드와 설명을 토대로 상황을 파악해보았습니다. 화면 크기가 줄어들면 특정 컴포넌트가 사라지는 문제는 CSS의 미디어 쿼리 또는 반응형 디자인 관련 설정에 의해 발생할 수 있습니다.

주어진 코드에서 display: "flex"와 같은 속성을 사용하고 있고 별도의 미디어 쿼리 설정이 보이지 않기 때문에, CSS에서 별도의 반응형 디자인 처리가 없다면 화면 크기에 따라 컴포넌트가 사라지지 않아야 정상입니다. 하지만 화면 크기가 변할 때 컴포넌트가 사라진다면, 다음과 같은 원인을 고려해볼 수 있습니다.

  1. 해당 컴포넌트를 포함하고 있는 상위 컴포넌트의 스타일이 변경되어 일정 크기 이하에서 display 속성이 none으로 설정되면서 컴포넌트가 숨겨진 경우
  2. CSS 프레임워크를 사용 중이라면, 프레임워크에서 제공하는 클래스나 스타일이 적용되어 반응형으로 컴포넌트가 숨겨지는 경우
  3. JavaScript 또는 CSS에서 별도의 화면 크기 감지 로직을 통해 동적으로 스타일을 변경하여 컴포넌트가 숨겨지는 경우

위 경우들을 확인하기 위해, 컴포넌트의 상위 요소들의 스타일, 사용 중인 CSS 프레임워크의 문서, 그리고 JavaScript의 화면 크기에 따른 처리 로직을 검토해보시기 바랍니다. 디버깅을 위해 개발자 도구의 Console, Elements, 그리고 Styles 탭에서 실시간으로 스타일과 요소의 변화를 살펴보는 것도 도움이 될 것입니다.

MinGWon님의 프로필 이미지
MinGWon

작성한 질문수

질문하기