자바 스크립트를 사용하여 뷰포트 너비와 달리 사용자 장치 너비를 얻는 방법이 있습니까?
CSS 미디어 쿼리는 이것을 제공합니다.
@media screen and (max-width:640px) {
/* ... */
}
과
@media screen and (max-device-width:960px) {
/* ... */
}
가로 방향으로 스마트 폰을 타겟팅 할 때 유용합니다. 예를 들어 iOS에서 max-width:640px
will 선언은 iPhone 4에서도 가로 모드와 세로 모드를 모두 대상으로합니다. 제가 말할 수있는 한 Android에는 해당되지 않으므로이 인스턴스에서 device-width를 사용하면 두 방향을 모두 성공적으로 대상으로 지정합니다. 데스크톱 기기를 타겟팅하지 않고
그러나 장치 너비를 기반으로 javascript 바인딩을 호출하는 경우 뷰포트 너비 테스트로 제한되는 것으로 보입니다. 이는 다음과 같이 추가 테스트를 의미합니다.
if ($(window).width() <= 960 && $(window).height <= 640) { /* ... */ }
CSS에서 장치 너비를 사용할 수 있다는 힌트를 감안할 때 이것은 나에게 우아하지 않은 것 같습니다.
Modernizr
"깨끗하고 일반적인 방법": stackoverflow.com/questions/25935686/… . 첫 번째 의견과 관련하여 : "Modernizr vs <otherLib> 미디어 쿼리"를 Google에서 사용하여 사용 사례에 가장 적합한 것을 찾을 수 있습니다