CSS sticky z-индекс работает только на TD, а не на текстовом содержимом

#html #css #html-table #z-index

Вопрос:

Я перепробовал все возможные поиски и это, и ничего не добился. У меня есть таблица с thead tr набором position: sticky , однако она работает не так , как хотелось бы — текстовое содержимое td переходит на липкий th , фон покрывает элементы, но текст переходит, как сэндвич ;’d.

ДЕМОНСТРАЦИЯ

Мерзавец

Я пробовал использовать негатив z-index , translateZ(0) и, похоже, ничего не работает..

Комментарии:

1. Вы пробовали использовать top: 0; ?

2. Ваша демонстрация ведет себя здесь так, как ожидалось-строка в разделе заголовка таблицы липкая, и я не вижу никаких других строк, покрывающих ее. Я использую Firefox 87.

Ответ №1:

Я просто удалил липкое, а затем заметил, что оно закрывает боковую панель. Поэтому сохранение липкости и изменение z-индекса на 200 и тега в сторону на 300 сработало для меня. Дайте мне знать, если я что-то упущу.

 thead {
position: sticky;
z-index: 200;
}

aside {
grid-area: aside;
display: flex;
flex-direction: column;
gap: 2rem;
height: 100%;
color: var(--theme-light);
background: linear-gradient(30deg, var(--theme-dark), var(--theme-dark_darker));
position: relative;
z-index: 300;
width: 100%;
height: 100%;
transition: width .2s ease-out;
}
 

Комментарии:

1. отлично! это сработало как заклинание! хотя на самом деле не могу понять, почему это вообще повлияло на это

2. Когда я удалил положение sticky, thead стал элементом со статическим положением. Z-индекс не влияет на положение статических элементов, поэтому он был размещен над боковой панелью. Когда вы добавляете привязку к позиции, она становится позиционированным элементом, и поскольку у вас нет заданного z-индекса, она автоматически помещается за вещами с более высоким z-индексом или статическими элементами позиции. Например, основная таблица, которая является статической по положению.