以下是基本设置:
<table>
<tr>
<td id="short">A medium width cell.</td>
</tr>
<tr>
<td id="long" style="overflow: hidden; text-overflow: ellipsis;">A long long long long long long cell.</td>
</tr>
</table>
(另见http://jsfiddle.net/vp1rzrnt/。)
我想实现第二个表行中的#long
单元格在#short
单元格上的宽度不会扩展,只是被切断了。
不幸的是,像我一样设置overflow: hidden
并没有成功。
我无法设置固定宽度,因为内容是动态的。
理想情况下,我希望仍能使用text-overflow: ellipsis;
功能来表示切割。
答案 0 :(得分:2)
使用td内容的包装器,您实际上可以减小其宽度。 DEMO
HTML包装
<td id="long" style="overflow: hidden;"><p>A long long long long long long cell.</p></td>
CSS
tr + tr td p{
margin:0;
margin-right:-1000px;/* hudge negative margin to reduce virtually width to nothing*/
}
溢出的内容无法获得:(
答案 1 :(得分:2)
这只是 css 解决方案。
GCyrillus [Soln]和[Soln]之前解决方案的混合。
jsFiddle:http://jsfiddle.net/vp1rzrnt/8/
更新:
td {
border: solid;
display:block;
}
#short, #long {
width:100%;
}
#long {
margin-right:-1000px;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
html :没有其他标签
<table>
<tr>
<td id="short">A medium width cell.</td>
</tr>
<tr>
<td id="long">A long long long long long long cell.</td>
</tr>
</table>
答案 2 :(得分:1)
这是一个快速的jQuery解决方案:http://jsfiddle.net/vp1rzrnt/3/
$(function(){$("#long").width($("#short span").width());});
js中的类似内容:http://jsfiddle.net/vp1rzrnt/2/
long.style.width = s_span.offsetWidth + "px";
html中的lil更改:(已添加<span>
)
<table>
<tr>
<td id="short"><span id="s_span">A medium width cell.</span></td>
</tr>
<tr>
<td id="long">A long long long long long long cell.</td>
</tr>
</table>
<小时/> FOR
text-overflow:ellipsis;
:http://jsfiddle.net/vp1rzrnt/5/
<强> HTML 强>
<table>
<tr>
<td id="short"><span id="s_span">A medium width cell.</span>
</td>
</tr>
<tr>
<td id="long">
<p id="long_p">A long long long long long long cell.</p>
</td>
</tr>
</table>
<强> CSS 强>
td {
border: solid;
}
#long_p {
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
padding:0;
margin:0;
}
<强>的jQuery 强>
$("#long_p").width($("#s_span").width());