画像の横で・・・

[新着] Webテンプレートを仮オープンしました



0   名前: MK : 2005/11/10 14:54
また質問すみません^^;

今文字を画像に回りこませるタグを使おうとしているのですが
画像の横で文字を改行するやり方がわかりません。
<br>を使うと画像の下に文字が来てしまいますし、
いろいろ試してみましたができません。。。
そのやり方を教えていただきたいです。

1   名前: カヅサツ : 2005/11/10 14:54  [URL
画像のサイズや、周辺のブロックの幅、そして(回り込ませた)文章の構造によって変わってきますので、該当のページを拝見できれば、塩梅良いサンプルを提案できるかもしれません。

2   名前: zack : 2005/11/10 14:54
見えないテーブルを使えばいいんじゃないですか?
<table>
<tr>
<td><img src="test.jpg"></td>
<td>書きたい<br>こと</td>
</tr>
</table>
では、ガンバッテください

3   名前: カヅサツ : 2005/11/10 14:54  [URL
> 見えないテーブル

オレの環境だと見えます(青い枠線が付きます)。

4   名前: zack : 2005/11/10 14:54
>オレの環境だと見えます(青い枠線が付きます)。
それはimgタグにリンクでも貼ってるんじゃないですか?
テーブルとは関係ないです。

5   名前: 通りすがり : 2005/11/10 14:54
> オレの環境だと見えます
どの環境だと枠線が付くのかを書かないと、アドバイスにはならないと思います。
ユーザースタイルシートによるものなのか、ブラウザなのか、OSなのか…

6   名前: 愛浦憂馬 : 2005/11/10 14:54  [URL
>オレの環境だと見えます

透明だと思い込んでました。
(というより、思い込もうとしてました)

本題とずれてすいませんが
やっぱりボーダー0やnoneを指定した方が良いでしょうか?
環境を教えてもらえないでしょうか

7   名前: zack : 2005/11/10 14:54
IE以外の仕様はよくわかってません^^;
下のサイトでは
「この属性を記述しない、または、0 を指定すると枠線を表示しません。」
と書いてあるので「省略=(border=0)」と思い込んでいました。
http://www.tohoho-web.com/html/table.htm
HTML4.01の仕様を見ると「borderを指定しない場合Borderは「0」以外になる。」
みたいなことが書いてあるので、どうなんだろう?ってのが本心です。

8   名前: カヅサツ : 2005/11/10 14:54
おっと。返信が遅れました。

> HTML4.01の仕様を見ると「borderを指定しない場合Borderは「0」以外になる。」みたいなことが書いてある

それは、どこに書いてあるでしょう?
http://www.w3.org/TR/1999/REC-html401-19991224/struct/tables.html#h-11.3 (原文)
http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/struct/tables.html#h-11.3 (邦訳)

すいません、見つけられませんでした。

もっとも、border="0" でも安心はできません。

オレ環境は Windows Opera 8.5 、Firefox、IE 6 です。
いずれもユーザスタイルシートで以下のように設定してあります。

table, th, td{
border: thin solid #FCC;
border-collapse: collapse;
}

なんでこうなっているかというと、tableは「表」だからです。
表であるからには、枠線の有無は関係ない、というか、むしろあったほうが良い、とオレは考えているからです。

border属性値が 0 (あるいは border属性がない)でも、*安易に*(←ここ重要)「見えない(のでレイアウトに使いましょう)」と初心者にオススメしてしまうのは、危険と考えます。

実際のところ、float(あるいは img要素の align属性)だろうが、ユーザスタイルシートの前には無力です。ので、「ユーザ設定で、回り込みを解除されるのと、テーブルに枠線が付いてしまうのと、どちらが嫌だろう」と考える必要があります。故に、最初に以下のように尋ねました。

> 画像のサイズや、周辺のブロックの幅、そして(回り込ませた)文章の構造によって変わってきます

重要な点は論理要素を適切に使うことです。
「画像とコメントで構成されている『表』」であるかもしれません(なら枠線がついてもかまわない→tableをオススメ)。
画像は単なる装飾程度かもしれません(なら、回り込みが解除されても困らない→float等をオススメ)。

蛇足ですが、オレは何がなんでも table レイアウト目的で使ってはならない、とは考えていません。IE のバグっぷりから、多少はやむなし、とすら考えています(そういうサンプルも書くことがある)。でも、使わないに越したことはないのであって、前述の通り、*安易に*(←ここ重要)オススメするのは反対です。


あと、これは大前提ですが、オレは「多くの初心者はできることなら親切なウェブページを作りたいだろうな」と勝手に思い込んでいます。ので、質問者が「親切でなくてもいい」という考えであれば、それはそれでアリだと思います(例えば、社内向けウェブページで閲覧者は全員 Wind IE ユーザであることが期待される、とか、視覚障害者に敵愾心を抱いているとか、曾婆ちゃんの遺言だとか)。

9   名前: 匿名希望改め通りすがり : 2005/11/10 14:54
どもどもおじゃまします。
ユーザスタイルシートってことですね。ww
質問者の要求以上のことを長々と書いて帰って混乱をまねくような回答はさすがです。
後は何言っても意味無いのでry

10   名前: カヅサツ : 2005/11/10 14:54  [URL
> ユーザスタイルシートってことですね。

です。

> 混乱をまねくような回答はさすがです。

疑問があったのを放置したせいで混乱させたのは素直に反省。

11   名前: zack : 2005/11/10 14:54
こんにちは
環境の件は解決できましたのでありがとうございます。

>> HTML4.01の仕様を見ると「borderを指定しない場合Borderは「0」以外になる。」みたいなことが書いてある

>それは、どこに書いてあるでしょう?
>http://www.w3.org/TR/1999/REC-html401-19991224/struct/tables.html#h-11.3 (原文)
>http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/struct/tables.html#h-11.3 (邦訳)

の返答ですが、上記邦訳サイトの
>TABLE要素の開始タグに値"border"があった場合、frame属性の値として解釈する必要がある。この設定は、rules="all"であることと、 0でない何等かのデフォルト値にborder属性が設定されることを示す。

という部分で「0でない何等かのデフォルト値」が初期でborderに設定されてるから指定しない場合はその値が入っていると解釈しました。

一覧へ戻る