在单元格内容上悬停加粗时,表格单元格正在展开

时间:2016-03-15 15:05:08

标签: html css asp.net cell

我的网站上有一个动态创建的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);
}

1 个答案:

答案 0 :(得分:0)

将文字设为粗体会扩展它,所以如果它不适合,请先查看增加width

但如果你坚持"裁剪"不适合你的文字可以使用以下样式强制它:

表:table-layout: fixedwidth

TableCell:overflow: hidden; white-space: nowrap;