@Nettchen

Как сделать разный margin в зависимости от условия (только CSS)?

Дано: 2 меню. В первом - 4 пункта. Во втором - 8 пунктов.

Как с помощью CSS сделать так, чтобы
когда в меню 4 пункта = отступ между ними был 30px,
а когда становится более 4-х пунктов = отступ между ними становился 10px?

Нужно сделать на чистом CSS. В разметку вносить изменения нельзя. Стилизовать каждое меню по отдельности тоже нельзя. Необходимо, чтобы отступ увеличивался автоматически, при увеличении числа пунктов. Может быть здесь нужно использовать что-то из этого :nth-child() / ~ / calc() ?

Вопрос заключается в том, можно ли вообще такое сделать на чистом CSS?

<div class="two-menu">
		<nav>
			<ul class="menu">
				<li><a href="#">Первый</a></li>
				<li><a href="#">Второй</a></li>
				<li><a href="#">Третий</a></li>
				<li><a href="#">Четвёртый</a></li>
			</ul>
		</nav>
		<nav>
			<ul class="menu">
				<li><a href="#">Первый</a></li>
				<li><a href="#">Второй</a></li>
				<li><a href="#">Третий</a></li>
				<li><a href="#">Четвёртый</a></li>
				<li><a href="#">Пятый</a></li>
				<li><a href="#">Шестой</a></li>
				<li><a href="#">Седьмой</a></li>
				<li><a href="#">Восьмой</a></li>
			</ul>
		</nav>
	</div>
  • Вопрос задан
  • 94 просмотра
Пригласить эксперта
Ответы на вопрос 2
y0u
@y0u
dev
  • Для каждого меню добавить свой класс со своими отступами
  • Если добавлять классы нельзя, можно попробовать написать селектор из того, что есть, для каждого меню отдельно
Ответ написан
RayProgrammer
@RayProgrammer
Ищу познание в мире программирования!
Добавить каждому отдельный class или id.
В css уже обращаться к каждому по отдельности.
Если писать на css, - будет долго. Лучше используй JS или Python, уже до тебя должно было быть сделано)
Удачи! =)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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