bootstrap popoverを表示するために次のようにHTMLコードを使用しています
<a data-original-title="" data-content="Hi,
Welcome !
Sincerely,
programmer
"
data-placement="bottom">
content
</a>
そして、私は次のようにポップオーバーを初期化しました
$(this).popover({
html:true
});
すべて正常に動作しますが、問題はデータコンテンツで利用可能なコンテンツがスペースで表示されないことです。..新しい行をすべて削除し、1行で表示します。
Htmlの新しい行に<br />
を使用するか、<pre>
タグを使用する必要があります
data-html="true"
属性が存在することを確認してください。
Arun P Johnyのソリューションに追加するには、<br />
値のdata-content
タグがページのポップオーバーコンテンツでプレーンテキストとしてレンダリングされていることがわかったら、追加属性data-html="true"
を追加します、 そのようです:
<a data-content="Hi,<br />Welcome !<br /><br />Sincerely,<br />programmer"
data-html="true"
data-placement="bottom">
content
</a>
data-html="true"
を使用すると、 XSS攻撃 ;に潜在的な脆弱性が生じることに注意してください。サニタイズされていないユーザー入力で使用しないでください。
ドキュメント: https://getbootstrap.com/docs/3.3/javascript/#popovers-options
white-space: pre-wrap;
を使用して、書式設定で改行を保持できます。 html要素を手動で挿入する必要はありません。
.popover {
white-space: pre-wrap;
}
行を分割したいポップオーバーテキストに\ nを追加し、スタイルシートに次を追加することで、これを機能させることができました。
.popover {
white-space: pre-line;
}
みんな、助けてくれてありがとう!
タグにdata-html = "true"を追加するだけで、ヘルプテキスト内のすべてのhtmlタグが正常に機能し、
ポップオーバー全体に余分な空白を追加したことがわかった場合を除き、空白のスタイル設定を事前にラップすることができました。代わりに、このスタイルをポップオーバーコンテンツに追加しました。
.popover-content {
white-space: pre-wrap;
}