4

我的现有 ASP.Net 移动网站存在问题,该网站当前在 android 手机 pre 4、iphone 和黑莓下正确呈现。这个问题需要一些设置,但是..

CSS

tr
{
    color: #00ff00;
}

#MasterBackButton
{
    text-decoration: none;
    border-radius: 5px;
    background-color: #2f7ac1;
    padding: 5px;
    cursor: pointer;
    color: #ffffff;
}

这是由 asp.net 生成的带有 html 的示例页面(注意:根本没有表标签)

<!DOCTYPE html>

<head>
    <title>CSS Problem</title>
    <link id="MainStyleSheet" rel="stylesheet" type="text/css" href="http://10.0.0.108/m/styles/default.css">
</head>
<body id="Body1">
<form method="post" action="/m/" id="MainForm" autocomplete="off">
     <div class="aspNetHidden">
         <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTcwODg1MTE2Ng9kFgJmD2QWAgIBD2QWAgIBDxYCHgZhY3Rpb24FAy9tL2RkHHvpHhoukujQ1p/Rk9kY9OLmIKo=" />
     </div>
     <div style="float: right;">
          <div id="MasterBackButton" onclick="javascript:history.back()">
              Back
          </div>
     </div>
</form>
</body>

只需一个带有圆形按钮的页面即可返回。

正如预期的那样,它在 android 2.3 下:

在此处输入图像描述

现在这是 4.03 下的同一页面

在此处输入图像描述

突然,文本变成了绿色......出于某种原因,即使页面上没有单个表格元素,tr 的样式也会应用于 div。

现在,我在浏览器上点击桌面模式,然后:

在此处输入图像描述

它突然起作用了。诡异的。好的,我使用 wget 并下载确切的 html 并将该文件放在网络服务器上:

在此处输入图像描述

它有效!那么,为什么 ASP.Net 页面一团糟呢?我一生都无法弄清楚为什么 tr 的样式会影响 div。如果我将 CSS 从 tr 更改为 table 它仍然会更改它。到目前为止,我尝试过的任何表格元素都可以做到。这几乎就像在标准中一样,库存的 android 浏览器将所有内容都视为表格元素。

我可以确认这一切都发生在真正的 Galaxy S 3 上,而不仅仅是模拟器。

对于一个有很多错误的网站,这只是一个尽可能简化的示例。我有一个之前的问题排名下降并最终关闭,其中包含完整的站点屏幕截图,您可以看到这发生了。甚至这比网站内的某些页面要好。 https://stackoverflow.com/questions/13368693/mobile-css-broke-android-4如果您想查看这些屏幕截图。

编辑:图片显示 asp 和 html 页面具有相同的标记。

4

1 回答 1

0

好吧,我终于想通了。我安装了 51degrees 来自动重定向移动用户。我创建了一个新的网站,一旦我添加了所有现有的引用,这个 bug 就再次咆哮着它丑陋的脑袋。即使我没有 51degrees 的配置,web.config 中没有任何内容引用它只是引用它就足以导致问题。本周我们正要从精简版升级到高级版,直到我被设计错误阻止。他们一定会干扰对新安卓浏览器的响应。

于 2012-11-16T19:50:44.067 回答