-1

要素(の内部)がホバーしているときに、たとえばボックスのcssプロパティを変更する方法はありますか?

たとえば、私が持っている場合:

<table>
<tr><td><a>.....</td></tr>
</table>

リンクaがマウスオーバーしたときに、コンテナtdのプロパティを変更したいと思います。出来ますか?

申し訳ありませんが、よく説明していません。私はテーブルではなく、を持っています...それは単なる例でした....私は持っています

<ul>
<li><a>.....

私のCSSで私は持っています:

#navigation li a {
text-decoration: none;
color: #333;
text-transform: none;
}
#navigation li:hover {
color: white;
background-color: #333;
}
#navigation li a:hover {
color: white;
background-color: #333;
}

しかし、リンクに移動しても問題ないため、機能しません。ただし、マウスをliに移動してもリンクから外すと、テキストの色は変わりません。

4

4 に答える 4

4

それ以外の

#navigation li a:hover {

試す

#navigation li:hover a {
于 2012-11-13T15:41:44.630 に答える
1

しかし、リンクに移動しても問題ないため、機能しません。ただし、マウスをliに移動してもリンクから外すと、テキストの色は変わりません。

これは、リンク自体にホバーを置いているためです。liの上にマウスを置いたときにリンクを反応させたい場合は、ホバー疑似クラスを置く場所を変更するだけです。

li:hover a {
    color: #d2d2d2;
}

これは基本的に「liをホバーすると、その中のリンクがこれらのスタイルに変わるはずです」と言っています。

または、リンクにパディングを追加して(ex- padding: 5px)、その反応場を大きくすることもできます。それで:

li a {
  display: block; /* Required to make it honor padding. */
  padding: 10px;
}

li a:hover {
  color: #d2d2d2;
}

li要素が要素よりも大きいサイズに設定されていない限りa(高さ、幅、マージン、および/またはパディングを介して)、liは「シュリンクラップ」aされ、合計サイズと同じサイズになりますリンクの。

于 2012-11-13T15:27:11.187 に答える
0

親要素のプロパティを変更することはできませんが、親td自体でホバーイベントをトリガーすることはできます。

table td:hover {
    background-color: red;
}
于 2012-11-13T15:07:55.303 に答える
0

display:blockをアンカー要素に追加して、アンカーがliを埋めるようにすることができます...ulなどのインデントによって異なります。

li a { display: block; }
于 2012-11-13T15:50:17.540 に答える