1

我有一个表,我在文件后面的代码中以编程方式创建了一个表,并将备用行的颜色设置为灰色以便于查看,如下所示:

<New cells and rows created here>

tblResults.GridLines = GridLines.Both;
tblResults.BorderStyle = BorderStyle.Solid;
tblResults.HorizontalAlign = HorizontalAlign.Center;

if (rowNumber % 2 == 1)
{
    tblRow.BackColor = System.Drawing.Color.LightGray;
}
tblResults.Rows.Add(tblRow);

tblResults.CssClass = "myclass" ;
pnlContent.Controls.Add(tblResults);

当用户将鼠标悬停在它们上方时,我还希望突出显示这些行,如下所示:

.myclass tr:hover
{
   background: #FCF;
}

现在,悬停似乎仅适用于我假设优先于 css 的 c# 代码中未突出显示为灰色的行。

我怎样才能让这些灰色行与 CSS 悬停一起工作?

4

2 回答 2

1

试试这个希望它有所帮助,我认为页面内的样式覆盖了你的浅灰色背景。试试这个会很容易找到解决方案

if (rowNumber % 2 == 1)
{
tblRow.Attributes.Add("Class","ClassName_grey");
}
else{
tblRow.Attributes.Add("Class","ClassName_nothing")
}

.myclass tr:hover
{
   background: #FCF;
}
.ClassName_grey {
background: #eeeeee; 
}
于 2013-02-25T12:14:13.830 回答
0

你可以试试

.myclass tr:hover
{
   background-color: #FCF;
}

或添加 !important 限定符。前者基本上设置了与服务器端代码相同的样式,而您的代码设置了不太具体的背景(它的所有方面,而不仅仅是颜色)。

否则,请尝试查看源代码或使用开发人员工具来查看需要覆盖的样式属性。

于 2013-02-25T12:10:03.163 回答