防止长字添加水平滚动到html视图

时间:2008-10-30 07:07:01

标签: html windows-mobile

在Windows Mobile上,我以HTML格式显示输出。这包括许多用户生成的字符串。偶尔会出现一个非常大的字符串是输出的一部分,没有空格或标点符号。

不幸的是,Windows Mobile的HTML视图(htmlview.dll,基于Pocket Internet Explorer)不会破坏这些长字,因此它们适合屏幕。而是添加了一个水平滚动条,用户必须侧向滚动才能看到整个单词。这也会影响其他输出,现在也会沿着这个更大的屏幕宽度传播。

是否有可能使htmlview的行为不同,或者强迫该词破坏?可以使用CSS。关于强迫:& shy;标签总是插入一个“ - ”字符,永远不会导致中断,< WBR>标签根本没有做任何事情,& 8203;输出为& 8203:,像 这样的空标签也什么都不做。另外需要注意的是,此代码在多种屏幕尺寸上运行,并且由于HTML输出的其他部分,我不能100%确定我剩下的屏幕宽度。

P.S。:我的应用程序是使用WM 5.0 SDK编译的,用C ++ / Win32 / MFC编写。

2 个答案:

答案 0 :(得分:1)

除了nickf提到的害羞的炒作之外,你总是可以通过将盒子的样式设置为overflow: hidden来使用CSS来隐藏过度的单词。好消息:没有滚动条,马。坏消息:字被削减。对于害羞的炒作,我不会去实体。而是直接在文本中使用该字符:其字符代码为0xAD(Unicode + 00AD)。 (实体通常通过使用正确的编码而弃用。)

答案 1 :(得分:0)

我对Windows Mobile几乎一无所知,所以我可能会离开,但你可以尝试做的是在长词中的某些时段插入HTML实体,这些词充当连字符“提示”。

因为我认为它只是在WinMo上运行的IE,所以你要寻找的实体被称为“害羞的连字符”:­它基本上是一个字符,它告诉浏览器“这一点将是一个打破这个词的好地方,只有你需要“。如果它确实需要在两行(或更多!)行上划分单词,则插入连字符,否则它完全不可见。

我找到了此信息here,其中还提供了有关如何在其他浏览器中执行此操作的更多详细信息。

我首先将它们放入HTML中的方法是搜索长于X个字符的单词(例如30),然后在每个Y字符(例如20个)之后搜索这些单词,插入­