Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 5 Ответов
  • 930 Просмотров
*

kik84

  • Завсегдатай
  • 1350
  • 64 / 4
Псевдоэлемент :before
« : 20.06.2015, 16:09:17 »
Нужен совет, не получается нагуглить)
Например, в верхнем меню пункты отделены друг от друга символом |
Для этого в CSS прописываю
#menu li:before {
  content: "|";
  left: -10px;
}
а, для того, чтобы первый пункт не имел этого знака т.к. портит дизайн http://joxi.ru/v29NBaxhnd6KAG делаю так:
#menu li.item-95:before {
display: none;
}

Но, неоднократно замечал, что в клубных шаблонах такого нет т.к. там уже в коде соответствующий пункт меню просто не имеет псевдоэлемента :before
Как этого добиться?
*

fbr

  • Завсегдатай
  • 1625
  • 189 / 7
Re: Псевдоэлемент :before
« Ответ #1 : 20.06.2015, 17:32:17 »
#menu li + li:before { ...}
*

darkghost

  • Живу я здесь
  • 2212
  • 97 / 0
Re: Псевдоэлемент :before
« Ответ #2 : 22.06.2015, 14:38:09 »
если использовать для первого использовать -- first-child ?
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Re: Псевдоэлемент :before
« Ответ #3 : 22.06.2015, 15:25:45 »
#menu li + li:before { ...}

Идея хорошая, но работать не будет, т.к. применится только к непосредственному соседу. Если доработать, то так:

Код: css
#menu li + li:before,
#menu li + li + li:before,
#menu li + li + li + li:before,
#menu li + li + li + li + li:before {
/*и таких строк на колличество пунктов.*/
}

Так проще:

Код: css
#menu li:not(:first-child) {…}
*

fbr

  • Завсегдатай
  • 1625
  • 189 / 7
Re: Псевдоэлемент :before
« Ответ #4 : 22.06.2015, 17:10:56 »
Идея хорошая, но работать не будет, т.к. применится только к непосредственному соседу.
...

неа, будет работать :)
Применяется ко всем элементам, перед которыми есть сосед, кроме первого, у которого его нету ..
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Re: Псевдоэлемент :before
« Ответ #5 : 22.06.2015, 17:13:20 »
Может быть. Надо будет проверить. Значит два решения есть.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться