電子書籍の厳選無料作品が豊富!

 画面をフレームで左右に分けまして、左フレームにリンクを10個ほど縦に並べています。
 リンク文字に背景色をつけ、更に左右のフレーム内にも別々の背景色をつけています。
 リンクは左フレームの中央に置きたいのですが、右側にマージンが出来てしまいバランスが取れません。
 色々試してみたのですが、どうしてもうまく行きません。下記にソースコードを記入しました。
 どう処理をすれば良いのか、どなたか教えて下さい。
 HPの初心者です。どうぞ、よろしくお願いします。

フレーム
<frameset cols="19.5%,*" border="0">
<frame src="link.html" >
<frame src="index.html">
</frameset>

フレームの左側
<style type="text/css">
<!--
.param1 {line-height:2;position:absolute;left:10;}
a {text-decoration:none;background-color:#eaffef;}
-->
</style>
<body background="haikei.jpg" link="#0000ff" alink="#ff0000" vlink="#0000ff">
<pre>
<br><font size="1%" class="param1"><a href="index.html" target="_top">トップページ   </a>

A 回答 (5件)

答えを教えちゃうと、勉強にならないのでヒントだけ。



.param1 {line-height:2;position:absolute;left:10;}

が、いたずらしています。
こう言うのは、htmlにソースミスが無いかをまず確認し、そこにミスが無ければ、cssが問題だという事になるので、何処が悪いかを一つずつ検証していくと、答えが出てきます。それに慣れてきたら、ソースを全体的に見れば何処が悪いのか、判るようになります。とにかく、おかしな所がでたら、単純化していって消去法で見つける努力をしましょう。

それと、ふと思ったのですが、

><frameset cols="19.5%,*" border="0">

左はリンクページなんですよね?なんで19.5%しかとらないんでしょう?
ブラウザ上でサイズの変更…は確かにできますが(このままで)、NN4.×は効きませんよ。それにこんなちっちゃくしたら、デフォルトで表示した時、「何でこんなに細いの!?」と思う人100%だと思うのですが…?
    • good
    • 0
この回答へのお礼

「position:absolute;left:10;」を削除しましたら、見事、見事に消えました。
それに問題の解決法まで教えていただき、有難うございます。
左リンクページの19.5%は小さいんですね!
分かりました。自分なりに適正な幅を研究してみます。

くさっていたのですが、元気が出ました。有難うございました。

お礼日時:2003/02/18 11:00

たぶん、リンク側の全ソースを公開した方がいいと思いますよ。


#2の方と同じ事を私もやってみましたが、おっしゃるようなマージンも出なければ、折り返しされることもありませんでした。
windows2000/IE5.5

環境とブラウザも書き添えた方がいいでしょう。
    • good
    • 0
この回答へのお礼

説明不足で、申し訳ありません。
windous98/IE6.0を使っています。
マージンの出る出ないは、OSの違いから来るのかもしれませんね。
この件は、#5の方のご回答で解決しました。

お手数をおかけ致しました。 有難うございました。

お礼日時:2003/02/18 11:12

こんにちわ



質問をきちんと理解できているか不安ですが
リンクを中央に揃えるだけでしたら
スタイルシートの.paramの中のleft:10を消して
リンクの前にある<pre>をけして
<div align="center">を入れて
リンクの文字の後の</a>の後ろに</div>
リンクがたくさんあるときは全部を
<div>で囲えばできると思いますができましたか?
    • good
    • 0
この回答へのお礼

ご指示どうりにやってみたのですが、確かにリンク文字は中央に来るものの、今度は左右マージンが出ます。
この問題は、#5の方のご解答で解決しました。

でも、ご親切にご回答頂き有難うございました。

お礼日時:2003/02/18 11:21

まず質問の意味がよくわからない。

それよりもフレームHTMLは元もHTMLファイルが3つ(画面2つ分けの場合)で構成しています。

貴方の場合
1.home.html(これは他所の人がアクセスするページ)
2.link.html(frame左で表示するページ)
3.index.html(frame右で表示するページ)

home.htmlの中身は:
<HTML>
<HEAD><TITLE>HOME</TITLE></HEAD>
<frameset cols="30%,*" border="0">
<frame src="link.html" >
<frame src="index.html">
</frameset>
</html>

link.htmlの中身は:
<HTML>
<HEAD><TITLE>link</TITLE>
</HEAD>
<style type="text/css">
<!--
.param1 {line-height:2;position:absolute;left:10;}
a {text-decoration:none;background-color:#eaffef;}
-->
</style>
<body background="haikei.jpg" link="#0000ff" alink="#ff0000" vlink="#0000ff">
<pre>
<br><font size="1%" class="param1"><a href="index.html" target="_top">トップページ
</a>
</html>

index.htmlの中身:
<HTML>
<HEAD><TITLE>index</TITLE>
</HEAD>
<H2>INDEX</H2>
</html>

これでまずやって見て下さい。
上記のソースをそれぞれのファイル名で保存すれば動作するはずです。
    • good
    • 0
この回答へのお礼

>まず質問の意味がよくわからない。
説明不足で、申し訳ありません。
その上、フレームの扱い方までご教示頂き、有難うございます。
マージンの問題は、#5の方のご回答で解決致しました。

お手数おかけ致しました。ご親切なご回答有難うございます。

お礼日時:2003/02/18 11:33

右側のマージンって、スクロールバーの幅分のやつですか?


でしたらあれは隠れスクロールバーのようなものになるので、制御不可能だったと思うのですが・・・。

この回答への補足

お早いご回答有難う御座います。

スクロールバーがあっても、やはり右側に1.5CM程度のマージンが出ます。
そこに壁があるようでフレームを縮めると、1.5CM程度のマージを取ったままリンク文字が2行に分解します。

補足日時:2003/02/17 15:14
    • good
    • 0

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