我的现有 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如果您想查看这些屏幕截图。