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 に答える