如果超过 300 个字符,我的长文本就会被隐藏。隐藏是通过 <span>
完成的有 style="display:none;"
放。
基本上,在第 300 个字符之后,其余内容包含在 display:none 范围内。
该算法足够聪明,不会在标签中间打断文本,因此不可见的跨度总是会在标签结束后出现。
我遇到的问题只发生在 Mozilla 中,那是当第 300 个字符恰好位于 UL 或 OL 的中间时。其余浏览器的行为正常,隐藏范围之外的列表部分并显示另一部分,但 Mozilla 没有。
知道我该如何解决这个问题吗?
更新:
代码:
<ul><li>a</li><li>b</li><li><span style="display:none;">c</li></ul></span>
由于标签重叠,我知道这是无效标记。
谢谢。
最佳答案
修复您的标记。如果您正确关闭 <li>
内的 span 标签,它应该可以正常工作。
<ul><li>a</li><li>b</li><li><span style="display:none;">c</span></li></ul>
关闭 <span>
在列表之外可能很方便,但为了让浏览器正确解析它,您需要尽可能使用适当的标记。如果您不知道如何在 <li>
中关闭它,也许您需要重新考虑您的代码。
关于HTML 在 UL 或 OL 中间隐藏内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3660261/