インラインフレームの周囲にマージンを入れ文字を入力したい

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



0   名前:  : 2006/08/08(火) 11:33  ID:pyB/XgRU
初めまして。梓と申します。
インラインフレームの周囲のマージンに文字をいれたいのですが、
分からない事があるので、質問させていただきます。


<iframe src="***.html">〜</iframe>

↑こうゆうタイプじゃなくて、

<iframe src="main.html" name="main"width="100%" height="100%" frameborder="0" scrolling="yes"></iframe>

とゆうのをつかっているのです。が。
ここのTAGindexさんの説明によると、
『インラインフレームの周囲にマージンを入れる』には、

<iframe src="***.html" vspace="30hspace="30">

↑とする、必要がいるみたいです。
私のつかっているバージョンの

<iframe src="main.html" name="main"width="100%" height="100%" frameborder="0" scrolling="yes"┃>‖</iframe>

┃に、vspace="30hspace="30"をいれて、‖に文字をいれてみたんですが、
文字がでません。

これは、私が
<iframe src="main.html" name="main"width="100%" height="100%" frameborder="0" scrolling="yes"></iframe>
とつかっているから、ダメなのか、それとも、
<iframe src="***.html" vpace="30hspace="30">
じゃないと利用できないのか。
それと、もし、
<iframe src="main.html" name="main"width="100%" height="100%" frameborder="0" scrolling="yes"></iframe>
でもできるのなら、vpace="30hspace="30"をいれても、変化なしです。
どうすればよいでしょうか。

1   名前: カヅサツ ◆ThCi95HEzw : 2006/08/08(火) 11:33  [URL]  ID:f0UXxXRM

<iframe (略)>‖</iframe>

‖の部分、つまり iframe要素の内容は、「インラインフレームを提供できない環境に、代わりに表示するもの」です。ので、インラインフレームを理解する、多くの PC 用 WWW ブラウザは、当然(フレーム機能をオフにしないと)観られません。

インラインフレームは、インラインの名の通りインライン要素ですので、前後左右にテキストを書けば良いです。

<p>上にテキスト</p>
<p>左にテキスト
<iframe src="http://www.google.co.jp/"><a href="http://www.google.co.jp/">google</a></iframe>
右にテキスト</p>
<p>下にテキスト</p>


2   名前:  : 2006/08/08(火) 11:33  ID:pyB/XgRU
カヅサツさん、丁寧なコメントありがとうございます。
テキスト、書いてみました。

<tr>
<td class="blank"> </td>
<td class="line"></td>
<td width="600" valign="top">
<p>上にテキスト</p>
<p>左にテキスト
<iframe src="main.html" name="main" width="100%" height="100%" frameborder="0" scrolling="yes"></iframe>
右にテキスト</p>
<p>下にテキスト</p>
</td><td class="line"></td>
</tr>

