2

私はEPiServerのサイトで作業しており、タイプが「XHTML文字列」(編集モードでWYSIWYGコンテンツエディターを使用)に設定されたページプロパティを作成すると、すべてのコンテンツが<p>タグでラップされます。

これを防ぐ方法はありますか?テキストの実際の段落の余白必要なため、CSS(たとえばp {margin: 0 !important;})を使用して段落の余白を普遍的に削除することはできません。エディターでHTMLソースビューに移動し、生成されたタグを手動で削除しようとしましたが、保存するとすぐにタグが追加されます。<p>

プロパティタイプが長い文字列または短い文字列の場合は発生しませんが、コンテンツに画像や動的コントロールなどが含まれている可能性があるため、これが常にオプションであるとは限りません。

基本的にページ上のすべての要素に余分な余白が適用されている場合、必要なレイアウトを実現するのは非常に難しいため、これは非常に厄介な問題になりつつあります。

4

4 に答える 4

1

ヨハンが言っているように、彼らは理由のためにそこにいます-詳細はこちらをご覧ください。そうは言っても、それらを削除することは不可能ではありません。これは、2つの方法のいずれかで実行できます(world.episerver.comから取得:

protected override void OnLoad(EventArgs e)
{
    base.OnLoad(e);
    myEditor.InitOptions["force_p_newlines"] = "false";
}

また

<script type="text/javascript">
tinyMCE.init({
    force_p_newlines: false
});
</script> 
于 2011-11-03T14:47:06.053 に答える
0

ソースビューからタグを削除することはできませんが<p>(自動的に追加されるため)、タグに置き換えると、<div>タグがそのままになることがわかりました。それは、私が本当に必要としないいくつかの要素を余分に<div>ラップしていることを意味しますが、少なくともaは、そう<div>するようにマージンを追加しない<p>ので、...十分です!

于 2011-11-23T15:24:42.477 に答える
0

ページを保存するとき、またはプロパティ/ページをレンダリングするときに、正規表現を使用してP要素を削除または削除する独自のカスタムTinyMCE-configを追加できます。

でもそれは悪い考えだと思います。P要素は、編集者が最も生成するものであり、ほとんどの場合、その内容も意味的に正しいものです。プロパティをクラスでdivにラップし、前述のようにCSSを使用してマージンを調整することをお勧めします。

于 2011-11-03T14:40:23.773 に答える
0

TinyMCEエディターでEPiServerのバージョンを使用している場合、Enterの代わりにshift-enterと入力すると<br />、要素の代わりに要素を挿入できます。<p>これにより、マージンの問題が解消されます。

以下のリンクで詳細をご覧ください。

http://www.tinymce.com/wiki.php/TinyMCE_FAQ#TinyMCE_produce_P_elements_on_enter.2Freturn_instead_of_BR_elements.3F

編集:以下の私のコメントは彼の質問にもっとよく答えます。

于 2011-11-07T20:51:51.243 に答える