这看起来是一个简单的任务,但结果却是困难重重。
一行两列的表格。桌子宽度应为 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>