• ベストアンサー

2行にしたい要素、改行か分割すべきか

ORUKA1951の回答

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

>文書構造的に単一の要素だが行を分けたい場合  根本的な部分で矛盾があります。文書構造と、プレゼンテーションは車の両輪のようなもので、行を分けて表示したいと言うことは、必然的に 文書構造も異なるはずです。 ^^^^^^^^^^^^^^^^^^^^^^^   とすると 「改行タグをはさんで2行の単一要素にする」  は、ひとつの段落中での強制改行ですから、マークアップが間違っています。 「複数の同じ要素に分割しCSSで見た目を操作する」  は、『異なる要素に分割し、見た目はCSSで操作する』  よってマークアップ自体 <div class="hgroup">  <h1>マニュアル</h1>  <h1 lang="en">MANUAL</h1> </div> <div class="section">  <h2>155G</h2>  <h2 lang="en">155G</h2>  <p>これは、キャンプストーブ155Gのマニュアルです</p>  <p lang="en">This is manual about 155G.</p> </div> <dl>  <dt>概要</dt>  <dt lang="en">Abstract</dt> ・・・・・  となるはずです。  スタイルシートは、 div.section>p{text-indent:1em;line-height:2em;margin:0;} div.section>p[lang="en"]{text-indent:0;} div.section>p[lang="en"]:first-leter{font-size: 200%;float: left } とか・・・  他の部分と異なる表現をしたいと言うことは、必ずその要素は他の部分と異なる構成要素であるはずだと言うことがHTML/CSSの基本です。要素名(タグ)だけで足りない場合は、その属性(class,lang,id,title・・)で区別して文書構造をマークアップしてください。それが出来れば、スタイルシートのセレクタなどカスケーディングを活用することで表現は自在に操れます。  上の場合、本文(section)中の直接の子供(>)である段落(p){}しろ【詳細度は[0,0,1,2]】、ただし属性[lang="en"]の場合は{}しろ【詳細度[0,0,2,2]】、さらに擬似要素:first-leterの場合は{}しろ【詳細度[0,0,2,3]】

ichido_dake
質問者

補足

回答有難うございます。 ですが、 「行を分けて表示したいと言うことは、必然的に 文書構造も異なるはずです。」 この部分に納得できません。 回答内容から、解答者の方は 「見出しを執筆者が明示的に行を変える事自体間違っている」 と認識していると判断しましたがよろしいでしょうか。 ※ HTMLの理念うんぬんはこのカテゴリ内の他の質問解答で何度となく拝見しましたので  この質問スレッドにおいて再掲の必要はありません。

