Pull to refresh

Comments 30

хм… вроде так должно быть, не?
#comments .c {margin-left: 0px;}
#comments .c .c{margin-left: 20px;}
Семь раз .c написано для ограничения вложенности.
ну тогда ясно, просто не сразу понял для чего это сделано ограничение
Я при выводе вертикального дерева меню делаю так
ul {margin-left:20px;}
и ничего вычислять не нужно, вложенные ul ведут себя как надо
Просто иногда нужно, чтобы начиная с восьмого ответа комментарии не уходили влево. Так сделано, например, здесь. Если мы с вами попереписывается с полчасика, то это будет заметно.
UFO just landed and posted this here
поддержу ветку.
2torpe: не уходили вправо (а не «влево») :)
Ну да, перепутал право и лево:)
UFO just landed and posted this here
Я 13-ый, а отступы все продолжаются.
Кстати, идея проста как кирпич и вместе с тем гениальна!
Возможно что не стоит делать записи совсем уж на одном уровне, просто сделать меньший отступ, и начать уменьшать его раньше.
#comments .c .c .c .c .c .c {margin-left: 5px;}
Глазам будет сложно уровни распознавать при изменении размеров на каком-нибудь шаге.
Зато будет видно что уровни разные, уж лучше чем совсем без отступа.
По-моему, проще это делать на стороне сервера. Каждому комментарию назначаешь «style=margin-left: xx px», причем xx не больше какой-то константы.
Де не проще:) Во-первых, комментариям нужно назначать не стиль, а класс, с сервера-то точно; во-вторых, на сервере своя рекурсия для отображения дерева, засовывать туда еще вычисление отступов, да еще и с ограничениями сложнее, чем чам написать пару css-инструкций.
дерево в бд можно хранить и так чтоб не было рекурсии, но все отступы надо делать стилями, они для этого созданы.
Дерево и так в бд хранится.

class Comment
has_many :comments
end
(псевдокод)
я в смысле, вы написали, что рекурсивный вывод дерева, есть способы хранения деревьев в бд, чтоб не было рекурсивного вывода. например nested set.
Насчет сложности не согласен, это сильно зависит от формата хранения комментариев на сервере. Например у меня они хранятся вместе с MaterialisedPath, для вычисления отступа достаточно умножить длину этого поля на 3.
Ну если вам надо — делайте :)
Sign up to leave a comment.

Articles