TinyMCE の編集機能で、ちょっと気になる点があります。
私は良く文章に「改行」を入れる性質です。
PCで見るとそれで良いのですが、スマホで見ると文の途中で自動で折り返され、
さらに「改行」が入るので必要以上に間が空いてしまいます。
良く新聞等のサイトの記事をスマホで見ると、あまり「改行」を入れず文章を続けてることが多いようです。
「改行」(<br/>)での行間隔をネットで検索すると、いくつか解決方法が見つかります。
それらを見ると、少なくとも<br/>タグはスマホでは無視したほうが良さそうです。
サイズによって CSS を切り替えるのは、CSS3のメディアクエリで簡単に行えます。
メディアクエリは、MUI でも使われており、以下の CSS を加えます。
@media (max-width: 768px) {
p > br {
display:none;
}
}
影響範囲を限定するように、<p>タグ直下だけにしています。
CSS だけで出来るのは便利です。
これはこれで良いのですが、「改行」の使い方を変えると、必然的に編集窓内はともかくプレビューで見た場合も
段落内の行間が狭まって、見難くなってしまいます。
そこで、表示時には行間を css の line-height を使って空けます。
また、それだけでは<p>タグのマージンも残っているので、<p>タグの行間は前より広くなってしまいます。
結局、
p {
line-height: 2em;
margin : 0 0 0 0;
}
とすると、同じ行間になります。
line-height と margin の値を調整すれば、改行と段落とで、行間隔を少し変える事もできます。
このあたりは、css のマージンの考え方をちゃんと理解出来ていないと戸惑います。
MUI も影響していますので、Chrome の開発ツール等で直接、どの css の指定が
効いているのか確認するのが確実です。
この修正で、スマホでもさほど間が空かなくなりました。
ついでに、TinyMCE の[Enter]の挙動も変えておきましょう。
現在 [Enter] で<p></p>タグ、[Shift]+[Enter]で<br />タグですが、これを逆にします。
公式には forced_root_block を参照してください。
tinymce.init({
:
forced_root_block : false, //!important
});
を追加するだけです。
デフォルトが "p" ですので、もともとは[Enter]で<p>タグが入る仕様では無かったようです。
あと、時々<p>タグが挿入されない場合があります。
大抵の場合何らかの理由(他からコピーしてペーストする場合が多い)で<div>タグが上位に挿入されてしまった場合です。
面倒ですが、「ソース」を開いて上位の<div>タグを<p>タグに置き換えてください。
| « 前頁 | 次頁 » |