我的网站上有一个动态创建的asp:table。在表的一列中,我在每行中都有一个asp:Label,其中填充了用户名。在标题行上,该列的单元格宽度设置为150px。用户名的最大宽度约为75像素。在每个标签上,我有一个CSS悬停类,它改变字体颜色并使字体变粗。当您将鼠标悬停在最长的用户名上时,该列中的所有单元格都会展开,这会将其他列推出几个像素。我该如何解决这个问题?
我知道为HTML表声明列组,但是,我不能用asp:table控件来做。
Table tbl = new Table();
TableRow headerRow = new TableRow();
TableCell cell1 = new TableCell();
cell1.Attributes.Add("style", "width:50px");
cell1.Text = "Rank";
headerRow.Cells.Add(cell1);
TableCell cell2 = new TableCell();
cell2.Attributes.Add("style", "width:150px");
cell2.Text = "User";
headerRow.Cells.Add(cell2);
TableCell cell3 = new TableCell();
cell3.Attributes.Add("style", "width:75px");
cell3.Text = "Champion";
headerRow.Cells.Add(cell3);
tbl.Rows.Add(headerRow);
foreach (var user in users)
{
TableRow contentRow = new TableRow();
TableCell contentCell1 = new TableCell();
contentCell1.Text = user.Rank.ToString();
contentRow.Cells.Add(contentCell1);
TableCell contentCell2 = new TableCell();
Label userLbl = new Label();
userLbl.Text = user.UserName;
userLbl.CssClass = "HoverLabel";
contentCell2.Controls.Add(Label);
contentRow.Cells.Add(contentCell2);
TableCell contentCell3 = new TableCell();
contentCell3.Text = user.Champion.ToString();
contentRow.Cells.Add(contentCell2);
tbl.Rows.Add(contentRow);
}
答案 0 :(得分:0)
将文字设为粗体会扩展它,所以如果它不适合,请先查看增加width
。
但如果你坚持"裁剪"不适合你的文字可以使用以下样式强制它:
表:table-layout: fixed
和width
值
TableCell:overflow: hidden; white-space: nowrap;