【问题标题】:Prevent long word to add horizontal scroll to html view防止长字向html视图添加水平滚动
【发布时间】:2008-10-30 07:07:00
【问题描述】:

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

不幸的是,Windows Mobile 的 HTML 视图(htmlview.dll,基于 Pocket Internet Explorer)没有将这些长词分解,以便它们适合屏幕。相反,添加了一个水平滚动条,用户必须横向滚动才能看到整个单词。这也会影响其他输出,这些输出现在也沿着这个更大的屏幕宽度分布。

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

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

【问题讨论】:

    标签: html windows-mobile


    【解决方案1】:

    除了 nickf 提到的 shy hypen 之外,您始终可以通过将框的样式设置为 overflow: hidden 来使用 CSS 来隐藏过冲的单词。好消息:没有滚动条,妈。坏消息:字被删了。不过,对于害羞的炒作,我不会选择实体。相反,直接在文本中使用该字符:其字符代码为 0xAD (Unicode +00AD)。 (实体通常通过使用正确的编码来弃用。)

    【讨论】:

    • 谢谢,CSS 方法有效。由于截止日期并不完美,但我将不得不忍受等待任何更好的解决方案。
    【解决方案2】:

    我对 Windows Mobile 几乎一无所知,所以我可能会走得更远,但您可以尝试在长词中的特定时间段插入 HTML 实体,充当连字符“提示”。

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

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

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

    【讨论】:

    • 我已经尝试了 shy 标记(我在问题中输入的 html 不正确,因此名称 ­ 不可见),但它总是插入一个连字符,即使它不会破坏那个地方的话。实际上它永远不会在 ­无论如何:-(链接中提到的WBR标签也不起作用:-(
    猜你喜欢
    • 2011-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-08
    • 2016-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多