Укладка tr в один стол

Я пытаюсь сложить tr в одну таблицу, используя z-index, но мне не повезло. Я не могу изменить / добавить саму структуру, поэтому, если не используется ванильный javascript или CSS, мои руки связаны. В моем сценарии мне нужно, чтобы 3-е тр было позади двух верхних тр.

table {
  position: relative;
  z-index: 100;
}

table tr:nth-child(3) {
  position: relative;
  z-index: 1;
}

table tr:nth-child(1),
table tr:nth-child(2) {
  position: fixed;
  z-index: 100;
}
<table>
  <tr>
    <td>
      // Content
    </td>
  </tr>
  <tr>
    <td>
      // Content
    </td>
  </tr>
  <tr>
    <td>
      // Content needs to flow behind the other two on scrolling
    </td>
  </tr>
</table>

почему-то само получилось, используя то, что у меня есть. Я не понимаю в чем разница

Keith 18.12.2018 16:43
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
1
1
27
3

Ответы 3

Если я не понимаю проблему неправильно, я думаю, это то, чего вы хотите достичь?

https://codepen.io/littlefinger42/pen/vvXbPZ

Я не менял ни один из ваших CSS, но я исправил ваш HTML. Элементы <tr> требуют в качестве дочерних элементов <td> или <tr>.

td теги есть, я просто не добавлял их сюда

Keith 18.12.2018 16:34

@Keith Код - это не то, чего вы пытаетесь достичь? Я вижу три ряда таблицы друг над другом.

L. Copley 18.12.2018 16:35

Попробуйте поместить свой контент в td:

<style type = "text/css">
    table {
        position: relative;
        z-index: 100;
    }

        table tr:nth-child(3) {
            position: relative;
            z-index: 1;
        }

        table tr:nth-child(1), table tr:nth-child(2) {
            position: fixed;
            z-index: 100;
        }
</style>
 <table>
        <tr>
            <td>
                // Content
            </td>
           
        </tr>
        <tr><td>
    // Content
</td>
           
        </tr>
        <tr> <td>
    // Content needs to flow behind the other two on scrolling
</td>
           
        </tr>
    </table>

Таблицы немного сложно стилизовать, потому что они не являются типичным элементом display: block, как большинство html. Вместо этого они по умолчанию - display: table, table-row, table-cell.

Чтобы заставить работать слои z-index, вам нужно дать <tr>display: block, а также убедиться, что вы включили свои <td> в <tr>, чтобы сохранить семантику. Тогда вы сможете добиться того, чем хотите.

table{ }
table tr { position: relative; display: block; z-index: 1; }

table tr:nth-child(1) 	{ background: yellow; }
table tr:nth-child(2)	{ background: skyblue; }
table tr:nth-child(3)	{ background: lime; z-index: -1; transform: translateY(-50%); }
<table>
    <tr>
        <td>td// Content</td>
    </tr>
    <tr>
        <td>td// Content</td>
    </tr>
    <tr>
        <td>// Content needs to flow behind the other two on scrolling</td>
    </tr>
</table>

Другие вопросы по теме