2

CKEditorを使用していますが、段落の最初の行だけをインデントしたいと考えています。<p>以前に行ったことは、「ソース」をクリックしてスタイルを編集してを含めることtext-indent:12.7mm;ですが、「ソース」をもう一度クリックして通常のエディターに戻ると、変更が失われ、理由がわかりません。

<p>私の好みは、カスタム ツールバー ボタンを作成することですが、カスタム ボタンをクリックすると必要なスタイル属性で編集されるように、その方法や編集場所がわかりません。

4

2 に答える 2

4

使用している CKE のバージョンによっては、style属性またはtext-indentスタイルがコンテンツで許可されていないため、変更が失われる可能性が高くなります。これは、CKEditor の許可されたコンテンツ フィルター機能によるものです。詳細については、http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter を参照してください

Ervald がコメントで述べたように、コードを手動で追加せずに CSS を使用してこれを行うこともできますが、ターゲティング オプションは限られています。すべての段落をターゲットにするか、id または class プロパティを段落に追加してそれをターゲットにする必要があります。または、常に最初の要素のみをインデントするように制限されているようなセレクターを使用する場合:first-child(これはあなたが望むものかもしれませんが、私にはわかりません:D)。

そのように CSS を使用するには、関連するコードを に追加する必要がありますcontents.css。これは、エディター コンテンツで使用される CSS ファイルであり、エディター コンテンツを出力する場所にもそれを含める必要があります。


私の意見では、最良の解決策は、ツールバーにアイコンを配置するプラグインを作成することであり、そのボタンをクリックすると、現在アクティブな段落に「indentMePlease」などのクラスを追加または削除します。上記のプラグインの開発は非常に簡単で、十分に文書化されています。http://docs.ckeditor.com/#!/guide/plugin_sdk_sample_1 の優れた例を参照してください。詳細情報が必要な場合や質問がある場合は、コメントで質問してください :)

その場合は、contents.css と出力ページに「indentMePlease」スタイルの実装を追加する必要があります。

于 2014-08-25T09:09:34.523 に答える