Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Web > HTML и CSS
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 19.08.2017, 17:37   #1
Bulat Ibrahim
Форумчанин
 
Регистрация: 24.04.2015
Адрес: Татарстан, г. Казань
Сообщений: 190
Репутация: 168
По умолчанию "Продвинутый" nth-child, или как выбрать в промежутке

Здравствуйте.
Есть таблица расписаний уроков на сайте. И для удобства я делю недели и группы на разные цвета. Раньше я это делал с помощью классов (каждой строке tr присваивал свой класс, и в стилях задавал фон), но сейчас начал переводить данные на БД SQL. И, так как данные выводятся с помощью цикла "foreach", каждому tr присвоить класс не получится. Нужно что-то придумать...
Цвет в начале и в конце таблицы я сделал с помощью "nth-child(-n+6)" и "nth-last-child(-n+6)". Но вот как задать цвет в середине? Или, быть может, есть какие-тоскрытые приёмы для остановки счётчика "n", когда дойдёт до определённой цифры? Или, хотя бы, есть возможность перечислить через запятую нужные элементы (пробовал писать nth-child(6, 7, 8) - не работает)?
__________________
Булат Азат улы
Bulat Ibrahim вне форума   Ответить с цитированием
Старый 19.08.2017, 17:51   #2
Вадим Мошев

Заслуженный модератор
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Адрес: programmersforum
Сообщений: 8,306
Репутация: 4055
По умолчанию

Попробуйте хранить список классов в массиве, а в цикле извлекать их оттуда и присваивать атрибутам. Например, что-то в этом роде
Код:
<?php
$classesList[0] = '.class0';
$classesList[1] = '.class1';
$classesList[2] = '.class2';
// и так далее

// ...

$n = 0;
foreach ($variable as $key => $value) {
 ?>
  <td class="<?=$classesList[$n++]?>">что-то...</td>
 <?php 
};
Вадим Мошев вне форума   Ответить с цитированием
Старый 19.08.2017, 17:56   #3
Bulat Ibrahim
Форумчанин
 
Регистрация: 24.04.2015
Адрес: Татарстан, г. Казань
Сообщений: 190
Репутация: 168
По умолчанию

Идея хорошая, что-то сам не додумался...
Спасибо!
__________________
Булат Азат улы
Bulat Ibrahim вне форума   Ответить с цитированием
Старый 19.08.2017, 19:37   #4
Cuprum5
Участник клуба
 
Регистрация: 09.05.2017
Сообщений: 523
Репутация: 104
По умолчанию

Цитата:
Сообщение от Bulat Ibrahim Посмотреть сообщение
"nth-child(-n+6)"
- а что за формула такая? Как я понял она не дает такого преимущества, как четные там или нечетные, например. Просто здесь берутся все числа подряд начиная с 5 и уменьшается каждый раз на 1 и после 7 элемента включительно идут отрицательные числа.
Cuprum5 вне форума   Ответить с цитированием
Старый 19.08.2017, 22:30   #5
Bulat Ibrahim
Форумчанин
 
Регистрация: 24.04.2015
Адрес: Татарстан, г. Казань
Сообщений: 190
Репутация: 168
По умолчанию

Цитата:
Сообщение от Cuprum5 Посмотреть сообщение
а что за формула такая?
Cuprum5, "n" — это счетчик, который начинается с нуля (0, 1, 2, 3, ...)
То есть, "nth-child(-n+6)" выбирает следующие элементы по списку:
1: -0+6 = 6; (равнозначно nth-child(6))
2: -1+6 = 5;(равнозначно nth-child(5))
3: -2+6 = 4;(равнозначно nth-child(4))
4; -3+6 = 3;(равнозначно nth-child(3))
5: -4+6 = 2;(равнозначно nth-child(2))
6: -5+6 = 1;(равнозначно nth-child(1))
7: -6+6 = 0 (это уже не используется, т.к. nth-child(0) — нет. также, не будут использоваться и минусовые значения).
__________________
Булат Азат улы
Bulat Ibrahim вне форума   Ответить с цитированием
Старый 19.08.2017, 22:52   #6
Cuprum5
Участник клуба
 
Регистрация: 09.05.2017
Сообщений: 523
Репутация: 104
По умолчанию

Ну там я что-то не понял с чего вообще он начинается. Где пример был с таблицей там с 1 начинается, а где-то написано что от 0 - косяк или правда, фиг его знает. Спасибо за ответ. Раз Вы уверены - тогда ладно.
Cuprum5 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Есть две таблицы ("Клиенты" и "Заказы"). Как выбрать клиента, у которого самое большое число заказов? nadya06 SQL, базы данных 5 16.02.2018 10:34
Нужна помощь - с помощью какой программы или программ лучше всего сделать игру ? ( такие как "что ? где? когда?" или "Самый умный" EOTE Помощь студентам 10 09.12.2016 23:58
Нужно пояснить/прокомментировать код программы, или коды функций "Добавить" "Удалить" "Обновить(редактировать" "Поиск" "Период") ZIRASS PHP 4 15.06.2016 15:23
Как вставить кнопку "Поделится" или "мне нравится" в phpbb3 borecc PHP 1 07.03.2011 14:44


00:29.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.