개발자

반응형 웹사이트의 다른 방법이 있는건가요?

2023년 04월 24일조회 406

다른 웹사이트들을 탐구하다가 느낀 것인데 화면 크기를 개발자 도구같은 걸로 줄였을 때는 반응형이 적용되지 않는데 핸드폰으로 들어갔을 때는 반응형이 적용되는 웹사이트들이 있는 것 같습니다. 아직 이런 반응형에 대한 것을 잘 몰라서 그런데 기기를 감지할 수 있는 특별한 방법이라도 있는걸까요? +미디어 쿼리로 화면 크기에 따라 반응형이 되는 것은 이해했는데 다른 방법이 있는 것인지 그렇다면 무엇을 배워야하는지도 알려주셨으면 합니다! https://www.navercorp.com 일단 제가 보았던 사이트입니다.

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 5

인기 답변

이범희님의 프로필 사진

이런 궁금증을 해결하는 가장 좋은 방법은 브라우저의 개발자도구를 이용하는 것이라고 생각해요. Chrome에서 개발자도구 -> 네트워크 탭을 보면 1. PC 버전 - 로딩하는 CSS : https://www.navercorp.com/css/ko/navercorp.css?20230321 2. Mobile 버전 - 로딩하는 CSS : https://www.navercorp.com/css/ko/mobile/naver.css?20220203 PC 환경과 모바일 디바이스를 대응하는 CSS가 별도로 구성되어 있고 환경에 따라 각 파일이 로딩되고 있어요. PC환경과 모바일 환경에서 렌더링되는 HTML도 달라요. 또한 동작하는 script 로직도 달라요. 각 환경별 로딩된 HTML을 복사하여 파일 diff를 해보면 차이점을 확인할 수 있어요. (Chrome에서 개발자도구 -> 네트워크 탭 -> www.navercorp.com 요청 선택 후 Response에서 응답 HTML 문자열 복사 -> vscode의 파일 Compare Selected 기능 등을 활용하여 diff) https://www.navercorp.com/ 사이트의 결론을 내보면 - PC or 모바일 환경에 따라 서버에서 다른 HTML, CSS를 응답해요. (즉, 적응형 or 반응형이 아닌 별개의 코드에요) - 그래서 로딩 후에 개발자도구로 디바이스 환경을 변경시에 PC환경에 대응된 형태가 그대로 보이는 것이에요. - 디바이스 환경 변경 후 새로고침을 하면 정상적으로 모바일 환경처럼 렌더링(동작)되는 것을 확인할 수 있어요. - 추가(이 사이트는 React를 사용하지 않았고 jQuery를 사용하여 구현되어 있어요)

인기 답변

호빵님의 프로필 사진

스크립트로 User-Agent 에서 접속한 기기의 정보를 알수있어요. 데스크탑 안드로이드 ios 등등.. 아마도 모바일기기인 경우에만 해당 화면에 맞는 ui를 보여주도록 되어있을것 같네요.

프레드윰님의 프로필 사진

적응형과 반응형이 있어요 근데 주로 반응형으로 개발을 많이들 한다고해서... 거의 그런 추세이구요 리액트나 뷰로 할적에는 미디어쿼리 관련된 패키지가 많다고해서~ 그걸로 써보세요.

이재찬님의 프로필 사진

1. 기본적으로 모바일, pc 등의 기기 구분과, os 구분까지 UA를 확인 가능한 메서드가 있습니다. 다만 이는 너무 많은 정보를 내포하고 있다고 판단되어서 구글(크롬)측에서는 UA가 아닌 client hints라는 기능을 개발하였고 적용도 되었다고 알고 있으니 확인해 보시면 좋을 것 같습니다. 사파리는 아직 안되는거 같네요 ㅎㅎ.. 2. 아래 링크는 제가 반응형에 대해 공부할 때 도움이 많이 되었던 포스트입니다. 반응형이란 무엇이고 실제로 어떤 식으로 작업을 하는지 예시가 잘 정리되어 있습니다. https://uxdesign.cc/responsive-grids-and-how-to-actually-use-them-970de4c16e0

호빵님의 프로필 사진

호빵

피엠그룹코리아 개발자2023년 04월 25일

이용자가 크롬을 사용하지 않을 경우 이슈가 있지 않을까요? 이용자의 브라우져를 강요하는것은 좋은 방법은 아닌것 같습니다

이재찬님의 프로필 사진

이재찬

스타트업 프론트엔드 개발자2023년 04월 25일

기본적으로 UserAgent를 이용하면 모두 가능하긴 합니다. 다만 내용에서 서술하였듯이 구글측에서는 UserAgent는 너무 많은 정보를 담고 있기에 보안에 문제가 있다고 생각하고, 이를 보완하기 위한 작업을 계속 하는 중입니다. Client Hints는 그 일련의 결과물이구요. 지금 당장에야 UserAgent로 모두 해결이 가능하지만, 앞으로도 그럴 것이라는 보장이 없어서 확인만 해두시면 좋을 것 같아 적어보았습니다.

커리어리 AI 봇님의 프로필 사진

반응형 웹사이트를 구현하는 데에는 여러 가지 방법이 있습니다. 미디어 쿼리를 사용하는 것 외에도 다음과 같은 방법들이 있습니다. 1. 사용자 에이전트 감지(User Agent Detection): 웹 브라우저에서 서버에 요청을 보낼 때 사용자 에이전트(User Agent)라는 정보가 포함됩니다. 이 정보를 통해 서버는 접속한 기기의 종류를 판단할 수 있습니다. 서버는 이를 기반으로 기기에 맞는 콘텐츠를 제공할 수 있습니다. 사용자 에이전트 감지는 JavaScript 또는 서버 측 프로그래밍 언어로 구현할 수 있습니다. 하지만 이 방법은 사용자 에이전트 문자열이 변경될 수 있고, 브라우저와 기기 종류가 다양하므로 완벽한 해결책은 아닙니다. 2. 서버 측 반응형 웹 디자인(Server-Side Responsive Web Design): 이 방법은 서버에서 기기의 정보를 확인하고, 기기에 맞는 다양한 뷰를 제공하는 것입니다. 즉, 서버가 기기에 따라 다른 HTML 및 CSS를 전송하여 반응형 웹사이트를 구현합니다. 이 방법은 클라이언트 측의 로딩 시간을 줄여 성능 향상에 도움이 되지만, 서버 측에서 더 많은 작업이 필요합니다. 3. CSS Flexbox 및 CSS Grid 사용: CSS Flexbox와 CSS Grid를 활용하여 레이아웃을 구성하면, 미디어 쿼리 없이도 반응형 웹 디자인을 구현할 수 있습니다. Flexbox와 Grid는 동적으로 요소의 크기와 위치를 조절할 수 있어, 화면 크기에 따라 콘텐츠가 자동으로 조절됩니다. naver.com 사이트의 경우, 크롬 개발자 도구에서 모바일 뷰로 전환하면 반응형이 적용되는 것을 확인할 수 있습니다. 이는 미디어 쿼리와 함께 사용자 에이전트 감지 또는 서버 측 반응형 웹 디자인 기법을 사용하여 구현되었을 가능성이 높습니다. 반응형 웹사이트 구현 방식에는 다양한 접근법이 있으며, 상황에 따라 적합한 방법을 선택하여 사용하면 됩니다.

커리어리 AI 봇의 답변을 평가해 주세요!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!