【发布时间】:2010-09-10 17:26:20
【问题描述】:
我有一个保龄球网络应用程序,它允许逐帧输入非常详细的信息。它允许的一件事是跟踪每个球上击倒了哪些引脚。为了显示这些信息,我让它看起来像一排大头针:
o o o o o o o 哦哦 o
图像用于表示引脚。所以,对于后排,我有四个 img 标签,然后是一个 br 标签。它工作得很好......主要是。问题出在小型浏览器中,例如 IEMobile。在这种情况下,如果一个表中可能有 10 或 11 列,并且每列中可能有一个图钉架,Internet Explorer 将尝试缩小列大小以适应屏幕,我最终会得到类似这个:
o o o ○ o o o 哦哦 o
或
o o 哦哦 哦哦 ○ 哦哦 o结构是:
<tr>
<td>
<!-- some whitespace -->
<div class="..."><img .../><img .../><img .../><img .../><br/>...</div>
<!-- some whitespace -->
</td>
</tr>
内部 div 内没有空格。如果您在常规浏览器中查看this page,它应该可以正常显示。如果你在 IEMobile 中查看它,它不会。
有什么提示或建议吗?也许某种 那实际上并没有添加空格?
跟进/总结
我收到并尝试了几个很好的建议,包括:
- 在服务器上动态生成整个图像。这是一个很好的解决方案,但并不真正满足我的需要(托管在GAE),而且代码比我想写的要多。这些图像也可以在第一代之后被缓存。
- 使用 CSS 空白声明。这是一个很好的基于标准的解决方案,但在 IEMobile 视图中失败了。
我最终做了什么
*低着头咕哝着什么*是的,没错,在 div 的顶部有一个透明的 GIF,大小是我需要的宽度。结束代码(简化)如下所示:
<table class="game">
<tr class="analysis leave">
<!-- ... -->
<td> <div class="smallpins"><img class="spacer" src="http://seasrc.th.net/gif/cleardot.gif" /><br/><img src="/img/pinsmall.gif"/><img src="/img/nopinsmall.gif"/><img src="/img/nopinsmall.gif"/><img src="/img/nopinsmall.gif"/><br/><img src="/img/pinsmall.gif"/><img src="/img/pinsmall.gif"/><img src="/img/nopinsmall.gif"/><br/><img src="/img/nopinsmall.gif"/><img src="/img/nopinsmall.gif"/><br/><img src="/img/nopinsmall.gif"/></div> </td>
<!-- ... -->
</tr>
</table>
还有 CSS:
div.smallpins {
background: url(/img/lane.gif) repeat;
text-align: center;
padding: 0;
white-space: nowrap;
}
div.smallpins img {
width: 1em;
height: 1em;
}
div.smallpins img.spacer {
width: 4.5em;
height: 0px;
}
table.game tr.leave td{
padding: 0;
margin: 0;
}
table.game tr.leave .smallpins {
min-width: 4em;
white-space: nowrap;
background: none;
}
P.S.:不,我不会在我的最终解决方案中盗链别人的 clear dot :)
【问题讨论】:
标签: html css internet-explorer line-breaks pocketpc