FirefoxやIE7では問題ありません。どうすれば隙間が出来なく出来ますか?
※ちなみにXHTMLではなくHTML形式にしたらでなくなります。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
<title>インラインフレームのサンプル</title>
<style>
iframe{ border: 1px solid #FF0000;}
</style>
</head>
<body>
<iframe src="test/test.html" width="500" height="100" frameborder="0" scrolling="no" marginwidth="0" marginheight="0" hspace="0" vspace="0"></iframe>
結論としては、HTML で書いてください、ということになります。
IE5.x以前では、width, padding, border の解釈にバグがありました。
IE6 でこのバグは修正されたのですが、HTMLの冒頭に DOCTYPE 宣言を書かないと必ず後方互換モード(IE5.x以前のバグを再現するモード)となってしまうという“仕様”になっています。XHTML では DOCTYPE 宣言の前に XML 宣言を書くため、IE6では自動的に後方互換モードになってしまうのです。
または、IEのバージョンに合わせて CSS を切り替えるか、
<!--[if lte IE 6]>
するようでしょう。