関連するQ&A

  • <br>で改行しても一行あいてしまいます

    少し説明がわかりにくいかもしれませんが <br>タグを使って改行した場合、行と行の間はあきませんよね? でもたまに<br>タグで改行してるのに行と行の間が一行空くことがたまにあります。 その時のタグは <br>文 <br>文2 と打つと 文 文2 後で見るとこのように反映されます。 同じページで同じ<br>タグを使ってる他の行は改行だけで 行の間が空くことはないのに、何度やっても同じ箇所だけ一行空いてしまいます。 これはどうしてでしょうか?プラウザはIE6.0なんですが そこの部分だけ何度やっても一行空いて見た目が変です。 何か解決策はないでしょうか?

    • ベストアンサー
    • HTML
  • <TEXTAREA> 1行目の改行・・・。

    HTMLのほうがよいかASPがよいか迷ったのですが 『.asp』ファイル上での話なので、とりあえずココへ 質問させていただきます・・・。 現在、<Form>タグを使って次画面へ値の受け渡しをしています。 その時、<TEXTAREA>タグに入力された内容を 次画面でも<TEXTAREA>に表示させています。(ReadOnlyで) 1行目にイキナリ改行をした場合に、次の画面では その改行が詰まった状態で表示されてしまいます。 例)入力フォームで [1行目] [2行目]あああ [3行目]いいいいい と入れた後、次の画面に行くと [1行目]あああ [2行目]いいいいい になってしまいます。 1行目の改行もそのまま表示させたいのですが、 何か特別なことをさせないとダメなのでしょうか? (現在は特に何もしていません。Request.Formで拾ったものをそのまま表示させてます)

  • IE8で</form>タグが改行されない方法ありますか?

    IE8だけ、<td></form>タグで改行されてしまうので・・ <td></form STYLE="MARGIN:0px;padding:0px; ">のように CSSを設定しましたが、改行されてしまいます。 IE8でも改行されない方法はあるでしょうか?

    • ベストアンサー
    • HTML
  • 要素分割された要素の並び替え

     実際は三次元で行うのですが(自分でプログラムを作成しようと考えています)、二次元でも考え方は同じだと思いますので二次元で質問させていただきます。  有限要素法で円形領域を三角形要素で要素分割して計算を行う場合、計算速度やメモリ領域を考慮して要素の並び替え(バンドマトリクスのバンド幅を狭めるため)を行うと思います。(この場合、要素と節点は既にファイルとして与えられているとします)  これは、有限要素法で解く連立方程式をAX=Bとした場合、対称行列Aの対角成分に行列成分を集めることに相当すると思います。  その場合の要素の並び替えの方法を教えてください。 四角形領域を四角形要素で分割した場合は四角の1辺(例えばX軸方向)に沿って並べ、その行が終われば次の行(Y軸方向)から並べるようにすればよいと思うのですが...。(下図参照)    ----→    ----→    ----→             ----→    ----→  書籍、WEB情報でも結構ですのでよろしくお願い致します。

  • 表の中の改行

    メモ帳を使ってHPを作っているのですが 表の中に長い文章を書くので改行したいのですが <Br>で改行してもうまくいきません。 表の中で改行出来て縦の中央に配置したい場合 どうすればいいでしょうか? 1行と2行が入り混じっています。 <Table Border> <Tr> <Td>1行</Td><Td>2行</Td><Td>1行</Td></Tr> </Table>

  • 改行を消したい

    Windows7を使っています。 (A) あああ いいい ううう (B) あああいいいううう PCで Aのような文書の改行を消して Bのように変えたい場合ですが 数行の文書の場合は一つ一つ消せますが 百行とか千行とか長い文書の場合に 何か良い方法は在りませんか?

  • 空白行について(できればCSS)

    こんにちは! デザイン上、どうしても2行分以上の空白行が欲しいときがあります。 現状でやってる方法としては<hr>タグの高さで調節か<pre>タグで間に改行を入れて誤魔化しています <br>タグの連続はいけないと言われました。これは改行タグであって空白行を作るものではないと CSS使ってて、これからなくなるタグなんかも排除しているところなので 間違いのない方法を知りたいのです。 そこで、2行分とか3行分とかの改行をする際に、他にどんな方法があるか教えてください! なんとなく今自分がやってる方法は自信がありません。

    • ベストアンサー
    • CSS
  • テーブル内で改行を防ぐには

    td要素内に記述したテキストは通常、自動改行されますが、数字の場合自動改行されません。そのため横スクロールする必要があったり、サイトデザインがくずれたりします。 自動改行をされるようにするにはどうしたら良いでしょうか。 例えば、下記のようなソースです。 <table><tr><td> 012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789</td></tr></table>

    • ベストアンサー
    • HTML
  • 表の行の高さを変えるには

    初歩的に質問で恐縮ですが、表を使って、サイン用のレイアウトを作ろうと思っています。1行の左に「サイン」というタイトル、右にサインをする場所を取りたいと思っていますが、行の高さは文字にピッタリくっついてしまいます。希望する結果は、サインする場所の上に、3行分ほど高さがあるというものです。 hightという要素を使えば高さが変わるかと思って試してみたり、スタイルシートのMargin, Line-hightなども試してみたのですが、うまくいきません。  やはり<TD>タグの中に<p>を複数個入れるしかないのでしょうか? よろしくお願いします。 <table width = 600 cellspacing=0 border=1> <tr><td width=100 class=lightgray align=right>サイン:</td> <td>_______________________________________</td></tr> </table><p>

    • ベストアンサー
    • HTML
  • ブロックレベル要素の前後のスペース(余白)のことで

    ブロック要素の場合は、前後に改行が入るのはわかりましたが、同じブロックレベル要素でもpタグは前後に余白?空白行?が入ります。divやaddressも同じブロックレベル要素なのに、こちらは段落の前後にあきが出ません。 ブロックレベル要素に共通なのは、前後で改行されるということだけで、前後に1行?あいてしまうかどうかは、要素によってマチマチということなのでしょうか。 ※Win7、IE8使用