css - 分级评论系统

标签 css css-selectors

我正在做前端设计并与几个后端程序员一起工作——这个过程对我来说是新的。

我们正在尝试建立一个评论系统,该系统具有完整的回复层次结构。我认为设置不同级别样式的最简单方法是使用第 n 个子项和嵌套列表,但我不太清楚如何做到这一点。想法?

最佳答案

正如 Ian 所说,nth-child 一次只能在一个级别上工作。如果您想更好地理解 nth-child,这里有一些资源:

无论如何,您可能需要考虑以下事项:在分层注释的情况下,一件令人讨厌的事情是,从某个级别来看,它们可能变得如此狭窄,看起来很糟糕,甚至阅读有点困难。这就是为什么我赞成限制层数 - 上面提到的 disqus 提供了限制嵌套层数的选项。

如果你的关卡数量有限,比方说三个或五个,你可以为每个级别添加类(top-level, second-level, third-level) 并设置不同的样式。您拥有的另一种选择(不依赖于限制级别数)是通过添加一些 odd-level/even-level 来设置不同样式的奇偶级别生成 HTML 时的类。

基本上,你会得到这样的东西:

<ul class="comments">
    <li class="comment first-level">
        <div class="comment-data">[date, time, comment author, link]</div>
        <div class="comment-body">[whatever is said in the comment]</div>
        <div class="comment-footer">[reply option, show/hide comment thread option]</div>
        <ul class="comment-thread">
            <li class="comment second-level">
                <div class="comment-data">[date, time, comment author, link]</div>
                <div class="comment-body">[whatever is said in the comment]</div>
                <div class="comment-footer">[reply option, show/hide comment thread option]</div>
                <ul class="comment-thread">
                    [... and so on...]
                </ul>
            </li>
        </ul>
    </li>
</ul>

如果我认为更好,您可以添加类,例如 level-1level-2...,无论您有多少级别。

关于css - 分级评论系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10642086/

相关文章:

javascript - 使用 querySelectorAll 时,是否可以在不使用 ID 的情况下引用上下文节点的直接子节点?

html - 输入[类型="radio"]#amountSelectionOther :checked+label+input#amountSelectionOtherField{display: inline-block;} not working in Safari

css - 如何用 grunt 递归编译 less/sass 文件

javascript - 当元素到达视口(viewport)顶部时添加类

jQuery :not() + nth-child

css - 我可以合并 :nth-child() or :nth-of-type() with an arbitrary selector? 吗

css - 有没有办法在 tr 级别通过 css 应用背景颜色?

javascript - 如何制作具有许多层次结构/子子的水平下拉菜单?

图像的css对齐

html - 如何垂直对齐水平列表中的元素