#javascript #html #css-tables
#javascript #HTML #css-таблицы
Вопрос:
У меня есть таблица (здесь fiddle), в которой есть некоторый javascript, который применяет hover
класс к соответствующей colgroup и строке при наведении курсора мыши. Это должно отображаться как a
внутри таблицы, т.Е. Столбец выделен, а строка.
К сожалению, при применении границ (вторая скрипка) это становится немного странным, когда вы наводите курсор мыши на несколько ячеек (я смотрю в Chrome). Кто-нибудь может понять, почему это происходит?
Я пытался закомментировать border-collpase
свойство, но это не сработало.
.hover {
background: #f0f0f0;
background: #f4f4f4;
}
colgroup.hover {
border-left: 1px solid #ccc;
border-right: 1px solid #ccc;
}
tr.hover{
border-top: 1px solid #ccc;
border-bottom: 1px solid #ccc;
}
Ответ №1:
Прокомментируйте последние два свойства css, как показано в fiddle1
/*colgroup.hover {
border-left: 1px solid #ccc;
border-right: 1px solid #ccc;
}
tr.hover{
border-top: 1px solid #ccc;
border-bottom: 1px solid #ccc;
}*/
Комментарии:
1. Если вы это сделаете (см. Вторую скрипку), то после нескольких наведений (перемещение мыши по экрану) вы начнете видеть визуальные артефакты, и это не сработает.
2. замените css fiddle2 на fiddle1 и посмотрите, что @Chris
Ответ №2:
Вот быстрое решение. Попробуйте добавить эти правила.
colgroup {
border-left: 1px solid #fff;
border-right: 1px solid #fff;
}
tr {
border-top: 1px solid #fff;
border-bottom: 1px solid #fff;
}
Причина, по которой у вас возникают странные эффекты, заключается в том, что границы изменяют размеры блоков.
Добавляя белые границы (или те, которые соответствуют подложке), вы просто меняете цвета без изменения размеров.
Редактировать:
Вы можете изменить правила при наведении курсора мыши, чтобы изменить цвет границы, если хотите. Это устранит некоторые избыточности.