Ответ 1
Лучше всего использовать
table.YourClass tr:hover td {
background-color: #FEFEFE;
}
Строки не полностью поддерживают фоновый цвет, но ячейки, используя комбинацию: hover и дочерний элемент, предоставят нужные результаты.
Я пытаюсь выделить (изменить цвет фона) всей строки, когда мышь зависает в строке таблицы. Я искал в Сети, и он должен работать, но это не так. Я показываю его в Chrome.
<table class="list1">
<tr>
<td>1</td><td>a</td>
</tr>
<tr>
<td>2</td><td>b</td>
</tr>
<tr>
<td>3</td><td>c</td>
</tr>
</table>
my css:
.list1 tr:hover{
background-color:#fefefe;
}
Правильный css должен быть:
.list1 tr:hover td{
background-color:#fefefe;
}
//--this css for the td keeps overriding the one i showed earlier
.list1 td{
background-color:#ccc000;
}
Спасибо за отзывы, ребята!
Лучше всего использовать
table.YourClass tr:hover td {
background-color: #FEFEFE;
}
Строки не полностью поддерживают фоновый цвет, но ячейки, используя комбинацию: hover и дочерний элемент, предоставят нужные результаты.
Вам нужно использовать <!DOCTYPE html>
для: hover для работы с чем-либо, кроме тега <a>
. Попытайтесь добавить это в начало своего HTML.
попробовать
.list1 tr:hover td{
background-color:#fefefe;
}
tr:hover
не работает в старых браузерах.
Вы можете использовать jQuery для этого:
.tr-hover
{
background-color:#fefefe;
}
$('.list1 tr').hover(function()
{
$(this).addClass('tr-hover');
},function()
{
$(this).removeClass('tr-hover');
});
У меня отлично работает... tr:hover
должно работать. Возможно, это не сработает, потому что:
Заданный вами цвет фона очень светлый. Вы случайно не используете это на белом фоне, не так ли?
Ваши теги <td>
закрыты неправильно.
Обратите внимание, что наведение <tr>
не будет работать в старых браузерах.
Вы можете просто использовать свойство background
CSS следующим образом:
tr:hover{
background: #F1F1F2;
}
Попробуйте:
код css:
.list1 tr:hover td {
background-color:#fefefe;
}
Используйте !important
:
.list1 tr:hover{
background:#fefefe !important;
}
Как говорит @wesley, вы не закрыли свой первый <td>
. Вы открыли его два раза.
<table class="list1">
<tr>
<td>1</td><td>a</td>
</tr>
<tr>
<td>2</td><td>b</td>
</tr>
<tr>
<td>3</td><td>c</td>
</tr>
</table>
CSS:
.list1 tr:hover{
background-color:#fefefe;
}
JavaScript не нужен, просто заполните HTML-код
У меня была та же проблема. Я обнаружил, что если я использую DOCTYPE, например:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
это не сработало. Но если я использую:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
он действительно работал.
Также попробуйте tr:hover td {color: aqua;}
`
Недавно у меня была похожая проблема, проблема была в том, что я использовал background-color, используйте background: {anyColor}
Пример:
tr::hover td {background: red;}
Это работает как шарм!
Также важно, в каком порядке стили в тэгах вашего CSS файла. Убедитесь, что ваши tr: nth-child и tr: hover td описаны перед таблицами td и th. Вот так:
#tblServers {
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 100%;
}
#tblServers tr:nth-child(even){background-color: #f2f2f2;}
#tblServers tr:hover td{background-color: #c1c4c8;}
#tblServers td, #tblServers th {
border: 1px solid #ddd;
padding: 8px;
}
#tblServers th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
background-color: #4a536e;
color: white;
}