こんにちは。Nalelu広報部のマカロンです。あひる


いやぁ~、腰を痛めると辛いですよねぇ~。うんうん
隣のブラウニーがちょっとだけ元気になりました。
良かったね。ブラウニー!!にま~
ちょっと安心したマカロンです。


今日の話は無駄に長いです…。あせる

(しかもAmebaで「続きを読む」みたいなたたみ方が分からない…)


さて先日、HTMLのソースをいじる仕事が入りまして。パソコン
そこにformタグで情報を送るような修正をしておりました。


ソースを修正した後、IEやFirefoxなどでも動作確認し、

「よし、よし。これでOKさ!噴出し

と思い、サーバにアップしたところ、どうもFirefox4では
動かないことが判明。ガーン
6つボタンがあるところの下4つにリンクが貼られてなく

ボタンが動かないとのこと。


何故…。何故に…。IEやFirefox3.6では動いていたのに…。
その後、Chromeでも確認したら動かなかった…。るるる。しょぼん


考えていてもしょうがないので、動いているところと
動いてないところの差異をとってみました。


【リンクが正常に動作するソース】

<h1 id="header">
<img src="images/1.jpg" alt="head image" usemap="#Link1" />
<map name="Link1">
<form name="form1" action="next.html" method="post">
<input type="hidden" name="code" value="AAA_01234">
<area shape="rect" coords="550,380,784,418" href="#" onclick="document.form1.submit();return false;" alt="AAA" />
</form>
</map>
</h1>

【リンクが動作しないソース】


<p class="campaign">
<img src="images/2.jpg" alt="middle image" usemap="#Link2" />
<map name="Link2">
<form name="form2" action="next.html" method="post">
<input type="hidden" name="code" value="BBB_1234">
<area shape="rect" coords="240,310,490,370" href="#" onclick="document.form2.submit();return false;" alt="BBB" />
</form>
</map>
</p>

もしかして、h1タグで囲っているのとpタグで囲っているという違い?


そこでpタグについて調べると以下のようなことが分かりました。


pタグの中にはインライン要素しか入れられません。

むむむ。
ってことは、pタグで内包出来るタグはインライン要素のみなのね。
formタグはブロックレベル要素なのね…。
なるほど、それじゃ上手く動かないよねぇ~。(文法間違ってるし!)


pタグで内包しないで、divタグで囲うことにしました。

divタグは子要素がブロックレベル、インラインでも大丈夫なので。
それでちゃんと動作するようになりました。

お勉強になりましたわぁ~。メモ

っという訳で、また次回! マカロンでした。Wハート