是否有任何JS/CSS/jQuery魔术我可以确定div中内容的最后一个可见位是否被切断,并略微增加/减少DIV高度,以防止文字切断?设置DIV高度,以便文本不被水平切割或切片
我们的系统允许用户输入包含XHTML的“元素”(使用Telerik Edit控件)。我们有一个ElementList页面,在这里我们显示所有用户输入的元素。但是,由于用户输入的XHTML可能非常大,因此在列表页面上我们只想显示每个的前三行。所以我将包含XHTML的DIV设置为等于3行文本的特定高度,并设置overflow:hidden。到现在为止还挺好。
但是,由于用户可以输入XHTML,他们可以使用填充(或以其他方式偏离标准文本高度)创建表格。由于高度和溢出的组合,这些单元格内的文本似乎被水平切掉:隐藏。我们的要求人不喜欢这个样子;但是我们当然不能限制最终用户可以编辑的XHTML。
Here is a JSFiddle example的问题。
这个问题是不是重复:
- “Stopping cut off text in variable height div...”为这个问题涉及到“的webkit行钳”,这是不相关的我的情况。 (并且在任何情况下,该问题从未得到回答)
- “Cut text by height, no truncate”因为该问题是关于包含纯文本的DIV;我的DIV包含XHTML。你会在JSFiddle中注意到我已经使用em测量来确定DIV高度了。
这个问题让我完全困惑 - 我希望SO社区能够帮助我!
UPDATE:
最终,我怀疑这不能用HTML/JS/jQuery的解决。事实上,你可以制作一张桌面(或一系列DIV),并逐渐增加顶部边距,这样就无法避免至少切掉其中一个。
感谢所有人的回应。我将其中一个标记为答案,因为在我看来,这是一个特别简单/优雅的解决方法。
你真的必须使用'高度:3.5em;在容器上'?如果你删除它并让浏览器定义div高度怎么办? – bfavaretto 2012-03-19 19:35:49
@bfavaretto - 不幸的不是。如问题所述,DIV的全部内容可能比我们在查看列表中的项目时想要看到的大得多。换句话说,我们必须限制DIV的高度。 – mikemanne 2012-03-19 19:44:59
所以你只想改变高度,如果文本比块“稍”大一些,那是正确的吗? – 2012-03-19 19:59:19