Jump to content
  • 0

Нужна


Jack171
 Share

Question

Помогите разобраться. Как правильно сделать стрелочки для многоуровневого меню, чтобы они отображались только у элементов "li", которые в себе содержат подменю. Реально ли это сделать на чистом css? Проблема в том, что добавить эти стрелочки я могу, но они отображаются у всех "li". Даже которые не имеют подменю. Есть вариант, конечно, проставить для каждого "li" класс отдельно, но хотелось бы найти более простой вариант.

И второй вопрос, как можно задать собственный фоновый цвет для "li" элементов подменю? Ведь они наследуют стили, которые были прописаны для основного выпадающего меню.

Edited by Jack171
Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0
Реально ли это сделать на чистом css?
Есть вариант, конечно, проставить для каждого "li" класс отдельно, но хотелось бы найти более простой вариант

как-то странно вы себе css представляете :blink:

Link to comment
Share on other sites

  • 0

USF, муторно это всё. При добавлении нового подменю можно и забыть для него прописать класс. Ладно спрошу тогда иначе, в JS можно это будет трудно реализовать? Чтобы не мучатся с каждым элементом отдельно? Чтобы скрипт для каждого ul подменю добавлял картинку?

Link to comment
Share on other sites

  • 0

я не вижу проблемы в использовании классов.

если вы пишите сами - то оно как правило не особо часто меняется

если часто - есть смысл обратить внимание на готовые модули и таковой реализовать.

но как бы то ни было используются классы, вам от этого не уйти.

не осложняйте себе жизнь - пропишите классы. всего можно 1 использовать - "has-child", к примеру. это значит, что есть потомки(то есть подменю).

если у вас редко добавляется - зачем морочиться, просто создавая присваивайте класс необходимым меню.

а можно и через js - берете элемент списка, проверяете на наличие вложенных списков. если есть - присваиваете класс has-child. хотя это лучше делать на php

Link to comment
Share on other sites

  • 0


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
ul > li > ul:first-child:before{
content: "+";
color: red;
position: absolute;
margin: -20px 0 0 -55px;
}
ul > li {list-style: none;}
</style>
</head>

<body>
<ul>
<li>1</li>
<li>2
<ul>
<li>2.1</li>
<li>2.2</li>
<li>2.3</li>
</ul>
</li>
<li>3</li>
<li>4</li>
<li>5
<ul>
<li>5.1</li>
</ul>
</li>
<li>6</li>
</ul>
</body>
</html>

Через одно место, но работает :D

Сохрани в html файл.

P.S. ":first-child" на случай, если у родительского li будет больше чем 1 дочерний ul. В данной конструкции его можно убрать и всё будет работать.

Edited by ar00
Link to comment
Share on other sites

  • 0

в JS можно это будет трудно реализовать?

Можно и трудно реализовать, а можно и легко реализовать, все от реализатора зависит.

Если ты только верстаешь то ставь доп класс и не мучайся.

В дальнейшем это будет автоматически делаться либо на php, либо на js.

Link to comment
Share on other sites

  • 0

Помогите разобраться. Как правильно сделать стрелочки для многоуровневого меню, чтобы они отображались только у элементов "li", которые в себе содержат подменю. Реально ли это сделать на чистом css? Проблема в том, что добавить эти стрелочки я могу, но они отображаются у всех "li". Даже которые не имеют подменю. Есть вариант, конечно, проставить для каждого "li" класс отдельно, но хотелось бы найти более простой вариант.

Кажется, была уже похожая тема недавно.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy