在填充之前的css border-bottom

Moh*_*ana 3 html css

是否可以border-bottompadding不插入直接元素的情况下应用之前的元素,即在content盒子本身内?例如,下面我创建了一个包装divs3的类.我可以避免这个吗?

这是一个JSFiddle.

.top {
  border: 1px solid black;
}
.s2 {
  margin: 15px;
  padding: 15px;
  border-bottom: 1px solid blue;
}
.s3 {
  border-bottom: 1px solid blue;
}
Run Code Online (Sandbox Code Playgroud)
<div class="top">
  <div class="s2">
    s2
  </div>

  <div class="s2">
    <div class="s3">
      wrapped in s3
    </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我一直在寻找解决方案,这让我觉得这是不可能的.我不介意使用任何解决方案,只要它不需要我相对或绝对地定位项目.思想CSS伪元素可能允许我这样做,但事实并非如此.

Tur*_*nip 12

你当然可以使用伪元素来做到这一点.

.item {
    margin: 15px;
    padding: 15px;
    background: #f2f2f2;
}

.item:after {
    content: "";
    display: block;
    border-bottom: 1px solid blue;
}
Run Code Online (Sandbox Code Playgroud)
<div class="item">
  Hello!
</div>
Run Code Online (Sandbox Code Playgroud)

更新小提琴

  • 精湛的答案.正如我所说的那样,尽管有问题的措辞.澄清:我不介意使用伪元素,我只是不知道如何. (2认同)