指輪世界の第二日記

    指輪世界の第二日記。基本的に全部ネタバレです。 題名一覧 最近のコメント プロフィール 指輪世界本体 Twitter
[一般] [イマジナリー空間] [ゲーム] [政治] [文章] [漫画/アニメ/映画] [未定]
 | 

2005-12-30 続brとp このエントリーを含むブックマーク

 brとp、間隙と塊、シリアルとブロックの補足。


 別の言い方をすると;

 pタグのへぼいところは、pタグを使うということが、改行を制御するのを放棄するも同然だ、という点です。

 改行ブロックレベル要素派、すなわち改行pタグ派には、<br><br><br>に相当する実装がありません。<br><br><br>とは「二行空け」です。これはたとえばCSSファイルに、p {margin-top:2em;}と定義すればいい、のですが、それだと全てのpが二行空けになってしまいますから、クラスで特定して、p.hoge2 {margin-top:2em;}となります。同様に、単なる改行はp.hoge0 {margin-top:0em;}であり、三行空けはp.hoge3 {margin-top:3em;}です。まとめると

p {margin-bottom:0em;}

p.hoge0 {margin-top:0em;}

p.hoge1 {margin-top:1em;}

p.hoge2 {margin-top:2em;}

p.hoge3 {margin-top:3em;}

 いかにも間が抜けていますし、実際、このような間の抜けたCSSを用意しているサイトを見たことがありません。

 ですから、改行ブロックレベル要素派の人達は、改行および複数行空けを使いこなしていないし、そも使いこなしたいという気が起きないのだろうと言えます。

 それだからpタグはへぼいのです。

 pタグは、brタグでもって容易に制御できる、何の摩擦もなく使いこなせるものを、わざわざ面倒で醜いものにして捨てている。

 そして、なぜ改行をブロックとして取り扱うと面倒で醜いことになるかといえば、先日述べたように、改行、およびそこから下は、本来シリアルなインライン要素の縄張りだからです。



 別の言い方をすると;

 たとえば京極夏彦先生は、新書でのページめくりまで意識して文量を制御していると伝え聞きます。また一般に、PDFファイルやTeXファイルでは、ピクセル単位で字間やスペース、行間を指定します。

 HTMLにおいては、ページ単位を意識したり、ピクセル単位を指定したりしても、ベネフィットはそんなにありません。それらの労力はHTMLではあまり効果を生みません。ウィンドウサイズとフォントサイズでかなり変わってしまうからです。また、ウィンドウサイズとフォントサイズが可変なことが、HTMLの読みやすさの利因でもあります。

 ですが、改行は、そのような行き過ぎではありません。改行は違う。改行はウィンドウサイズやフォントサイズが変わってもやはり改行だからです。だから改行には、書き手が配意し、労力を費やす価値がある。

spcateg文章[文章]

anonymousanonymous 2006/01/24 02:10  <p>
</p> は不自然。どうせ文書型が Transitional なのだから、せめて <p>foo</p>
<p>bar</p> に改めるべき。なぜなら、個人的にp要素をどのように評価しようがp要素がパラグラフである事実は変わりようがないからだ。したがって、主題も何もない、センテンスでもない、強制的な行区切り「だけ」を含むp要素は不自然である。改行について御託を並べる前にパラグラフが如何なるものか検証すべき。
 改行についてどんな自説を主張してどんな意図があろうが UA 及びそれを利用する読者の知ったことではない。UA は漠然的に強制的な行区切りが連続しているとしか認識しない。そもそも連続した
の分だけ、必ず空白行を挿入しなければならないという規定はない。たとえば、テキストベースのLynxというブラウザは一つの空白行として纏めて表示するし、音声出力ブラウザからすれば空白行の見てくれなんてまったくの無意味である(空白行に頼ることなく、音声スタイルで休止時間を定義すべき)。
 要約すると、制作者が
にどんな意図を込めようが、読者からすればイレギュラーなマークアップに他ならないし、単なる無駄な空白調整と何ら区別されないということだ。Mozilla であればユーザースタイルに p>br:first-child:last-child, br+br, p+br { display: none !important; } と記述すれば連続
による空白行の調整はすべて無効になる。
 そもそも「二行空け」「三行空け」という行数に何の意味があるのか分からない。別に「一行半空け」「二行半空け」であっても相対的に空白行の見てくれが変化すれば構わない筈である。それにそもそも
を連続させる必然性がない。<br class=”level1”>、<br class=”level2”> のように単独のbr要素に垂直マージン指定すれば済む話。これの方がまだ幾分かマシ。
 HTMLではマークアップ言語の性質上、「区切り目の明示」より寧ろ「範囲の明示」の方が重要であり、区切り目に意味を持たせようというのがそもそもナンセンス。素直に <div class=”意味段落 起”><p>…</p><p>…</p></div> などのようにマークアップすべきだ。

anonymous anonymous 2006/01/24 02:16 なんだよ、brタグが反映されるのかよ……。改行が入っている部分は「brタグ」と記述しているものとして読んでください。

suomynonasuomynona 2006/01/24 15:34 br で間 (ま) を表現するのは文字サイズを変えるのに <h1>〜</h1> とするのと同じ、と言えば良いでしょうか。 br は「単なる改行」でこそあれ、「間」ではないのです。
つまり「間は間であって改行とは違うものではないだろうか」という話です。
間を表現したいのなら、 <p> </p><p> </p>… とするほうがまだ本筋だと思います。
ちなみに、 <p class=”間1”> などとするのは著者スタイルシートが無効だと読み手に何も伝わらないという意味で <div class=”見出し”> と五十歩百歩と言えます。

m59m59 2006/01/24 21:59 p要素は段落だからブロック。それは当たり前の話。小さい頃から改行は段落の区切りとして、第一段落、第二段落とブロックで扱ってきた。
そもそも、本や新聞などの文章に2行空き、3行あきなどは無い。よって、同じ文章であるHTMLにも無いはずだ。
1行空きと空き無しの違いも、段落の内容によるものだと思う。

ityouityou 2006/01/25 04:42 こんにちは、みなさん。UAやユーザースタイルシートに詳しい方は、body{display:none;}をお試しになれば、どんな意図を込めても読者がそれを無効にできると示せますよ。あるいは、句読点や空白スペースをそれぞれspanかなにかで囲んで、全部display:noneなどするもよいでしょう。”...”を<span class=”period_level3”>.</span>、”……”を<span class=”middledot_level6”>・</span>などと置くも一興。人によって、いろいろなやりかたがあるものですね。<br class=”level2”>や<p> </p><p> </p>には感嘆しました。世の中には賢い方がいるものです。

m59m59 2006/01/25 21:54 あと、組版ソフト「テフ」の綴りは、TexではなくTeXです。

ityouityou 2006/01/27 00:26 m59さん、ご指摘に感謝いたします。さっそく訂正させて頂きます。

トラックバック - http://d.hatena.ne.jp/ityou/20051230
 | 

    指輪世界の第二日記。 題名一覧 プロフィール 指輪世界本体
[一般] [イマジナリー空間] [ゲーム] [政治] [文章] [漫画/アニメ/映画] [未定]
最近のコメント