WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:改行を含むCODEやSAMP

OGGI[MAIL][URL][WriteDate : Sun Nov 19 16:10:22 2000]

 改行を含むCODEやSAMPに対して、スタイルシートでボーダーをつけ、
かつ、width:100%を指定した場合、IE5では、改行を含めた全体に対し
て枠線が表示されますが、N6では行ごとにボーダーが表示されます。
 なお、改行を含むPの場合には、IE5でもN6でも改行を含めた全体に
対して枠線が表示されます。

 これは、CODEやSAMPといったものに対する仕様なのでしょうか?
それともN6のバグと考えた方がよいのでしょうか?

 こんな感じのものに、枠線をつけたいのです。
<CODE>
あああ<BR>
いいい<BR>
<CODE>
 全体をDIVでくくるしかないでしょうか?よろしくお願いします。

ちゃいぱ[MAIL][URL][WriteDate :Sun Nov 19 17:45:28 2000]

CODE、SAMPともにインライン要素なので、N6の方が正解のような気がします。
>全体をDIVでくくるしかないでしょうか
私は、そうしています。


Piro[MAIL][URL][WriteDate :Sun Nov 19 18:28:24 2000]

仕様的にはN6の実装が正解ですね。
OGGIさんの思ってらっしゃるような効果は、

 code { display: block; border:thin solid black; }

こんな感じにすれば実現できると思います。
#私は文脈セレクタと組み合わせて
#blockにする場合としない場合を使い分けてます。


OGGI[MAIL][URL][WriteDate :Mon Nov 20 04:53:43 2000]

 やはり、仕様的にはN6が妥当ですよね。

 display:blockは、NN4.x対策の関係であきらめざるを得なかったので、DIVでくくることにしました。

 ちゃいぱさん、Piroさん、ありがとうございました。

カヅサツ[MAIL][URL][WriteDate :Mon Nov 20 10:26:31 2000]

蛇足ですが、
プログラム文を書くならば PRE 要素が良いと思います。

ああ、でも pre の中に CODE を入れるのは冗長ですかね?

OGGI[MAIL][URL][WriteDate :Mon Nov 20 21:40:22 2000]

 PREなんてすっかり意識の外にありました。

 今まで、変なところで折り返されるのが気に入らなかったのですが、
PREだとその他のレイアウトが激しく乱れるのであきらめていました。 ですが、overflowを指定すれば、レイアウトは乱さずにできますね。
PREに思い出させてくださったカヅサツさんに感謝します。

 ただ、PREの場合ボーダーを指定すると、NN4.xでは、PREでなく
なってしまうようなので、やはりDIVでくくらざるを得ませんでした。
結局、<DIV><PRE><CODE>という三重構造にする
ことになりそうです(かなり冗長)。
回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]