찾다
웹 프론트엔드H5 튜토리얼像素和CSS媒体查询?

我们知道像素是一个相对单位,不是一个拥有固定大小的点单位。但我想请问:在CSS中媒体查询用到的PX究竟是怎样一个单位?乃至我想问:在CSS中,像素是否已经不再是一个相对单位,而是一个拥有固定宽度的单位?

举例:

我用媒体查询 @media (min- width: 1200px) {……}这样的语句来控制在大于1200px的屏幕才显示某个DIV。

我用手机访问这个页面时,此DIV却不显示,但我的手机分辨率是1920*1080,按道理讲是满足min- width: 1200px这条件的,但为什么不显示呢?

难道PX是拥有固定长度的单位?

谢谢解答!

回复内容:

其实几句话就说明白了呀.......
css里所有的px都是css pixel,其显示大小是相对的而不是绝对的,是设备相关的。
而css pixel * devicePixelRatio = 实际屏幕像素。
(平时电脑屏幕的devicePixelRatio都是1所以感觉不到,会让你误以为css里的px就是实际屏幕像素)
同时media query使用的px显然也是css pixel。

可以用chrome按f12开emulator看,一目了然。
像素和CSS媒体查询?模拟器里有很型号可以选择,比如Nexus 5, iPhone等等
像素和CSS媒体查询?
下图左边的就是css pixel, 右边是devicePixelRatio
像素和CSS媒体查询? 像素和CSS媒体查询?如图,Nexus 5的css pixel是360x640,devicePixelRatio是3,实际屏幕尺寸就是(360*3)x(640*3)=1080x1920 (实际上应该根据屏幕尺寸和devicePixelRatio来反推css pixel)
可以看到大部分安卓设备的css pixel尺寸都是360x640

你可以这么简单理解:
不管是1080x1920的屏幕还是720x1280的屏幕,对于移动端浏览器来说,尺寸都是360x640
所以,写css的时候以css pixel为准,也就是说:假设设计图做成了720x1280的,那么css里所有尺寸都除以2即可。
而对于图片,比如一张实际大小100*100px的图片,并且width和height都设了100px(注意这里的px是css pixel),实际占用了屏幕的像素数就是(假设devicePixelRatio是3)300*300px(注意这里的px是真实的屏幕像素)
所以,如果希望网页的元素在高ppi设备上显示不模糊(比如1080x1920屏幕的手机),位图应该做3倍的尺寸(比如做300*300px的图,然后在css中设width和height为100px),svg(矢量图)就无所谓了。
(所以svg大法好!png都是异端!)




因此在你的例子中,应该写min-width:400px
同时最好加上
(绝大部分1080x1920屏幕的设备devicePixelRatio都是3,1200/3=400) 像素和CSS媒体查询?
手机浏览器会找你的,如果指定了width,就会把页面放到指定width的viewport里面取,如果没有指定,则默认值有的是980,具体根据浏览器来定的。
送你一个文档链接:Using the viewport meta tag to control layout on mobile browsers
还有像素的问题:
此像素非彼像素A pixel is not a pixel is not a pixel 因为大多数1920*1080的手机上是把网页当成 640*360 缩小三倍显示处理的,所以生效的其实是360这个宽度 搜一下关键词 window.devicePixelRatio 前面几个答案从实际应用层面解答了,不过我想了下你的疑问是针对单位的,那么从“像素是一个相对单位”这句话入手做个解答吧。

一、像素的显示定义
像素,即图像元素的基本单位。
分辨率,即屏幕图像的精密度,是指显示屏所能显示的像素的多少。

对网页开发者来说,像素的概念多启蒙于桌面显示器,并且基本只需要知道这一单位。当跨屏到其他设备时,会有难以理解的诸多单位相关概念出现,如dp\dpi\ppi等进而产生混乱,从硬件屏幕的显示差异入手理解会清晰一些。

我们知道,图像显示需要媒介,有如台式机、手机、相机和纸张实物等。像素基于图像, 屏幕分辨率基于像素,而跨屏设备的屏幕分辨率与物理尺寸无关(是的无关),因此在电子设备上,像素是一个纯电子尺寸而非物理尺寸。

也就是说呢,跨屏设备的分辨率像素之间是存在物理差异的。举个栗子,同为1280分辨率宽的桌面显示器与三星NOTE,一个是17",宽为13.27"(33.72cm);一个是5.3",宽为4.49"(11.42cm)。一个像素单位所占的物理空间分别为:33.72/1280 = 0.02634(cm) 与 11.42/1280=0.0089(cm),相差3倍。

二、手机浏览器的逻辑分辨率与媒体查询
(逻辑分辨率称为逻辑pt分辨率会更为精确,这里为便于理解暂且忽略pt)
手机厂商会提供一个分辨率如三星NOTE为1280*800(物理分辨率),但此分辨率通常不是手机网页浏览器的渲染尺寸,这是因为手机网页浏览器是以逻辑分辨率进行渲染的,而逻辑分辨率=物理分辨率/devicePixelRatio

普通密度桌面显示屏的devicePixelRatio=1
高密度桌面显示屏(Mac Retina)的devicePixelRatio=2
主流手机显示屏的devicePixelRatio=2或3
手机不应该是1080x1920吗 这个,,,你先用图片测试一下你的道理正确吗?试一试一张1200px的图片在你当前页面怎么显示的
성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
H5 코드 예제 : 실제 응용 프로그램 및 튜토리얼H5 코드 예제 : 실제 응용 프로그램 및 튜토리얼Apr 25, 2025 am 12:10 AM

