2011-12-14 7 views
3

Я пытаюсь создать систему комментариев, в которой вложенные комментарии имеют цвета фона зебры. (Синий bg отвечает на белые ответы bg на синий bg ...)CSS ссылаются на каждый нечетный вложенный ребенок?

Вместо того, чтобы ссылаться на них как .comment, .comment .comment .comment .comment .comment .comment, .comment, .comment ... ..., есть ли способ ссылаться на этих вложенных детей?

*** У меня есть доступ к таблице стилей, поэтому html, php и javascript не могут быть и речи.

+1

Вы не можете просто применять классы «четного» и «нечетного» соответственно, когда вы генерируете дерево комментариев? Я думаю, что это стандартный подход. – aroth

+0

Можете ли вы привести пример HTML для потока комментариев? –

+0

Короче говоря, это не мой сайт, поэтому я могу только изменить его стили. Каждый комментарий имеет класс с именем «comment», поэтому его создание коэффициентов и evens не является вариантом. – PearSquirrel

ответ

0

Вы можете добавить переменный класс сопровождать .comment, который применяется процедурно как комментарии закладываются на странице (например: .row1, .row2 и т.д.), а затем стиль этих классов соответственно с помощью CSS.

+0

Проблема в том, что я могу изменить только таблицу стилей. – PearSquirrel

+0

@PearSquirrel Ну, это, безусловно, ограничивающий фактор. К сожалению, для современных браузеров вы можете попробовать псевдо-класс **: nth-child **: http://www.w3.org/TR/selectors/#nth-child-pseudo – Aaron

-1

У меня есть система, в которой мне нужен эффект Zebra для всех строк в таблице, я использовал следующий jQuery. Маби-селектор также подаст заявку на вас.

$('#celebs tbody tr:even').css('background-color','#dddddd'); 

Надеется, что это помогает

+0

, это просто стилирует каждую другую строку таблицы , полностью игнорируя шаблон «вложенных» комментариев. – Aaron

-1

Посмотрите на nth-child в справочнике CSS, селекторы раздел. Он используется что-то вроде этого:

tr:nth-child(even) { 
    background: #cccccc; 
} 
tr:nth-child(odd) { 
    background: white; 
} 

вы не должны применять различные классы для чередующихся рядов; Сам CSS выделяет четные строки из нечетных строк.

+0

Так что же это за сказание? Я считаю, что nth-child относится только к одному родительскому элементу, но я мог ошибаться. Будет ли это означать, что уль с тремя лицами будет иметь первый белый, следующий другой, третий белый? Мне нужно, чтобы все они были белыми, но если кто-то отвечает на них, их комментарий отличается от другого - синий. Структура комментария будет идти: WHITE родительский> BLUE child> дочерний дочерний элемент WHITE> BLUE дочерний дочерний ребенок> WHITE дочерний дочерний дочерний ребенок ... – PearSquirrel

+0

Я не могу дождаться, когда CSS3 получит лучшую поддержку ... Селекторы, подобные этому, делают это поразительно грозный. – Aaron

+0

Извините, я думаю, что неправильно понял; так что нет строгого чередования, один пост, один ответ? Можете ли вы опубликовать образец фрагмента структуры? – smendola

Смежные вопросы