Replace content from a Span by “…” after 70% of parent's width
更新:实际问题:为什么"(ciclo)"的行比其余行低一点?:http://jsfiddle.net/mv8q5/2/
示例:http://jsfiddle.net/vahcs/
我有这样的结构:
1 | <span class="limitCharacters">CONTENT TO LIMIT</span><span>(ciclo)</span> |
我想要的是,如果
我根据它的父级解决了这个计算限制字符的宽度(正确计算),如果这个结果是70或更多,它会将跨度的宽度调整为60%。问题是我必须避免任何换行,这只能由
我真正需要的是:
。
我实际拥有的是这个(见jspiddle):
氧化镁
如果我避免使用nowrap方法,它会断线。
如果我使用overflow:hidden,它会去掉"…"并将第二个("ciclo")放在一个较低的行高中,对于一些我不知道的reaon(参见示例):http://jsfiddle.net/vahcs/
氧化镁
您不需要使用jquery来完成这项工作。(震惊?).pure css就足够了。
看看这个例子。我添加了背景色,以使这一点非常明显,说明哪些元素是哪个。
现场演示示例http://jsfiddle.net/vahcs/2/
CSS1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | .tableContent { width: 250px; background: red; } .contentColumn40{ height: 36px; width: 70%; border:1px solid #e0e0e0; display: inline-block; overflow: hidden; background: yellow; } .limitCharacters { display: block; white-space: nowrap; width: 100%; overflow: hidden; text-overflow: ellipsis; } |
。
您还可以使用
所以你可以用一些CSS
1 2 3 4 5 6 | .limitCharacters { width: 70%; // Or you can put some fixed pixel value for 70% white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } |
我不确定跨度能有多大的作用,但是分区能有多大的作用。检查这个小提琴:http://jsfiddle.net/mv8q5/
更新的答案:
对于问题的更新部分。这是因为"ciclo"在一个范围之外。如果你想把它放在同一行,把
1 | <span>(ciclo)</span> |
号
进入DIV标签,如:http://jsfiddle.net/mv8q5/3/
如果你想要它在一个新行中,把它放在一个新的分区中,比如:http://jsfiddle.net/mv8q5/4/