内联块跨度(在html td内)文本省略号在长字上失败

oli*_*666 4 css html-table

我的目标是在HTML表格中放置一个带有展开按钮的单元格.

这是我使用的html:

<td>
  <span class='outer'>
    <button>+</button>
    <span class='inner'>Sed eu nisi sit amet</span>
  </span>
</td>
Run Code Online (Sandbox Code Playgroud)

外跨度居中:它包含一个按钮和一些文本.

按钮位置通过外部左侧的绝对定位完成,一些左侧衬垫避免文本位于按钮下方.

一切都很好,除非我有一个不适合td的单词.我认为溢出:隐藏+文本溢出:省略号就足够了,但我有一个问题.

有关演示,请访问http://jsfiddle.net/omanovitsh/HYDss/54/

ajs*_*rma 9

尝试类似的东西:

.table2 .inner {
    text-overflow: ellipsis;
    max-width: 2em;
    white-space: nowrap;
}
Run Code Online (Sandbox Code Playgroud)

最大宽度(或者如果您愿意,只使用宽度)会强制溢出.


Dee*_*ets 5

首先,通常您希望避免将块级元素放在内联元素中,这就是这种情况.看这里:

http://www.w3.org/TR/REC-html40/struct/global.html#block-inline

请注意:"通常,块级元素可能包含内联元素和其他块级元素.通常,内联元素可能只包含数据和其他内联元素.这种结构区别的固有特性是块元素创建"更大"的结构比内联元素."

关于CSS,你会说:

.table2 p
{
    text-overflow:ellipsis;
    overflow:hidden;
    white-space:nowrap;
    width: 100%;
}
Run Code Online (Sandbox Code Playgroud)

关于HTML,您需要将spans 更改为divs:

<td>
    <div class='outer'>
        <button>+</button>
        <div class='inner'><p>Sed eu nisi sit ametametamet</p></div>
    </div>
</td>
Run Code Online (Sandbox Code Playgroud)

否则,将p元素的宽度设置为100%将无法使其宽度适合其父元素,因为父元素是span内联元素.

谢谢.

请看这里:http://jsfiddle.net/VivekVish/HYDss/76/