1. 什么是table
<table>
元素表示表格数据,可包含表头、表尾、表体以及一系列行和列,用于在 web 页面上展示信息。
2. table 标签如何使用
(1)创建表格
在 HTML 中,一个基本的表格由 <table>
标签来定义,每个表格单元格由 <td>
标签来定义,每个表头由 <th>
来定义
<table>
<tr>
<th>表头1</th>
<th>表头2</th>
</tr>
<tr>
<td>单元格1</td>
<td>单元格2</td>
</tr>
</table>>
(2)表格样式
在 CSS 中,可以为表格定义样式并使其更具有设计感,比如使用border属性将各单元格分离,使用 background-color 为表格单元格定义颜色。
如:
table {
border-collapse: collapse;
width: 100%;
}
th, td {
text-align: left;
padding: 8px;
}
tr:nth-child(even) {
background-color: #f2f2f2;
}
3. text-overflow 的使用
如果一个元素内的文本内容超过了定义的宽度和高度,那么我们可以使用 text-overflow 属性来定义如何处理这个问题:截断文本,使用省略号来代表被截断的文本。
如下:
td {
width: 100%;
height: 18px;
white-space: nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
4. 鼠标移到表格弹窗显示全部内容
在表格中的文本内容超过一定长度时,我们需要截断文本并使用省略号显示文本的结尾。但是,当用户想要查看截断的文本时,我们可以用js的技巧来Windows弹窗来显示全部内容,代码如下:
<td onmouseover=showPopup(this)" onmouseout=hidePopup(this)">
我们能够在文本内容超过一定长度时进行截断
</td>
<div id="popupDiv" style="display:none; position:absolute;background-color:#fcf8e3;border:1px solid #ddd;padding:5px">
我们能够在文本内容超过一定长度时进行截断
</div>
<script type="text/javascript">
function showPopup(cell) {
var cordinates = getPosition(cell);
var div = document.getElementById('popupDiv');
div.style.top = cordinates[0] + 'px';
div.style.left = cordinates[1] + 'px';
div.style.display = 'block';
}
function hidePopup(cell) {
var div = document.getElementById('popupDiv');
div.style.display = 'none';
}
function getPosition(cell) {
var cordinates = [];
var x = 0, y = 0;
var width = parseInt(cell.offsetWidth);
var height = parseInt(cell.offsetHeight);
while (cell && cell.tagName != 'BODY') {
x += parseInt(cell.offsetLeft);
y += parseInt(cell.offsetTop);
cell = cell.offsetParent;
}
cordinates.push(y + height);
cordinates.push(x + width + 5);
return cordinates;
}
</script>
5. 最终结论
以上是在 table 中文字信息超过 5 个隐藏,鼠标移到时弹窗显示全部的实现方式。通过使用CSS中的text-overflow和Javascript中的弹窗实现了在table字符过长的情况下对内容的截取,从而实现了更加美观和用户友好的界面。