↑このような感じです。
でも、『上にテキスト』と『左にテキスト』しかでてきません。(しかも二つとも左より)
どこに文字をいれても、一番テッペンにきたり、左にしかでません。
右にかきたいんですが・・・・・・できますかね?
重ね重ねすいません(><;
それでは。

3   名前: カヅサツ ◆ThCi95HEzw : 2006/08/08(火) 11:33  [URL]  ID:f0UXxXRM
いや、そりゃあインラインフレームの width="100%" にすれば、その前後で折り返されるに決まっていますが。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
	"http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja" dir="ltr">
<head>
<style type="text/css">
</style>
</head>
<body>
<table border="1">
	<tr>
		<td width="900" valign="top">
			<p>上にテキスト</p>
			<p>左にテキスト
				<iframe src="main.html" name="main" width="600" height="100%"
				frameborder="0" scrolling="yes"></iframe>
				右にテキスト</p>
			<p>下にテキスト</p>
		</td>
	</tr>
</table>
</body>
</html>


インラインフレームの上下左右に文字があれば良いのですよね?

4   名前:  : 2006/08/08(火) 11:33  ID:pyB/XgRU
すいません。
インラインフレーム内じゃなくて、
インラインフレームの外枠(メニューを書いたりする部分)のあいているスペースの
右側に文字をいれたいんです。

5   名前: 通りすがり : 2006/08/08(火) 11:33  ID:yGMfbzts
>>4
>>3で提示されたソースを実際に表示確認したうえでの要望ですか?
もしそうであるなら、>>3のどこが気に入らないのかを詳しく説明したほうが
よりお望みの形のソースを提示してもらえると思いますけど。

6   名前:  : 2006/08/08(火) 11:33  ID:pyB/XgRU
>>通りすがりさん
わかりました。ごめんなさい。

>>3のソースを試してみました。
カヅサツさんのいったとおり、width="100%"の部分の100をいろいろ
変えてみたのですが、そうすると、中身が消えてしまいました。
width="100%"の部分、
(<iframe src="main.html" name="main" width="600" height="100%"frameborder="0" scrolling="yes"></iframe>側の)
を200あたりにすると、インラインフレームの中身が、右側から、少しでてきました。
私の説明不足でした。すいません。
↑でも書きましたが、
インラインフレーム内じゃなくて、
インラインフレームの外枠(メニューを書いたりする部分)のあいているスペースの
右側に文字をいれたいんです。

ちなみに、私のHPの形は、

┌──────────────────────┐
|                       |
|       メニュ メニュ2 メニュ3 メニュ4      |
|                       |
|                       |
|                       |
|   ┌───────────────┐   |
|   |                |   |
|   |                |   |
|   |        内容      |ここに|
|   | |文字を|  
|   |                |入れた|               
|   |                |いです|
└──────────────────────┘
このような感じです。
『ここに文字をいれたいです』
のところに、文字をいれたいんです。(まんまですいません!
それでは

7   名前:  : 2006/08/08(火) 11:33  ID:pyB/XgRU
ガーンΣ(○口○
くっちゃくちゃ。
すいません。上の記号絵、変なのになってしまいました・・・。

8   名前: 通りすがり : 2006/08/08(火) 11:33  ID:yGMfbzts
なんていうか・・勘違いされてますよね。
インラインフレーム「内」に出るのは「main.html」というファイルの中身だけです。

>>3のソースをそのままでtest.htmlとでも名前をつけて作りましょう。
test.htmlを開くと、インラインフレームの外(tableの枠線の内側)の上下左右に「○○にテキスト」という文字が表示されませんか?
(勘違いされているようなのでインラインフレームに border="1" を付け足すことをお勧めします
<iframe src="main.html" name="main" width="600" height="100%"
frameborder="0" scrolling="yes" border="1"></iframe>


でお望みの形ですと、「上にテキスト」と書かれた部分にメニューを書き込めばいいわけですし、
「右にテキスト」のところに「文字」を書けばいいと思うのですが。
上から下まで線を引いて左右に分けたいなら、tableのほうで左右2列に分ければいいのではないかと。
<table border="1">
<tr>
<td width="600" valign="top">
<p>上にテキスト</p>
<p>左にテキスト
<iframe src="main.html" name="main" width="400" height="100%"
frameborder="0" scrolling="yes" border="1"></iframe>
右にテキスト</p>
<p>下にテキスト</p>
</td>
<td><p>tableの右セルにテキスト</p>
</td>
</tr>
</table>

9   名前: カヅサツ ◆ThCi95HEzw : 2006/08/08(火) 11:33  [URL]  ID:f0UXxXRM
この掲示板の機能にソース貼り付けエリアというものがあるので、それを使うと図が崩れないです。

10   名前:  : 2006/08/08(火) 11:33  ID:pyB/XgRU
>>3のタグにborder="1"を付け足して見ました。
そうしたら、中のページに、またページ(?)らしきものが・・・。
よく説明できないんで、アドレスのせときますね。
http://koiwazurai.b7m.net/index.html
>>3の

<table border="1">
	<tr>
		<td width="900" valign="top">
			<p>上にテキスト</p>
			<p>左にテキスト
				<iframe src="main.html" name="main" width="600" height="100%"
				frameborder="0" scrolling="yes"border="1"></iframe>
				右にテキスト</p>
			<p>下にテキスト</p>
		</td>
	</tr>
</table>



とゆうタグをはりました。(border="1"も加えて)

カヅサツさん>>>
ありがとうございます。やりかた、わかりました^^

11   名前: 通りすがり : 2006/08/08(火) 11:33  ID:9IuG66CT
>>10
すみません。私のミスです。
iframeのframeborder="0"は削除するか"1"に変更してください。
そうすればiframeに枠が付きますので、どこからどこまでがインラインフレーム(別ページ)か分かりやすいと思います。

> 中のページに、またページ(?)らしきものが・
梓さんの作成されたページは、
table(borderなし)の中にtable(border有り)を入れ、その中にiframe(frameborderなし)を入れています。
この場合、「中のページ」ではなく「中のtable」の中に「フレーム(別ページ)」ですね。
(frameを入れている中のtableは無くてもいいんじゃないかと思います)
<!--点線用?外枠table-->
<table width="700" height="100%" border="1" cellspacing="0" cellpadding="0">

<tr>
<td class="blank"> </td>
<td class="line"></td>
<td height="150" colspan="2" align="center">
<!-- メニュー用セル -->
<a href="main.html" target="main"><img src="cb1.gif" onMouseOver="this.src='cb1_1.gif'" onMouseOut="this.src='cb1.gif'" border="0"></a>
〜
</td></tr>

<tr>
<td class="line2" colspan="4"></td></tr>

<tr>
<td class="blank"> </td>
<td class="line"></td>
<td width="600" valign="top" style="background-color:#ffee88;">
	<!-- インラインフレーム用セル -->
	<p>上にテキスト</p>
	<p>左にテキスト
	  <iframe src="main.html" name="main" width="600" height="100%"
	  frameborder="1" scrolling="yes"border="1">ここにiframeがあります。</iframe>
	右にテキスト</p>
	<p>下にテキスト</p>
</td></tr>
</table>


12   名前:  : 2006/08/08(火) 11:33  ID:pyB/XgRU
テスト

13   名前:  : 2006/08/08(火) 11:33  ID:pyB/XgRU
↑のテストは気にしないでください;

なんだろう。多分、私の考えているのと、通りすがりさんの考えていること、
違うような・・・気がするんです。
>>11で教えてくださったタグ、はりました。
>>11のタグをいれると、中のページに、薄オレンジ色のテーブルらしきものが
でてきました。
ちょっと、ここ、みてくれませんか?
http://koiwazurai.b7m.net/happy.png
こうゆうふうにしたいんですが、できますかね?

14   名前: 通りすがり : 2006/08/08(火) 11:33  ID:9IuG66CT
style="background-color:#ffee88;"を入れて梓さんのいうところの「中のページ」がどのセルになるかを分かりやすくしたつもりです。
で、インラインフレームの横幅が、セルの幅と同等なので「右・左のテキスト」が回り込んじゃってます。(普通の長い文章で右端で折り返すのと一緒)
横幅も変えておけばよかったですね。すみません。
<td width="500" valign="top" align="center" style="background-color:#ffee88;">
	<!-- インラインフレーム用セル -->
	<p>上にテキスト</p>
	<p>左にテキスト
	  <iframe src="main.html" name="main" width="200" height="70%"
	  frameborder="1" scrolling="yes" border="1">ここにiframeがあります。</iframe>
	右にテキスト</p>
	<p>下にテキスト</p>
</td>
<td width="100"><p>フレーム用セルの隣に複数行の文字を入れるセルを増やす場合。</p>
</td>

画像の通りにするとなると、「点線用?外枠table」の外側になるんですけど、tableの外に文字を入れたいんでしょうか?

15   名前:  : 2006/08/08(火) 11:33  ID:pyB/XgRU
>>14のタグをやってみました。
http://koiwazurai.b7m.net/index.html
な感じになりました。
一応、なってるといえば、なっているんですが、枠と内容の間にマージンを指定する
んじゃなくて、枠の外の右側に文字をいれたいんです。

┌──────────────────────┐
|                        |
|       メニュ メニュ2 メニュ3 メニュ4       |
|                        |
|                        |
|                        | 
|   ┌───────────────┐   |
|   |                |   |
|   |                |   |
|   |        内容      |ここに|
|   |                                |文字を|  
|   |                |入れた|               
|   |                |いです|
└──────────────────────┘



>画像の通りにするとなると、「点線用?外枠table」の外側になるんですけど、tableの外に文字を入れたいんでしょうか?
『内容』と書いてあるところが、tableかよくわかりませんが、点線の枠の外側に文字いれたいです。(図の『ここに文字を入れたいです』とかいてあるところ)
すいません。
自分、マージンって、よく解らないのに、一番上のタイトルような質問をしてしまいました。
自分ではあっているかなぁっと思っていたんですが、ちょっと違うようですね。
本当にスイマセン。こんなやつに付き合ってもらって。

16   名前: カヅサツ ◆ThCi95HEzw : 2006/08/08(火) 11:33  [URL]  ID:f0UXxXRM
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
	"http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja" dir="ltr">
<head>
<style type="text/css">
#container{
	border-width: 1px;
	border-style: solid;
	border-color: black;
	width: 90%;
}
#wrapper{
	position: relative;
}
#main{
	width: 79%;
	margin: 0px auto;
}
#main iframe{
	width: 100%;
	border-width: 1px;
	border-style: solid;
	border-color: black;
}
#comment{
	position: absolute;
	width: 10%;
	margin: 0px;
	top: 0px;
	left: auto;
	right: 0px;
	bottom: auto;
}
ul.menu{
	margin: 1em 0em 3em 0em;
	padding: 0px;
	text-align: center;
}
ul.menu li{
	display: inline;
	list-style-type: none;
	margin: 0em 1em;
}
</style>
</head>
<body>
<div id="container">
	<ul class="menu">
		<li><a href="" target="main">メニュー1</a></li>
		<li><a href="" target="main">メニュー2</a></li>
		<li><a href="" target="main">メニュー3</a></li>
		<li><a href="" target="main">メニュー4</a></li>
	</ul>
	<div id="wrapper">
		<p id="main"><iframe src="http://www.google.co.jp/"
			name="main" frameborder="0"></iframe></p>
		<p id="comment">ここに文字を入れたいのです。</p>
	</div>
	
</div>
</body>
</html>


一覧へ戻る