<a name="〜">で指定したリンク先をページの真ん中に

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



0   名前: sacco : 2006/07/05(水) 13:55  [URL]  ID:pMZRxa2t
フレームを使って固定ヘッダ+横スクロールでサイトを作っています。
画像に<a name="〜">のタグをつけ
ヘッダに書いたメニューからその画像にリンクするようにしています。

実際動かしてみると、指定した画像がページの端ギリギリのところに表示されてしまうのです。
指定した画像が真ん中に来るようにする方法があれば教えていただきたいです。

よろしくお願いいたします。

1   名前: はな : 2006/07/05(水) 13:55  ID:1CNNH4R4
リンク先のURLが直接画像のURLになってませんか?
その場合表示位置をしていすることは、無理だと思うので、
HTMLファイルを作り、
<center><img src="画像のURL"></center>
としてください。

2   名前: カヅサツ ◆ThCi95HEzw : 2006/07/05(水) 13:55  [URL]  ID:O5hEMlpW
http://www.tagindex.com/cgi-lib/q2bbs/patio.cgi?mode=view&no=742

3   名前: sacco : 2006/07/05(水) 13:55  ID:pMZRxa2t
はなさん、カヅサツさん 早速のレスありがとうございます。

はなさん>下のフレームは、横長いページ1枚のみで作りたい(作ってあるように見せたい)のですが、
     何枚かに分けないと不可能ということでしょうか?

カズサツさん>リンク先を見てみたのですが
       HTML初心者に毛が生えた程度の私の頭では理解できませんでした。
       結局無理なんでしょうか?

できればもう少し詳しく教えていただきたいです。

問題のページはここです↓
http://www.soup-web.net/_index2.html

よろしくお願いいたします。

4   名前: はな : 2006/07/05(水) 13:55  ID:8S9CpHCG
なにも表示されてませんよ。
</body>

</noframes>

</frameset>


</body>
の一番上の</body>は、明らかに余分なものですね。
このソースじゃbody要素がすでに終了した後に、</noframes>と</frameset>が終了してる(実質終了してない)ことになります。
また、これ<body bgcolor=#ffffff>は2ついらないですね。
あとのほうを消してください。
<body bgcolor=#ffffff>が2つあるのも正しいHTMLファイルとは言えませんが、以外に表示できる場合も多いのできずかない方もいるようですが、HPが表示されない不都合で、終了タグがないまたは、あっても</body>のあとにある場合不都合が、出ること多いですから、早めに直してください。
ちなみにHP見えてませんよ。

5   名前: sacco : 2006/07/05(水) 13:55  [URL]  ID:pMZRxa2t
はなさんご指摘ありがとうございます。
macでは見れていたので全く気づきませんでした。
修正したのでたぶんご覧いただけるようになってると思います。

6   名前: sasame : 2006/07/05(水) 13:55  ID:csXQLNfs
確かに、自分の環境で表示できてると気づき難いですよね。(私もいつも、他の人からどう見えてるかビクビクしてます)
<html>
<head>
<title>soup</title>
<META 省略>

<script language="JavaScript">
<!-- 省略 //-->
</script>

<style TYPE="text/css">
<!-- 省略 -->
</style>

<link rel="SHORTCUT ICON" href="http://www.soup-web.net/img/favicon.ico">

</head>

<body bgcolor=#ffffff> /* (1) */

<div class="fb_12"> /* (2) */

<frameset rows=55,* border="0" framespacing="0">
<frame src="http://www.soup-web.net/_header.html" name="frame_header" frameborder=0 noresize scrolling="no" marginheight=0>
<frame src="http://www.soup-web.net/_main.html#about" name="frame_main" frameborder=0 marginheight=0>

<noframes>

<body bgcolor=#ffffff>  /* (1)' */

省略

</body> /* (3)' */

</noframes>

</frameset>

</body> /* (3) */
</html>

<frameset>タグの外に<body>と<div>がいます。これが悪さしていると思われるので削除します。(1)(2)
</frameset>タグの外に</body>がいます。表示しないという直接的な悪さはしていないと思いますが、削除します。(3)
(1)と(3)は<noframe></noframe>内に書きます。(1)'(3)'
(2)は閉じタグを見つけられませんでしたが、修正時に削除してしまったんでしょうか。
できれば、ドキュメントタイプもフレームセットで宣言した方がいいと思われます。
#<frameset>タグの外側では<html><head>(<title>他)以外のタグは使用できないと思っていいと思います。

質問への回答としては、
どうしても、目的のものを中央(または目的の位置)に表示したい場合、アンカー位置を"嘘"つく必要があります。
>2のリンク先でもこのへんのことが解説されていると思います。
縦方向なら<br>で改行してアンカーから表示位置をずらす、という方法が紹介されてます。
横方向なら?透明な箱を詰めていくとかするしかないんじゃないですかね…

------------------------------------これも無理矢理なやり方。
・本来なら■にジャンプしたいが、■を中心にしたいためそれより離れた位置にアンカーを張る。(という"嘘")
[□□□□□◇□]□■□□□□□□□□ #ジャンプ前

□□□□□[◇□□■□□□]□□□□□ #ジャンプ後

□ …透明な箱
■ …中心に表示したいもの
◇ …("嘘"の)アンカー位置
※ 1画面で7個の箱を表示するとしての話。([]で画面表現)
#やったこと無いからうまくいくかは…ゴメンナサイ。ヒントになれば幸いです。

7   名前: J : 2006/07/05(水) 13:55  ID:i74NHD2m
>>5
 そのために「文法チェッカ」というものがあります。文法チェックしてからPutする癖をつけたほうがいいでしょう。

参考)
http://bakera.jp/html/opinion/useahl.html

8   名前: カヅサツ ◆ThCi95HEzw : 2006/07/05(水) 13:55  [URL]  ID:O5hEMlpW
>>3
> 結局無理なんでしょうか?

私は「原則として無理です」と回答しました。
とはいえ「原則」でなければ無理矢理に可能ではあるのですが、「原則」でないだけに、初心者にはあまりオススメしません。
まず、HTMLの基礎をすべて理解した上で、「何処で嘘文法を書き、何処で嘘文法を書かないか」を決めれば、おのずと >>2 の内容は理解できる(ように書かれている)と思います。

9   名前: sacco : 2006/07/05(水) 13:55  [URL]  ID:pMZRxa2t
みなさんコメントありがとうございます。

sasameさん>詳しく書いていただいてありがとうございます。
Jさん>文法チェッカー!そんな物があるんですね。使ってみます。
カヅサツさん>がんばって読み直してみます...

一覧へ戻る