在CSS中,在元素之后强制换行而不是将其作为块元素的更好方法是什么?

Nat*_*ley 16 css css3

我有一个H3标题,我想要设置为具有特定的背景颜色,但没有元素的背景占用父元素的整个宽度.看到H3默认是一个块元素,我的样式需要将元素更改为内联块元素,或者只是内联元素,如下所示:

h3 {
    background-color: #333;
    color: white;
    display: inline-block;
}
Run Code Online (Sandbox Code Playgroud)

这样可以正常工作,但前提是它后面紧跟一个块元素.我不想改变标记只是为了迎合这种风格,所以我想知道是否有办法让任何相邻的元素,无论它如何显示,从下一行开始?

假设我可以使用CSS3.

Pet*_*ong 12

试试这个:

h3:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
Run Code Online (Sandbox Code Playgroud)