169 похожих чатов

Привет! Почему срабатывает .item:nth-of-type(4n + 2), если это первый элемент

типа .item (по-сути должно быть 4n + 1)?

Моя задача пропустить .ghost-item и делать nth только для .item

5 ответов

28 просмотров

Привет! В CSS селектор .nth-of-type(n) работает немного не так, как можно было бы ожидать, исходя из его названия. Селектор .nth-of-type применяется к элементам внутри их родителя и считает всех детей одного типа (например, всех <div>), не учитывая другие классы или идентификаторы. Если элемент .ghost-item является первым элементом типа <div> внутри его родителя, то он будет учитываться в вычислении псевдокласса :nth-of-type(), даже если у него другой класс. Соответственно, первый элемент с классом .item будет считаться вторым типом <div> внутри его родителя, если перед ним есть другой <div>, и селектор :nth-of-type(4n + 2) будет на него применяться. Чтобы исключить .ghost-item из вычислений nth-of-type и применять стили только к элементам с классом .item, можно использовать следующие подходы: 1. Изменить разметку HTML, чтобы .ghost-item и .item были разными типами элементов. Например, .ghost-item может быть <span>, а .item останутся <div>. Таким образом, nth-of-type будет применяться только к <div> с классом .item. 2. Использовать другой подход к стилизации, например, класс-модификатор для элементов, которым нужно применить стили, и стилизовать их напрямую через классы, не зависящие от их порядка. Если изменение HTML структуры не подходит и нужно именно использовать nth-of-type, тогда нужно убедиться, что элементы, которые вы не хотите считать, не являются тем же типом элемента, что и те, к которым вы хотите применить nth-of-type.

User-Tate Автор вопроса
Илюша 🎂
screenshot )))

Тогда ему передай спасибо!

Потому что по Тэгу, п не по классу

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта