프론트엔드 개발 · 중급
반응형 웹 디자인(Responsive Web Design)을 구현하기 위한 핵심적인 CSS 기술들을 설명하고, 특히 `viewport` 메타 태그와 미디어 쿼리(Media Queries)를 활용하여 다양한 디바이스와 화면 크기에 대응하는 전략을 구체적으로 설명해주세요.
힌트 · 유연한 그리드/이미지, 미디어 쿼리를 통한 스타일 조정, `meta viewport` 태그의 역할 등 주요 개념을 설명하고, 모바일 우선 접근 방식의 이점을 언급하세요.
viewport미디어 쿼리CSS 그리드플렉스박스유동형 레이아웃
모범답안
반응형 웹 디자인 구현의 핵심은 유동적인 레이아웃과 미디어 쿼리를 활용하는 것입니다. 먼저, viewport 메타 태그를 사용하여 브라우저가 페이지를 디바이스 폭에 맞춰 렌더링하도록 설정합니다. <meta name="viewport" content="width=device-width, initial-scale=1.0"> 와 같이 설정하면 됩니다.
다음으로, 미디어 쿼리를 사용하여 화면 크기에 따라 CSS 스타일을 조정합니다. 예를 들어 @media (max-width: 768px) { ... } 와 같이 특정 화면 크기 이하에서만 적용되는 스타일을 정의할 수 있습니다.
CSS 그리드나 플렉스박스를 사용하여 유동적인 레이아웃을 구성하고, 이미지 역시 max-width: 100%; height: auto; 와 같이 설정하여 화면 크기에 맞춰 자동으로 조정되도록 합니다.
모바일 우선 접근 방식을 사용하면 작은 화면에서 먼저 콘텐츠를 최적화하고, 큰 화면에서는 추가적인 스타일을 적용하여 사용자 경험을 향상시킬 수 있습니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 HTML / CSS 면접 질문
- Flexbox와 CSS Grid는 모두 레이아웃을 구성하는 강력한 도구입니다. 두 기술의 주요 차이점은 무엇이며, 각각 어떤 상황에서 더 적합하게 사용될 수 있는지 구체적인 사용 사례를 들어 설명해주세요.
- CSS `position` 속성 중 `static`이 아닌 다른 값을 가질 때 형성되는 포지셔닝 컨텍스트(Positioning Context)에 대해 설명하고, `z-index` 속성이 이 컨텍스트 내에서 어떻게 동작하는지 구체적인 예시와 함께 설명해주세요.
- CSS 가상 클래스(Pseudo-classes)와 가상 요소(Pseudo-elements)의 차이점을 설명하고, 각각을 실제 웹 개발에서 어떤 목적으로 활용할 수 있는지 2가지 이상의 구체적인 예시를 들어 설명해주세요.
- Sass나 Less와 같은 CSS 전처리기(CSS Preprocessors)를 사용하는 주된 이점은 무엇이며, 실제 프로젝트에서 어떤 기능(예: 변수, 믹스인, 중첩 등)들을 활용하여 CSS 개발의 효율성과 유지보수성을 높일 수 있는지 설명해주세요.
- 대규모 웹 애플리케이션에서 CSS를 효과적으로 관리하고 확장하기 위한 아키텍처 패턴(예: BEM, SMACSS, OOCSS) 중 하나를 선택하여 설명하고, 해당 패턴을 실제 프로젝트에 적용했을 때의 장점과 한계점을 구체적인 사례와 함께 논해주세요.
- 웹 페이지 로딩 성능 최적화를 위해 Critical CSS를 추출하고 인라인하는 기법에 대해 설명하고, 이 과정에서 발생할 수 있는 잠재적인 문제점(예: FOUC, 캐싱 문제)과 해결 방안을 논해주세요.