【发布时间】:2014-01-07 12:21:55
【问题描述】:
我正在尝试分别定位设备,但最小和最大宽度相互交织。这是我的代码:
/* iPhone 4 (portrait and landscape) ----------- */
@media only screen and (min-width : 320px) and (max-width : 480px) {
/* MOBILE MENU */
#menuContainer .cart p, #menuContainer .menu p {
font-size: 12px
}
/* Home Slider Text */
#sliderContainer .slider p {
font-size: 18px;
}
#Footer .top .left p:first-child {
font-size: 17px;
}
#Footer .row p {
font-size: 12px;
}
}
/* Galaxy S3 (portrait and landscape) ----------- */
@media screen and (min-width : 360px) and (max-width : 640px) {
/* MOBILE MENU */
#menuContainer .cart p, #menuContainer .menu p {
font-size: 20.4px;
}
/* Home Slider Text */
#sliderContainer .slider p {
font-size: 29px;
}
#Footer .top .left p:first-child {
font-size: 32px;
}
#Footer .row p {
font-size: 20.4px;
}
}
所以 320 像素的 iPhone 看起来不错,但 480 像素的 iPhone 显示的是 Galaxy 媒体查询的字体大小。我希望每个特定的媒体查询都针对其各自的设备。这可能吗?如果有任何不清楚的地方,请告诉我。
【问题讨论】:
-
在您的媒体查询中使用基于 100% (16px) 的容器百分比和 em 间距会更好。像素不再意味着像素,例如 iPad mini 比实际的 iPad 小 40%,但它报告的宽度是常规尺寸一。加上视网膜设备是 2 兆像素。因此,在媒体查询中使用 em 间距可以达到预期的效果:专为视口设计。最好堆叠您的 CSS,以便在媒体查询之外存储共享样式。然后将 min-width 从小到大用于其他尺寸。
-
如果我使用“em”作为字体大小,它会根据屏幕分辨率自动调整吗?我尝试使用“vw”,但不支持很好。
-
您在 html 上基于 16px 使用 em 间距进行媒体查询,您可以在身体上使用像素,p、h1、h2... 或使用 EMS(如果您熟悉如何克服复合)。
-
如果您使用 em 媒体查询和 em 字体大小,您将不必为每个视口宽度调整字体大小。
标签: css media-queries