HTML 在 UL 或 OL 中间隐藏内容

标签 html css



如果超过 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/

相关文章:

html - 我怎样才能收缩图像以适应 parent 设定高度内的所有 flex child

javascript - JS 淡入和引导 |发出自动计算剩余 % 边距

html - 为什么 anchor 元素不跟随 div 底部边距并且 div 宽度不合适?

javascript - 在 D3 中包装文本

javascript - 使用hover()检索数据库数据

javascript - 从 JSON Href 获取在表中工作的按钮

html - 防止表内的 div 超出父级的大小

css - 粘性子 div 相对于父 div 水平滚动

javascript - 跑分/测验游戏

html - 如何在 html/css 中对齐 'a' 元素