Anp*_*pan 13 css media-queries responsive-design
情况:
我有5个CSS文件:
base.css,其中一些样式适用于所有地方
339px.css,宽度可达339px
639px.css,宽度最大为639px
999px.css和
bigscreen.css适用于宽度超过999像素的任何东西
代码:
<link rel="stylesheet" type="text/css" media="all" type="text/css" href="css/base.css" />
<link rel="stylesheet" type="text/css" media="screen and (min-width: 0px) and (max-width: 339px)" href="css/339px.css" />
<link rel="stylesheet" type="text/css" media="screen and (min-width: 340px) and (max-width: 639px)" href="css/639px.css" />
<link rel="stylesheet" type="text/css" media="screen and (min-width: 640px) and (max-width: 999px)" href="css/999px.css" />
<link rel="stylesheet" type="text/css" media="screen and (min-width: 1000px)" href="css/bigscreen.css" />
Run Code Online (Sandbox Code Playgroud)
这一切都很好,并且在设备屏幕上1 css像素等于1/96英寸(2.54cm)的任何设备上都能完美运行.然而,最近许多显示设备的像素密度远高于此,因此当339px.css合适时,它们应用于639px.css.这是一个问题,因为内容看方式太小.
另请注意,我不能使用JavaScript和台式计算机schould总是根据宽度获取相应的css文件,无论方向如何.
我想要实现的目标:
基本上不是css像素,我想要一个相对于设备像素密度的单位(桌面,平板电脑,智能手机,4k显示器,"Retina"显示器,你明白了)并且可以同时使用所有主流浏览器移动和桌面平台.
与此同时,我还需要为旧版浏览器支持css像素.
这给了我一个令人头疼的问题.据我所知,您可以使用device-pixel-ratio,但我没有成功地在某些时候(两个css文件处于活动状态的区域,例如339px.css和639px.css)中使css文件"重叠".
我没办法.我已经试过的组合min-width,max-width,device-pixel-ratio,orientation: portrait/landscape媒体查询,但这次失败,因为这样的事实:台式机应该忽略方向.到目前为止,即使我忽略了浏览器支持要求,我也无法在设备上获得积极的结果.
Enn*_*nui 33
将此添加到您的head:
<meta name="viewport" content="width=device-width, initial-scale=1.0">
width=device-width考虑像素密度,因此具有640px宽度和2.0像素密度的真实分辨率的设备将具有320px的浏览器视口宽度.初始比例确保移动浏览器不会尝试缩放以适应任何内容(对于真正的流体响应站点).