以下是示例http://jsfiddle.net/DvxPc/1/
body { font:16px Calibri;}
table { border-collapse:separate; border-top: 3px solid grey; }
td {
margin:0;
border:3px solid grey;
border-top-width:0px;
white-space:nowrap;
}
div {
width: auto;
overflow-x:scroll;
margin-right:5em;
overflow-y:visible;
padding-bottom:1px;
}
.headcol {
position:absolute;
width:5em;
right:0;
top:auto;
border-right: 0px none black;
border-top-width:3px; /*only relevant for first row*/
margin-top:-3px; /*compensate for top border*/
}
.long { background:yellow; letter-spacing:1em; }
<div><table>
<tr><td class="headcol">X</td><td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td><td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td> <td>llaldlfasd<br/>fasdf</td> </tr>
</table></div>
问题是右列不位于行的中心。我可以在右侧放置删除按钮,如果它没有在中心对齐,那么UI看起来会很邋。。
答案 0 :(得分:1)
这不是一个很好的解决方案,但它可能就像你将要获得的那样接近。如果您的行内容只占用一行,那么它将会关闭几行。它看起来足够接近2或3行。如果你有一个不同于其他地方定义的行高,你需要调整绝对定位元素的margin-top。
body { font:16px Calibri;}
table { border-collapse:separate; border-top: 3px solid grey; }
td {
margin:0;
border:3px solid grey;
border-top-width:0px;
white-space:nowrap;
}
div {
width: auto;
overflow-x:scroll;
margin-right:5em;
overflow-y:visible;
padding-bottom:1px;
}
span {
border: 1px solid;
position:absolute;
width:5em;
right:0;
margin-top: -.7em;
box-sizing: border-box;
}
.long { background:yellow; letter-spacing:1em; }
请注意,我在这里添加了一个额外的元素。这就是定位,而不是包含它的td。
<div><table>
<tr><td><span>X</span></td><td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td><td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td> <td>llaldlfasd</td></tr>
<tr><td><span>X</span></td><td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td><td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td> <td>llaldlfasd<br/>fasdf</td> </tr>
<tr><td><span>X</span></td><td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td><td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td> <td>llaldlfasd<br/>fasdf</td> </tr>
<tr><td><span>X</span></td><td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td><td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td> <td>llaldlfasd<br/>fasdf</td> </tr>
<tr><td><span>X</span></td><td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td><td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td> <td>llaldlfasd<br/>fasdf<br/>fasdf</td> </tr>
</table></div>
答案 1 :(得分:0)