我刚刚发现了CSS @media 查询,我认为它们很棒!但是,我知道并非所有浏览器都支持它们(即除了最新版本的 IE 之外的所有浏览器)。
那我应该在我的默认样式表中做什么?我应该瞄准普通尺寸的屏幕吗?我应该走最低公分母的路线并加载移动样式表吗?或者我应该让设计完全流畅吗?
为不支持@media 查询的浏览器制作默认样式表时,通常有什么好的计划?
我刚刚发现了CSS @media 查询,我认为它们很棒!但是,我知道并非所有浏览器都支持它们(即除了最新版本的 IE 之外的所有浏览器)。
那我应该在我的默认样式表中做什么?我应该瞄准普通尺寸的屏幕吗?我应该走最低公分母的路线并加载移动样式表吗?或者我应该让设计完全流畅吗?
为不支持@media 查询的浏览器制作默认样式表时,通常有什么好的计划?
这取决于您是采用“移动优先”方法还是“桌面优先”方法。
桌面首先不应该对不支持@media 的桌面浏览器造成任何问题,因为它们只会忽略移动样式表规则,就像它们应该的那样。唯一的问题是不支持媒体查询的移动浏览器。他们将呈现在桌面上看到的页面。但是大多数智能手机都支持媒体查询,除了win7之前的手机。问题是你是否想支持这些手机。您的样式表应该看起来像这样。
body {
width: 960px;
margin: 0 auto;
}
@media only screen and (max-width: 500px) {
/* override desktop rules to accommodate small screens*/
body{
width: auto;
margin: 0;
}
另一种方法是移动优先。您为移动设备创建了一个基本样式表,然后使用媒体查询来为桌面用户增添趣味。您可以将桌面规则放在单独的文件中,并使用媒体查询和条件注释将其加载到现代桌面浏览器和 IE 中。但是这里的问题是IE手机也支持条件注释,所以win7之前的手机不支持。您的 html 应类似于:
<link rel="stylesheet" href="/css/basic.css" />
<link rel="stylesheet" href="/css/desktop.css" media="all and (min-width: 500px)" />
<!--[if lt IE 9]>
<link rel="stylesheet" href="/css/desktop.css" />
<![endif]-->
使您的设计流畅将有很大帮助。目的是无论屏幕尺寸如何,您的网站都将始终看起来不错。只需调整窗口大小即可尝试。如果屏幕变窄,流畅的设计不能让你的侧边栏移动到底部。为此,您需要媒体查询。
祝你好运