• 締切済み

iframe内で、指定文字数での改行

cssも使ったhtmlです。 検索してemを使えば指定文字数で改行できることが分かりましたのでそれを踏まえて試行してみました。 問題点 ・勝手なところで改行されてしまう ・emでwidthを指定するとwindowを縮めたとき、指定em > windowサイズだと自動改行されない ・iframe部のwidthに直接emを指定すると指定位置で改行できるが、windowを縮めたとき横にスクロールしてしまう。 どうすれば「指定長さでの改行」「指定長さ > window幅サイズの時の自動改行」がされるようにできますでしょうか。 教えてください。

みんなの回答

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

iframeは、外部のHTMLを呼び出すので、呼び出し元のHTMLやスタイルシートでは指定できません。  なお、外部HTMLとは、そのHTMLが呼び出しているスタイルシートや画像も含みます。 >cssも使ったhtmlです。 検索してemを使えば指定文字数で改行できることが分かりましたのでそれを踏まえて試行してみました。  意味が全く不明です。CSS,HTMLは頭文字ですから大文字です。emは要素の場合はEMと書いたほうが分かりやすいでしょう。スタイルシートの値であるemと区別がつきません。 ★そもそもHTMLの要素であるEMは、行内要素(inline)です。  ⇒9.2.1 フレーズ要素: EM、 STRONG、DFN、CODE、SAMP、 KBD、VAR、CITE、ABBR、及び ACRONYM要素( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/text.html#edef-EM )  スタイルシートで指定しなければ、ブラウザの持つデフォルトのスタイルシートで斜体や下線付きで表示されますが、意味的には単に「強調」であって、その意味がないのに遣うべきではありません。 ★スタイルシートのサイズのemは、その時点でのフォントサイズを参照する相対サイズです。  ⇒4.3.2 長さ(Lengths)( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2/syndata.html#length-units )  いずれであるにしろ、改行には一切無関係です。  改行の処理は言語体系によって異なります。単語境界を持つ英文などでは、必ず半角スペースで改行されますが、日本語のように単語境界を持たない言語では、改行位置は、そのブロックのサイズいっぱいで、どの場所でも改行されます。 >emを使えば指定文字数で改行できることが  は、誤りです。  されたいことが、さっぱり分からないまですが、英文のように特定の単語内で改行したくないときは、 <div class="section poem" lang="ja"> <h2>山のあなた</h2> <p class="poet">カール・ブッセ</p> <p class="translator">上田敏</p> <p><span class="word">山の</span><span class="word">あなたの</span><span class="word">空遠く</span></p> <p><span class="word">「幸さいはひ」</span><span class="word">住むと</span><span class="word">人のいふ。</span></p> <p><span class="word">噫ああ、</span><span class="word">われひとと</span><span class="word">尋とめゆきて、</span></p> <p><span class="word">涙さしぐみ、</span><span class="word">かへりきぬ。</span></p> <p><span class="word">山のあなたに</span><span class="word">なほ遠く</span></p> <p><span class="word">「幸さいはひ」</span><span class="word">住むと</span><span class="word">人のいふ。</span></p> </div> <div class="section poem" lang="de"> <h2>Über den Bergen</h2> <p class="poet">Karl Busse</p> <p>Über den Bergen weit zu wandern</p> <p>Sagen die Leute, wohnt das Glück.</p> <p>Ach, und ich ging im Schwarme der andern,</p> <p>kam mit verweinten Augen zurück.</p> <p>Über den Bergen weti weti drüben,</p> <p>Sagen die Leute, wohnt das Glück.</p> </div> div.poem{width:30%;margin:0 auto;background-color:silver;padding:10px;} div.poem p.poet,div.poem p.translator{text-align:right;} div.poem p{margin:0.5em 0;line-height:1.5em;} div.poem span.word{white-space:pre;}

回答No.1

ツッコミどころが多すぎて何がなんだか… そもそも「折り返し」と「改行」の区別も付いてない人に説明して理解できるか分からんけど一応。 >emを使えば指定文字数で改行できることが はぁ? emは「文字サイズを基準とした長さ指定」ですけど? >windowを縮めたとき、指定em > windowサイズだと自動改行されない width指定してるんだから当たり前じゃん。 矛盾してるの気づかないの? >直接emを指定すると指定位置で改行できるが、windowを縮めたとき横にスクロールしてしまう。 「emを指定」と「スクロールしてしまう」の意味が分からん。 「<iframe>にem単位でwidthを指定すると横スクロールバーが出る」かな? そもそも<iframe>のwidthとheightは「数値」か「パーセンテージ」しか適用されないんだけど。 >「指定長さでの改行」「指定長さ > window幅サイズの時の自動改行」 max-widthでも使えば? あとはなんかHTMLの仕様云々ってことを長々語ってくれる(語りたがる)人が後で出てくるからもういいやめんどくせえ。