• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

display:flex의 의미

23.11.01 21:45 작성 조회수 194

0

제가 섹션4까지 듣고 카운트다운 코드를 다시 보며 복습하고 있는데 style.display = flex가 이 섹션 4까지의 코드에서 어떤 맥락으로 사용됐는지가 이해가 잘 가지 않아 이 부분을 여쭤보고 싶습니다. 자바 스트립트 관련 여러 문서들을 참고하니 자바스크립트에서 flex의 의미는 css에서와 크게 다르지 않게 요소의 display 속성(인라인or블록 요소인지 등등)을 설정한다는 것을 이해했습니다. 그러나 아래의 코드 부분을 보다가 의문이 생겼습니다.

if (remaining <= 0) {
    container.style.display = 'none';
    messageContainer.innerHTML = '<h3>타이머가 종료되었습니다.</h3>';
    messageContainer.style.display = 'flex';
    setClearInterval();
    return;
  } else if (isNaN(remaining)) {
    container.style.display = 'none';
    messageContainer.innerHTML = '<h3>유효한 시간대가 아닙니다.</h3>';
    messageContainer.style.display = 'flex';
    setClearInterval();
    return;
  }

display:none은 요소를 숨겨준다는 의미로 이해하기 쉬웠지만 display = flex의 뜻을 알고 보니 messageContainer.style.display = flex는 어떤 의미로 사용된 것인지 감이 잘 안 잡힙니다 ㅠㅜ. 위에 innerHTML에 값을 할당한 것으로 충분하다고 생각했는데 왜 flex가 선언되는지 이유를 알고 싶습니다!

답변 1

답변을 작성해보세요.

1

안녕하세요! uaho021225님!

아래쪽 starter 함수 부분에서 display: none 을 주어서 messageContainer 부분을 숨겨줬었어요!

따라서 현재 올려주신 코드상의 함수에서 messageContainer에 innerHTML 로 값을 넣어주었지만, 화면에는 여전히 display: none 상태이므로 안보여지고 있겠죠!

 

이러한 이유에서 display: none이 아닌 다른 값, block, flex, 등등을 주시게 되면 display: none이 풀리게 되니 화면에 보여지게 되는 것이랍니다!^^

 

여기서 flex는 수많은 옵션중 하나가 될 뿐이구요! flex가 중요하지는 않습니다.
block 등 다른 것을 사용하셔두 돼요!
이유는 display: none을 벗어나기 위함! 아시겠죠!