@media only screen and (max-width: 999px) {
/* rules that only apply for canvases narrower than 1000px */
}
@media only screen and (device-width: 768px) and (orientation: landscape) {
/* rules for iPad in landscape orientation */
}
@media only screen and (min-device-width: 320px) and (max-device-width: 480px) {
/* iPhone, Android rules here */
}
这些可能看起来是专有的,但实际上这些是在 Firefox、Safari(包括 Mobile)和 Google Chrome 中实现的 CSS3 媒体查询。
之后,创建三个不同的布局。1.widths up to 480px (iPhone, Android):紧凑的间距,单列;2.高达980px(iPad纵向):流体列仅在顶部,其他地方为单列;3.wider than 980px:固定的,两列居中布局。
您可能还想为每种不同的样式调整字体大小,以使其完美地适合目标设备。
此外,如果您的目标是 iOS 平台,请确保您的布局自动填充 iDevice 的显示。在移动 webkits 中,你可能想使用这个:
<meta name="viewport" content="initial-scale=1.0">
这是因为即使布局本身更窄,移动 Safari 也会显示缩小的 980 像素宽的页面版本。您可以在此处阅读更多这些规范:https ://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html
您应该知道,方向媒体查询虽然在 iPad 上受支持,但在 iPhone 上不起作用。幸运的是,像 width 和 device-width 这样的尺寸查询可以工作,所以布局切换可以在没有 JavaScript 的情况下通过它们的某种组合来实现。
此外,随着 Retina 显示设备的出现,您可能希望专门针对它们提供高分辨率图形。您可以查看详细信息:https ://webkit.org/blog/55/high-dpi-web-sites/
最后,对于 Retina 设备,您可以使用这个:
<link rel="stylesheet" media="only screen and -webkit-min-device-pixel-ratio: 2" href="highres.css">