dポイントプレゼントキャンペーン実施中!

CSSを使ってサイトを作成しています。
気になった事があったので質問させてください。

テキスト(文字)を入力する祭は、<p>~</p>・<div>~</div>等のタグで囲むかと思います。
<img src="" width="" height="" alt="" />
上記のようなイメージタグは、<p>~</p>・<div>~</div>等で囲む必要はあるのでしょうか?
囲まなくてはいけないものなのでしょうか?

<p>~</p>・<div>~</div>タグにスタイルをつけていなければ、
囲んでも囲まなくても表示は変わりませんが、HTML的というか文法的に囲むべきなのでしょうか?
※<p>タグは「reset.css」で上下改行なしにしてあります。

宜しくお願いします。

A 回答 (4件)

>> <th><td>セルに書いた文字(テキスト)は<p>で囲むべきなんですよね?


それなら今度はthやtdがblockなのかinlineなのかを調べてみよう。

この回答への補足

再度のご回答ありがとうございます。

th td はインライン要素ですね。
という事は、<p>~</p>で囲むべきですね。

囲んでいないサイトが多いような気がしたので、聞いてみました。
ここまで細かい事は気にしないでいいのかも(?)しれませんが・・・
出来る限り、正しくサイトを作ってみます。

ありがとうございました。

補足日時:2011/03/20 18:20
    • good
    • 0

質問文脈と無関係に、


>※<p>タグは「reset.css」で上下改行なしにしてあります。
とか書いてあるので、

No2のような指摘が出るのは当然だと思います。文章を文字通り解釈すると、p を改行無しで使っているように読める。

ブラウザの差異を吸収するために一旦リセットしてから、それぞれ適切に設定しているのなら問題ありません。最終的には p タグには前後改行が付いているのですよね?

・imgタグをブロックタグで囲むべきか?
・reset.cssを使っている

は、全く関係ないことですよね。

この回答への補足

notnot 様

ご回答ありがとうございます。


>ブラウザの差異を吸収するために一旦リセットしてから、それぞれ適切に設定しているのなら問題ありません。

安心しました。

>・imgタグをブロックタグで囲むべきか?
>・reset.cssを使っている

「reset.css」で<p>の改行なしにしている為、
<p>で囲んでも囲まなくても、表示が変わらないという説明をしたかったんです。
表示は変わらないけど、文法的に囲むべきなのか?という質問でした。

わかりづらくてすみません。

補足日時:2011/03/20 17:55
    • good
    • 0

CSSを学ぶ前にHTMLを正しく覚えましょう。


CSSは、HTMLが正しくないと絶対にうまくいきません。CSSを使わないならブラウザは多少の間違った文法でも何とか解釈して表示してくれますが。
【引用】____________ここから
メモ: CSSスタイルシートを意図した通りに機能させるには、正しい文書解析木が必要です。つまり、正当なHTMLを用いるべきです。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[W3C CSS 検証サービス( http://jigsaw.w3.org/css-validator/ )]より

・HTMLを構成する要素(Element)を示すものがタグです。
・すべての要素は、ブロック要素か行内要素です。(dell,insの除く)
・行内要素は、必ずブロック要素内にしか登場しません。
・それぞれの要素はどの要素を含むことができるか、あるいは含まなければならないかが決まっています。

>※<p>タグは「reset.css」で上下改行なしにしてあります。
 可能であっても絶対にしてはならない設定のひとつです。
 <p>はその部分が「段落paragraph」を示すタグです(HTMLでは終了タグは任意)で内部に行内要素しかもてない。段落の前後で改行しなくてよいということは、そのマークアップ自体間違っているのでは???
 通常は上下のマージンで日本語らしく見栄えを整える。換わりにtext-indentで字下げする。

この回答への補足

ORUKA1951 様

ご回答ありがとうございます。

>>※<p>タグは「reset.css」で上下改行なしにしてあります。
>可能であっても絶対にしてはならない設定のひとつです。

おどろいています。
HTML的にまずい事なんですか?

<p>タグに限らず、<h1><h2>・・・なども改行なしにするために、
「display:inline」とか「margin:0」
と、設定したりしますよね。

Webデザインをしていると、デザイン的に予期せぬ余白が気になったりします。
それにブラウザによって、余白の大きさが変わるので、「reset.css」ですべて0にして、
1からデザインしたりします。

これがまずい事となると、大幅に変更しなくてはいけなくなります。

補足日時:2011/03/20 17:32
    • good
    • 0

imgって inline だよね? ならblockで囲む・・・べき

この回答への補足

SAYKA 様

早速のご回答をありがとうございます。
「インライン要素はブロック要素で囲むべき」と考えればよいのですね。
非常にわかりやすいです。

もう1つ質問させてください。
テーブルタグはブロック要素になるかと思いますが、テーブル内の<th><td>セルに書いた文字(テキスト)は<p>で囲むべきなんですよね?

補足日時:2011/03/20 16:52
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!