【问题标题】:overall last-child in nested div structure嵌套 div 结构中的整体最后一个孩子
【发布时间】:2019-04-03 18:04:26
【问题描述】:

我有一个html文件的以下结构

text {
  p {
    margin-bottom: rem(22);
    &:last-child {
      margin-bottom: 0;
    }
  }
}
<div class="text">

  <div class="one">
    <p>bla</p>
    <p>bla</p>
  </div>
  <div class="two">
    <p>bla</p>
  </div>
  <div class="three">
    <p>bla</p>
  </div>

</div>

对于最后一个孩子,我只想得到 p 的最后一个孩子。在这种情况下,div class="three" 中的 &lt;p&gt;

但是使用这段代码,我总是为相应 div 中的每个最后一个孩子(一、二、三、...等等)做底部边距。

那么有没有解决方案,只获取 div“文本”的最后一个孩子(&lt;p&gt;)?

我正在寻找一种解决方案,该解决方案将找到最后一个 p 并将边距底部仅添加到该 p

【问题讨论】:

    标签: html css sass css-selectors frontend


    【解决方案1】:

    在这种特殊情况下,选择器必须是

    .text > div:last-child > p:last-child { ... }
    

    或在 SCSS 中

    .text {
         p {
           margin-bottom: rem(22);
         }
         div:last-child {
            p:last-child {
              margin-bottom: 0;
            }
        }
     }
    

    }

    【讨论】:

    • 完全适用于这种结构,但如果例如最后一个没有 p 的 div,则它将不起作用。所以我正在寻找一个解决方案,它会找到最后一个 p 并将边距底部添加到那个。
    • 是的,是的(我写了“在这种特殊情况下”),但我认为没有仅使用 CSS 或 SCSS 的解决方案 - 我想你需要 Javascript 来检查哪些 DIV 包含 p 元素。
    猜你喜欢
    • 2019-04-11
    • 2018-07-31
    • 2012-10-09
    • 1970-01-01
    • 1970-01-01
    • 2010-10-07
    • 1970-01-01
    • 2022-12-17
    • 2013-03-19
    相关资源
    最近更新 更多