90

純粋なcssで、つまりhtmlタグを追加せずに、次のように改行することは可能<br>ですか?<h4>要素の後で改行したいのですが、前ではありません:

HTML

<li>
  Text, text, text, text, text. <h4>Sub header</h4>
  Text, text, text, text, text.
</li>

CSS

h4 {
  display: inline;
}

私はこのような質問をたくさん見つけましたが、常に「display:block;を使用してください」のような答えがあります。<h4>、同じ行に留まらなければならないとき、私はできません。

4

4 に答える 4

144

それはこのように動作します:

h4 {
    display:inline;
}
h4:after {
    content:"\a";
    white-space: pre;
}

例: http: //jsfiddle.net/Bb2d7/

トリックはここから来ます:https ://stackoverflow.com/a/66000/509752 (詳細な説明があります)

于 2012-06-07T14:44:27.510 に答える
8

試す

h4{ display:block;}

あなたのCSSで

http://jsfiddle.net/ZrJP6/

于 2012-06-07T14:30:24.210 に答える
6

を使用して、の後に-heightブロック::afterを作成できます。これにより、後のすべてが効果的に次の行に移動します。0px<h4><h4>

h4 {
  display: inline;
}
h4::after {
  content: "";
  display: block;
}
<ul>
  <li>
    Text, text, text, text, text. <h4>Sub header</h4>
    Text, text, text, text, text.
  </li>
</ul>

于 2012-06-07T14:35:43.613 に答える
0

私はパーティーに遅れていることを知っていますが、これが私の2セントです。

CSS

li h4 {
   break-after: always;
}

li h4::after {
   display: block;
   content: " ";
}
于 2021-12-22T22:35:19.850 に答える