お世話になります、Pontaと申します。
御社が公開しているnicEdit.js Japanease Versionを
利用しているのですが、IEで外部CSSを指定、もしくは
一括でCSSを記述できるようなメソッドはありますでしょうか。
ソースを読み込んだところ、IEではnicEditorInstanceのインスタンスを
生成している為、直接DIV要素に書きこまれていると思います。
背景としまして、クロスブラウザ用に他の外部CSSファイルでスタイルを
初期化している要素が多々あり、それがIEでのnicEditと競合し、
nicEdit内の要素が崩れてしまっている現状があります。
(Firefox等のようにiframeであればこういう事態はないのでしょうが。。。)
以上でございます、よろしくお願い致しますm(__)m
Pontaさん こんばんは。
お世話になっております。
ご質問ありがとうございます。
おそらく一括で CSS を記述するメソッドはないものと思います。ただ、nicEdit の デモ5 (のソース)が参考になるかも知れません。
https://cmonos.jp/nicEdit_ja/demos/demo05.html
nicEdit のパネル等には class 名が設定されますので、たとえば下記のようにスタイルを追記することで対処できないでしょうか。
div.nicEdit-main [スタイルを調整したい要素名] {
...スタイル...
}
nicEdit のさまざまなツールはたいてい div 要素で生成されていますので、これが崩れるということは、div 要素に必ず margin 等が設定されるということでしょうか? もしそうであれば、たとえば次のようなスタイルを追記することで表示の崩れを回避できるかもしれません。
form div {
margin: 0;
padding: 0;
border: none;
}
いずれにしましても、外部 CSS による影響は、nicEdit 側よりも外部 CSS と HTML を工夫することで取り除かれた方がよいように思います。
以上参考になりましたら幸いですm(_ _)m。
早速の返信ありがとうございます!!
そうですね、ブラウザ間のスタイル挙動(nicEdit以外の要素)をなくす為にあらかじめ外部CSSでmarginを0にしている箇所等があったのですが、
それがIEのnicEditはiframeでない為その外部cssが影響してnicEditor内が崩れてしまっていました。
外部cssを外さずスマートにやれる方法はないかなと思っていました。
また別件ですが、中央揃えや右寄せ等のボタンを押下した後IEではredo, undoボタンが機能しなくなってしまっていることを発見したので報告させていただきます。m(__)m
Pontaさん、こんばんは。
ご報告ありがとうございます。
前回の書き込みがお役に立てたのでしたらたいへんうれしく思います。
さて、undo/redo の件ですが、IEに限らず動作しない場合があることについて、弊社でも認識しておりました。
ちなみに、オリジナル版の nicEdit では一度は実装された undo/redo が、現在配布されているバージョンから削除されています(画像には undo/redo があるのに配付版にはないことからもそれが読み取れます)。
弊社で日本語版を作成するにあたり、「ないよりはあった方がよさそうだ」ということで、undo/redo を復活させた経緯があります。
ただ、オリジナル版から undo/redo が削除されたのは、これらがうまく動作しない場合が多々あるためではないかと思います。
もし、undo/redo があることで逆にユーザーに混乱を招く(動くことを期待して安心していたのに動かない!)ようであれば、undo/redo をパネルから外すことをお勧めいたします。
過去に弊社でもいろいろ試してみたのですが、確実に動作させる方法がわかりませんでした。もし何か解決方法がわかりましたら、ぜひご教授ください。よろしくお願いいたしますm(_ _)m。