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

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

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


Ответ
 
Опции темы
Старый 19.08.2017, 17:37   #1
Bulat Ibrahim
Форумчанин
 
Регистрация: 24.04.2015
Сообщений: 190
По умолчанию "Продвинутый" 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
Сообщений: 8,591
По умолчанию

Попробуйте хранить список классов в массиве, а в цикле извлекать их оттуда и присваивать атрибутам. Например, что-то в этом роде
Код:
<?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
По умолчанию

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

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

Цитата:
Сообщение от 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
Сообщений: 554
По умолчанию

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Есть две таблицы ("Клиенты" и "Заказы"). Как выбрать клиента, у которого самое большое число заказов? 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