>  기사  >  웹 프론트엔드  >  CSS에서 장치 너비와 너비의 차이점은 무엇입니까

CSS에서 장치 너비와 너비의 차이점은 무엇입니까

王林
王林앞으로
2020-04-06 09:12:093805검색

CSS에서 장치 너비와 너비의 차이점은 무엇입니까

1. device-width

정의: 출력 장치 화면의 가시 너비를 정의합니다.

웹페이지가 Safari에서 열리든 웹뷰에 내장되어 있든 상관없이 장치 너비는 장치에만 관련됩니다. 동일한 장치라면 해당 값은 변경되지 않습니다.

예를 들어 iPhone6의 device-width*device-height는 375*667이며 dpr 등과는 아무런 관련이 없습니다.

(추천 튜토리얼: CSS 튜토리얼)

2. width

정의: 출력 장치에서 페이지의 표시 영역 너비를 정의합니다.

출력은 웹페이지의 표시 영역의 너비와 높이입니다. 웹페이지가 웹뷰에 중첩된 모바일 웹페이지라고 가정하면 너비는 실제로 웹뷰의 너비와 높이입니다. 브라우저, 너비 및 높이가 다를 수 있으며 페이지가 rem 레이아웃을 사용하고 레티나 화면의 경우 dpr>1, content="width=device-width,initial-scale=0.5,minimum-scale=이 메타 태그 0.5, maximum-scale=0.5, user-scalable=no,viewport-fit=cover", iPhone 6의 너비 크기는 750px입니다.

여기에서는 가로 화면 상황을 고려할 필요가 없기 때문에 device-width 및 device-height를 더 사용합니다

예를 들어 iphoneX에 적응하면 이미 iphoneX의 크기(375*812)를 알고 있습니다. 다음 진술:

@media screen and (device-width: 586px) and (device-height: 820px){
    html{
        font-size: 110px !important;
    }
}

간단히 말해서, 장치 너비는 장치 너비와 관련이 있습니다. 너비는 다른 레이아웃 구성표나 다른 컨테이너에 표시될 때 다를 수 있습니다. device-width는 js의 window.screen.width와 동일하고 width는 js의 document.body.clientWidth와 동일합니다.

저의 Huawei 접이식 스크린 적응도 기록해두세요. 현재 실제 기기가 없기 때문에 Huawei의 펼쳤을 때 해상도가 2200*2480이라는 것만 알고 있는데, DPR은 아직 명확하지 않아서 잘 모르겠습니다. device-width 및 device-height(여기서는 쿼리에 너비를 사용할 수 없습니다. 이유는 비즈니스 로직과 관련되어 있습니다.) 그래서 device-aspect-ratio를 선택했습니다.

처음에는 내 less

@media (device-aspect-ratio: 55/62) {
    /*适配*/
}

에 이렇게 썼습니다. 그런 다음 CSS에서 device-aspect-ratio는 소수점으로 계산됩니다.

@media (device-aspect-ratio: 0.887097) {
    /*适配*/
}

device-aspect-ratio는 소수점을 지원하지 않으므로 일치할 수 없습니다

그래서 less가 55/62의 결과를 실행하지 못하게 하는 방법을 확인했습니다. 다음과 같이 따옴표로 묶고 앞에 물결표를 추가하면 됩니다.

@media (device-aspect-ratio: ~"55/62") {
    /*适配部分*/
}

문제가 해결되었습니다!

그러나 MDN에서는 device-aspect-ratio의 사용이 더 이상 권장되지 않으며 이 속성은 폐기됩니다.

추천 관련 비디오 튜토리얼: css 비디오 튜토리얼

위 내용은 CSS에서 장치 너비와 너비의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 jb51.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제