我有一個用html/js創建的treeview。顯示文本的元素是一個跨度。如何限制範圍的文本
我想限制範圍的寬度,因爲有時文本很長。例如,我只想顯示前20個字符。如果比這更長,則顯示一個省略號。
所以我已經嘗試設置最大寬度,但這不是一個跨度的尊重。
如果我將span更改爲div,它可以工作,但它完全改變了treeview的佈局。
有沒有辦法實現這個? (我在下面把「LIMIT TEXT HERE」以示跨度是有限的。)
<ul class="tree-view-list">
<li class="node-item">
<i click.delegate="toggleItems(item)"
if.bind="item.nodeAspect.isExpanded && item.children.length > 0"
class="icon sf-icon-chevron-down p-r-half grow chevron"
aria-hidden="true"></i>
<i click.delegate="toggleItems(item)"
class="icon sf-icon-chevron-right p-r-half grow chevron"
if.bind="!item.nodeAspect.isExpanded && item.children.length > 0"
aria-hidden="true"></i>
<div if.bind="item.nodeAspect.isEditing">
<form>
<input blur.trigger="saveEdit(item)" attach-focus="true" type="text" value.bind="item.name">
<button style="display: none" click.delegate="saveEdit(item)"></button>
</form>
</div>
<span class="e-treeview">
<span if.bind="!item.nodeAspect.isEditing"
mouseover.delegate="onMouseOver(item)"
mouseout.delegate="onMouseOut(item)"
class="node-wrapper ${item.nodeAspect.isSelected ? 'node-is-selected e-active' : ''} ${item.nodeAspect.isHovering ? 'e-node-hover' : ''}"
click.delegate="nodeSelected(item)"
dblclick.delegate="nodeDoubleClick(item)">
<span draggable="true"
class="node-text"
contextmenu.delegate="showContextMenu($event, item)"
dragstart.delegate="dragStart($event, item)"
dragover.delegate="dragOver($event, item)"
drop.delegate="drop($event,item)">
<i class="tree-view-icon sf-icon-${item.itemType.icon}"></i> ${item.name} LIMIT TEXT HERE
</span>
</span>
</span>
<compose if.bind="item.nodeAspect.isExpanded" repeat.for="item of item.children" view="./tree-view.html"></compose>
</li>
</ul>
嘿,'inline-block'是訣竅!謝謝。 –