H5는 다양한 새로운 기능과 기능을 제공하여 프론트 엔드 개발 기능을 크게 향상시킵니다. 1. 멀티미디어 지원 : 미디어를 포함하고 요소를 포함하여 플러그인이 필요하지 않습니다. 2. 캔버스 : 요소를 사용하여 2D 그래픽 및 애니메이션을 동적으로 렌더링합니다. 3. 로컬 스토리지 : LocalStorage 및 SessionStorage를 통해 지속적인 데이터 저장을 구현하여 사용자 경험을 향상시킵니다.

H5와 HTML5 사이의 연결 : 유사성과 차이H5와 HTML5 사이의 연결 : 유사성과 차이Apr 24, 2025 am 12:01 AM

H5 및 HTML5는 다른 개념입니다. HTML5는 새로운 요소 및 API를 포함하는 HTML의 버전입니다. H5는 HTML5를 기반으로 한 모바일 애플리케이션 개발 프레임 워크입니다. HTML5는 브라우저를 통해 코드를 구문 분석하고 렌더링하는 반면 H5 응용 프로그램은 컨테이너를 실행하고 JavaScript를 통해 기본 코드와 상호 작용해야합니다.

H5 코드의 빌딩 블록 : 주요 요소 및 그 목적H5 코드의 빌딩 블록 : 주요 요소 및 그 목적Apr 23, 2025 am 12:09 AM

HTML5의 주요 요소에는 최신 웹 페이지를 작성하는 데 사용되는 ,,,,, 등이 포함됩니다. 1. 헤드 컨텐츠 정의, 2. 링크를 탐색하는 데 사용됩니다. 3. 독립 기사의 내용을 나타내고, 4. 페이지 내용을 구성하고, 5. 사이드 바 컨텐츠 표시, 6. 바닥 글을 정의하면, 이러한 요소는 웹 페이지의 구조와 기능을 향상시킵니다.

HTML5 및 H5 : 일반적인 사용법 이해HTML5 및 H5 : 일반적인 사용법 이해Apr 22, 2025 am 12:01 AM

HTML5와 H5 사이에는 차이가 없으며, 이는 HTML5의 약어입니다. 1.HTML5는 HTML의 다섯 번째 버전으로 웹 페이지의 멀티미디어 및 대화식 기능을 향상시킵니다. 2.H5는 종종 HTML5 기반 모바일 웹 페이지 또는 응용 프로그램을 참조하는 데 사용되며 다양한 모바일 장치에 적합합니다.

HTML5 : 현대 웹의 빌딩 블록 (H5)HTML5 : 현대 웹의 빌딩 블록 (H5)Apr 21, 2025 am 12:05 AM

HTML5는 W3C에 의해 표준화 된 하이퍼 텍스트 마크 업 언어의 최신 버전입니다. HTML5는 새로운 시맨틱 태그, 멀티미디어 지원 및 양식 향상을 도입하여 웹 구조, 사용자 경험 및 SEO 효과를 개선합니다. HTML5는 웹 페이지 구조를 더 명확하게하고 SEO 효과를 더 좋게하기 위해, 등 등과 같은 새로운 시맨틱 태그를 소개합니다. HTML5는 멀티미디어 요소를 지원하며 타사 플러그인이 필요하지 않으므로 사용자 경험을 향상시키고 속도를로드합니다. HTML5는 양식 함수를 향상시키고 사용자 경험을 향상시키고 양식 검증 효율성을 향상시키는 새로운 입력 유형을 도입합니다.

H5 코드 : 깨끗하고 효율적인 html5 작성H5 코드 : 깨끗하고 효율적인 html5 작성Apr 20, 2025 am 12:06 AM

깨끗하고 효율적인 HTML5 코드를 작성하는 방법은 무엇입니까? 답은 태그, 구조화 된 코드, 성능 최적화 및 일반적인 실수를 피함으로써 일반적인 실수를 피하는 것입니다. 1. 코드 가독성 및 SEO 효과를 향상시키기 위해 시맨틱 태그 등을 사용하십시오. 2. 적절한 계약과 의견을 사용하여 코드를 구성하고 읽을 수 있도록하십시오. 3. CDN 및 압축 코드를 사용하여 불필요한 태그를 줄임으로써 성능을 최적화합니다. 4. 태그가 닫히지 않은 것과 같은 일반적인 실수를 피하고 코드의 유효성을 확인하십시오.

H5 : 웹에서 사용자 경험을 향상시키는 방법H5 : 웹에서 사용자 경험을 향상시키는 방법Apr 19, 2025 am 12:08 AM

H5는 멀티미디어 지원, 오프라인 스토리지 및 성능 최적화로 웹 사용자 경험을 향상시킵니다. 1) 멀티미디어 지원 : H5 및 요소는 개발을 단순화하고 사용자 경험을 향상시킵니다. 2) 오프라인 스토리지 : WebStorage 및 IndexedDB는 오프라인으로 사용하여 경험을 향상시킵니다. 3) 성능 최적화 : 웹 워즈 및 요소는 성능을 최적화하여 대역폭 소비를 줄입니다.

H5 코드 해체 : 태그, 요소 및 속성H5 코드 해체 : 태그, 요소 및 속성Apr 18, 2025 am 12:06 AM

HTML5 코드는 태그, 요소 및 속성으로 구성됩니다. 1. 태그는 컨텐츠 유형을 정의하고 다음과 같은 각도 브래킷으로 둘러싸여 있습니다. 2. 요소는 컨텐츠와 같은 시작 태그, 내용 및 엔드 태그로 구성됩니다. 3. 속성 시작 태그에서 키 값 쌍을 정의하고 기능을 향상시킵니다. 웹 구조를 구축하기위한 기본 단위입니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구