这看起来像一项简单的任务,但无论如何它都很难。
包含一行和两列的表。表宽应为100%。
第1栏: 可能包含长文本。应仅显示在一行上,并且应删除溢出文本。此列的宽度应为整个表格的宽度减去第2列的宽度。
第2栏: 右列的宽度应使文本完全吻合。文本应正确对齐。
换句话说:第2列的文字定义了两列的宽度。
第1列和第2列的文本是动态的,因此绝对宽度不起作用。整个表格的宽度应该是浏览器窗口的宽度,这必须适用于所有现代浏览器,包括移动浏览器。
我试过使用表格,我试图只使用div。这两种方法看起来都很有希望,但我还没有完全解决它。
以下是我尝试过的一些示例代码:(问题:当浏览器较窄时,表格变得超过100%)。
<table>
<tr>
<td class ="td1">
This is a table. This is a very long text. Does it get clipped?
</td>
<td class ="td2">
SHOW THIS
</td>
</tr>
</table>
要使用的一些CSS:
table {
width: 100%;
}
.td1 {
width: auto;
overflow: hidden;
white-space: nowrap;
}
.td2 {
white-space: nowrap;
overflow: visible;
text-align: right;
}
尝试使用div
:(问题:第2列在第1列下面被抛弃)
<div class="div1">
<div class="div2">
This is a very long text in a div tag. Does it get clipped?
</div>
<div class="div3">
SHOW THIS
</div>
</div>
要使用的一些CSS:
.div1 {
display: inline-block;
width: 100%;
}
.div2 {
width: auto;
overflow: hidden;
white-space: nowrap;
display: inline-block;
}
.div3 {
display: inline-block;
white-space: nowrap;
float: right;
}
这对我来说似乎是个难题。有人能找到一个好的解决方案吗?
更新
这是整个html文件,所以任何人都可以更轻松地尝试这个:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style>
.div1 {
display: inline-block;
width: 100%;
}
.div2 {
width: auto;
overflow: hidden;
white-space: nowrap;
display: inline-block;
}
.div3 {
display: inline-block;
white-space: nowrap;
float: right;
}
table {
width: 100%;
}
.td1 {
width: auto;
overflow: hidden;
white-space: nowrap;
}
.td2 {
white-space: nowrap;
overflow: visible;
text-align: right;
}
</style>
</head>
<body>
<div class="div1">
<div class="div2">
This is a very long text. Does it get clipped?
</div>
<div class="div3">
SHOW THIS
</div>
</div>
<br/><br/><br/>
<table>
<tr>
<td class ="td1">
This is a table. This is a very long text. Does it get clipped?
</td>
<td class ="td2">
SHOW THIS
</td>
</tr>
</table>
</body>
</html>
答案 0 :(得分:0)
这是一个选择吗?
<div style="position:relative;white-space:nowrap;overflow:hidden;">This is a table. This is a very long text. Does it get clipped?
<div style="position:absolute;right:0;top:0;background:white;padding-left:5px;">SHOW THIS</div>
</div>
答案 1 :(得分:0)
使用div布局:
<强> FIDDLE 强>
<div class="div3">
SHOW THIS
</div>
<div class="div2">
This is a very long text. Does it get clipped?
</div>
.div2 {
overflow: hidden;
white-space: nowrap;
}
.div3
{
float:right;
}