Asp.net 用于移动的CSS有时会恢复到原始版本

Asp.net 用于移动的CSS有时会恢复到原始版本,asp.net,css,mobile-website,stylesheet,specific-stylesheets,Asp.net,Css,Mobile Website,Stylesheet,Specific Stylesheets,因此,大多数情况下,我的样式表都会正确显示。标准/原始版本总是完美无瑕,但有时从移动设备上看,移动版本似乎被忽略了 我将其指定如下: <link href="CustomStyleSheets/standard.css" rel="stylesheet" type="text/css" /> <link href="CustomStyleSheets/mobile.css" rel="stylesheet" type="text/css" media="only screen

因此,大多数情况下,我的样式表都会正确显示。标准/原始版本总是完美无瑕,但有时从移动设备上看,移动版本似乎被忽略了

我将其指定如下:

<link href="CustomStyleSheets/standard.css" rel="stylesheet" type="text/css" />
<link href="CustomStyleSheets/mobile.css" rel="stylesheet" type="text/css" media="only screen and (max-device-width: 799px)" />

我使用Droid X在纵向模式下查看页面,因此设备宽度不应超过上面指定的最大宽度,但有时,随机地,它仍然会恢复到原始css页面

有什么办法阻止它这样做吗?

也许可以将media=“screen”用于standard.css?也许有帮助(:

或者检查服务器端的用户代理。如果是移动设备,则只加载移动css,否则加载standard.css


我使用WURFL来确定它是否是移动设备…

我以前看到过这种情况。我相信更改的是body元素的大小。正确的doctype很重要。它应该是:

<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">

尝试使用媒体类型“掌上电脑”


确保standard.css不会影响mobile.css所期望看到的级联。看起来移动设备将首先加载您的standard.css,然后加载mobile.css-因此两个样式表中的样式都会影响显示。我通常将样式表链接元素封装在逻辑中,该逻辑仅显示移动样式表o移动设备-不能同时使用两个样式表

此外,请不要忘记包含此元标记,以确保您的页面正确缩放到设备尺寸:

<meta name="viewport" content="width=device-width" />


可能是android浏览器中的一个bug,这在iphone或opera for android上会发生吗如果我没记错的话,它也会发生在iphone上,但是今天早上我们的mac出现了一些问题,所以我还没能在模拟器上测试它……而且我的部门没有人拥有iphone。当你使用
最大宽度:799px时,会发生同样的情况吗
?在横向模式下是否也会出现同样的问题?事实上,虽然WAP docType对某些设备(如黑莓)完全有效,但在iPhone/Android上并不需要WAP docType,因为iPhone/Android与HTML5 docType配合得非常好。例如:需要注意的是:iPhone不支持媒体类型的手持设备,因此这不会产生预期的效果至少在iPhone中。更多信息如下:@Jim-你说得对。大多数较新的触摸屏设备都不太支持手持设备(如果有的话)。我通常用逻辑包装样式表链接元素,只在移动设备上显示一个移动样式表,而不是同时显示两个样式表。我想他是在说给你的第一个CS添加一个条件,这样它就不会被加载。类似media=“All(min-width:800)”的特性可能会帮助浏览器避免加载与“移动版本”冲突的CSS桌面版本。
<meta name="viewport" content="width=device-width" />