• ベストアンサー

リンク先アンカーの表示位置を下げたい

宜しくお願いいたします。 FAQページを作成中で、ページ最上部に質問だけずらり並んでいて、クリックするとリンク先(ページ下部にある回答)に埋め込んだアンカーに飛びます。 しかしCSSで .header { height:180px; } .main_content { top:180px; } となっているので、飛んだ先の回答がブラウザ最上部、この180pxの部分に表示されて他の要素の裏に隠れてしまいます。リンク先のアンカーを180px下げて表示させるような方法はあるのでしょうか。 質問がわかりにくかったらスミマセン。

  • HTML
  • 回答数4
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
  • nobuoka
  • ベストアンサー率69% (23/33)
回答No.4

おおう、なんか思ってたのと全然違ってびっくりしました笑 デザインはいい感じですね。 コードに関しては色々言いたいことがありますが (空要素 br などで閉じていないものがある、など)、書き換え途中っぽいので黙っておきます。 んで肝心の 「リンク先のアンカーを180px下げて表示させるような方法」 ですが、180px 下げているように見せかける手段として、padding-top で 180px 下げる、という方法があります。 そうすると上に 180px の隙間ができてしまいますが、そこは負のマージンで相殺しちゃうと問題無しです。 例えば、#a1 のリンク先を例にすると <!-- 変更前 --> <p> <a name="a1"></a> </p> <h3 class="blue">A.1 1001ツールはどのようにインストールすればよいですか?</h3> <!-- 変更後 --> <h3 class="blue" id="a1" style="padding-top: 180px; margin-top: -180px;">A.1 1001ツールはどのようにインストールすればよいですか?</h3> のように書き換えてみてください。 多分期待通りの動きになると思います。

kasuke2001
質問者

お礼

ああ、スミマセン、これはリンク先の話をされていたんですね。 そのものずばりです、出来ました。 何故出来たのかはこれから徐々に勉強させて頂きます。現時点ではこれらのhtmlの働きが今ひとつ分かっておりません。 本当に助かりました。有り難うございました。

kasuke2001
質問者

補足

回答有り難うございます。 リンク元は回答頂いたタイトルのすぐ下、リスト化された部分です。 例:□インストール先のフォルダーの場所を変えることは出来ますか? この部分のhtmlは以下です。 <a href="#a2" class="norm"><li class="square">インストール先のフォルダーの場所を変えることは出来ますか?</li></a> nobuokaさんのコードを参考に色々試してみたのですが、なにぶん初心者で応用が利かないのでうまくいきませんでした。上記のhtmlに対して再度方法を教えて頂けると有り難いです。宜しくお願いいたします。 ちなみに見よう見まねで試したのは、styleのみを付け加える以下のようなコードです。これでは同じ結果でした(Mac, Firefox)。 <a href="#b1" class="norm" style="padding-top: 180px; margin-top: -180px;"><li class="square">モデル内の何が日影の解析対象となりますか</li></a>

その他の回答 (3)

  • shokodei
  • ベストアンサー率33% (2/6)
回答No.3

回答の方の margin-top とか、padding-top を 180px 以上にしとけばイイんでないでしょうか。 或いは、アンカーと回答の間を180px以上空けておけば……。

  • nobuoka
  • ベストアンサー率69% (23/33)
回答No.2

質問がよくわからないんで、できれば作成中の FAQ ページのソースコードを全部示すべきかと思います。 せっかく CSS のコードを書いても、肝心の HTML がどうなってるのかわからなければあまり意味がありませんし。 あと 「リンク先のアンカー」 というのもよくわからないんですが、id 属性で指定した場所 (もしくは a 要素の name 属性で指定した場所) ってことですか? 全体的によくわからないんで見当違いの回答になっているかもしれませんが、「本来の表示位置より 180px 下げて表示する」 ということであれば、CSS の position プロパティを "relative" にして、top プロパティを 180px に指定すれば本来の位置より 180px 下げて表示されますよ。 期待通りかどうかはわかりませんが。 div.sample { position: relative; top: 180px }

kasuke2001
質問者

補足

全くの素人なもので、質問の仕方もよく分からずご迷惑おかけします。 htmlは http://1001shadows.com/test.html にあります。 CSSは以下の通りです。CSSはもう一つありますがそちらは主に文字サイズとかなので今回の質問には関係有りません。 多分ツッコミどころ満載だと思いますが、宜しくお願いいたします。 ーーーーーーーーーーーーーーーー .overpic { position:fixed; top:00px; left:00px; z-index:12; } .logo-top { position:fixed; top:60px; } .right_group_list { position:fixed; top:200px; left:680px; width:180px; min-height:36px; padding:0px; z-index:13; } .header { height:180px; } .main_content { top:180px; } .fixed_content { position:fixed; width:510px; left:110px; top:100px; border-width:none; padding-right:30px; padding-left:30px; z-index:6 }

noname#119957
noname#119957
回答No.1

プログラムが面倒なら、フレームを使用してターゲット指定でリンクすれば?CSSでは無理かと。。

関連するQ&A

  • テキストのアンカーリンクに、訪問済みリンクカラーが効かない

    cssで「リンクカラー」「訪問済みリンクカラー」を指定したのですが、アンカーリンクのみ「訪問済みリンクカラー」が適用されません。 リンク後は親ページが訪問済みの色に変わってしまいます。 アンカーリンクのテキスト部分のみ「訪問済みリンクカラー」にするには、どうしたらよいでしょうか。 cssは外部をリンクしております。 HP制作は ・windows XP ・dreamweaver8 現在、このように記述しております。 .sample { font-size: 12px; line-height: 22px; padding-left: 10px; color: #333333; } .sample a:link { color: #0000ff; } .sample a:visited { color: #810081; }

  • 【CSSハック】アンカーポイントの位置をずらしたいのです

    WIN IEのみで失敗してしまうCSS問題についてご質問させてください! 『ページ内アンカーリンクのポイントをブラウザ画面トップから100pxほど下にずらしたポイントに表示したい』 というのも、ブラウザ画面トップにposition:fixed;のオブジェクトを配置しているため、 アンカーリンクでページ内ジャンプした際に先頭部分が上記オブジェクトの後ろに隠れてしまうのです。 <a name="XXXXX" id="anchor"><img src="XXXXXXX"/></a> このタグに対してのCSSは #anchor{ position:relative; top:-100px; left:0; } このコマンドで Mac環境(safari / Firefox) Win環境(Firefox) では成功したのですが、IE6 / IE7では認識せず、スクロールバーがなぜか2本重なるバグ?が表示されるのです。 このような現象の原因と対策がございましたらお教えいただきたいです。 どうぞよろしくお願いします! (横2つ割のインラインフレームは可能なら使いたくないのですが、他に方法がなかったら仕方ないのでしょうか。。)

    • 締切済み
    • CSS
  • リンクとアンカーポイントの同時リンク

     当方web制作初心者です。  ページの最上部に、インラインフレームで別ファイルを表示させているページを作っています。 そのページの最下部でインラインフレーム内で表示するリンクはっているのですが、インラインフレーム内では、ちゃんとリンクしたページにジャンプしているのですが、リンクを貼ったところがページの最下部なので、自分でページの上部に移動しなければなりません。  以前にも同じような質問があったので試してみましたがページの上部に移動しません。試した方法は 「<a href="00.html#top">」のようにリンクするページの後ろにアンカーポイントをくっつけました。IE6(xp)ではうまく動作したのですが、IE7(vista)だと全く反応しません。  私のやり方がおかしいのか、もしくは他にもっといい解決策があるのかご教授ください。お願いします。

  • 固定フレームのついたフレームページにリンクするには?

    メモ帳でホームページを作っています。初心者です。 メニューページにはフレームを使わず、 コンテンツ用ページを二つのフレームを使って、上部に各コンテントファイル、下部にメニュー(各コンテント名を一覧表示)が表示されるようにしています。下部フレームは固定フレームにしたいと思っています。 メニューページで各コンテント名をクリックしたとき、 上部にそのコンテントファイル、下部に固定メニューファイルの表示されたフレームページへリンクさせたいのですが、この方法がわかりません。 初めは、フレームページにアドレスを付けてリンクすればいいのよねー、と試みたのですが、そうすると全てのフレームページ、つまり上部フレームにそれぞれのコンテンツファイルが表示され、下部にメニューファイルが表示されたフレームページのひとつひとつにアドレスをつけないと、リンクできないのでは?と疑問がわきました。 しかし、それではフレームページの固定メニューファイルの各コンテント名をクリックしたときに、上部フレームにはコンテンツファイルのみでなく、各コンテンツのフレームページが表示されてしまい、下部の固定フレームが増えていって(泣)変なことになってしまいますよね。 フレームページ間のリンクは、その固定フレームの各コンテント名のtargetを上部フレーム名にすればよいので問題ないのですが・・・。 メニューページもフレームページにすれば解決するでしょって感じですが^_^;、メニューページには各コンテント名が載せてあるのに下にも同じ項目を並べるのはくどい気がして、ちょっと・・・と思いまして。 ご存知の方よろしくお願いします!

    • ベストアンサー
    • CSS
  • ページ内ハイパーリンクの表示位置指定

    エクセルで、ページの上部にメニュー・下部にメニューの説明を書き、上部メニューを押すと下部メニューに飛ぶようにハイパーリンクを作成しています。 メニュー欄をウィンドウ枠で固定していますが、リンク先へ飛ぶ際、そのリンク先のセルが常のハイパーリンクのすぐ下に表示されるようにしたいんです。 ふつうにハイパーリンクを貼ると、そのセルがページの一番下に表示されてしまいますよね?そうはしたくないんです。 マクロで、リンク先が常にページのトップに来るようなものがあると思いますが、ウィンドウ枠の固定をしているので、それは使えません。 説明が下手ですみませんが、どうすればいいか教えてください。 よろしくお願いします。

  • リンク先を別のフレームに表示

    ホームページビルダーV9でホームページを作成してます。 フレームが3つのページを作成してます。 上部に横長のフレーム、その下に左右2つのフレームです。 上部のリンク先を左下に表示し、その左下のリンク先を右下フレームに表示しようとしてます。 上部のリンク先を左下への表示までは出来るのですが、左下の画面は上部のリンク先がトリガーなので編集画面では左下のリンクページは表示されません。よって左下のリンク画面が表示されないため右下へのリンク表示の設定ができません。 ホームページビルダーでこの様な設定は出来るのでしょうか? 最悪HTMLでの作成(埋め込み)でもかまいません。 ご指導お願いします。

  • センタリングされた外枠を表示させたい

    IEでのブラウザ表示でセンタリンクされた幅900px高さ700pxの枠を表示させたいのですが、うまくいきません。どのようにすれば枠がセンタリングされるでしょうか? ご教授よろしくお願い致します。 ・HTML 部分 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <link rel="stylesheet" href="index.css" type="text/css"> <title>新しいページ 1</title> </head> <body> <div class="page"></div> </body> </html> ・css 部分 .page { border: solid 1px #000000; width: 900px; height: 700px; }

    • ベストアンサー
    • HTML
  • リンク アンカーポイント先を常に先頭に出すには..

    標準サイズで表示されるブラウザ画面程度の長さのページに (スクロールするまで長くない) アンカーポイントでリンクさせる事案がでてきました。 常にブラウザの頂点に各アンカーポイント先を表示させる ことなんてできるのでしょうか? ex アンカーポイントの順A   クリック→ Cが先頭みたいに     (たてにAbC) b           C

    • ベストアンサー
    • CSS
  • FireFoxで見ると表示がおかしくなってしまいます

    困っています。質問させてください。 このカテゴリでいいのか分からないのですが・・・。 HPを運用しているのですが、聞きかじりのcssを利用しています。 IEだと場合によっては普通に表示されるのですが、FireFoxだと文字がどでかく表示されてしまって、レンタルスペースはFC2を使っているのですがページの最後に表示されるはずの広告が文字列の中に割り込んでいたりして、表示がめちゃくちゃになってしまいます。 ちなみに使っているcssは * { margin:0; padding:0; } html { text-align:center; height:100%; } body { width:600px; height:100%; text-align:left; } #HEADER img { display:block; } #NAV { float:left; width:200px; height:100%; margin-top:-100px; padding-top:100px; } #CONTENT { width:650px; height:100%; margin-top:-100px; padding-top:100px; margin-left:200px; } です。index.htmlのbody部分にはfontの大きさは全く指定していません。 よろしければFireFoxでご覧になってみてください。 http://clovermiwa.web.fc2.com/ 私はHTMLをかじったくらいで、cssについては全く分かりません。 HTMLが間違っているのかもしれません。 色々いじってみましたが、問題が解決されず、困っています。 よろしければご教授、お願い致します。

    • ベストアンサー
    • HTML
  • 表示位置について

    初心者ですが、ソフトを使っていなければ 此処で質問をした方が良いと言われたものですからよろしくお願いします。 <style type="text/css"> <!-- body{background-color:#ffffdd} div.box{margin:5px; width:740px;height:1000px;padding:10px; background-color:#fff;border:4px solid #008080;} --> </style> <body> <div class="box"> </div></body> 800×600の画面一杯に、こういうボックスを作って、 最大画面で見る時は、よく有る企業のページのように、左右に余白が出るようにしたいのですが、 どうしても、中央ではなく左側に表示されます。 後、テキストで"white space"を活用したいのですが、何処にどう書き込めばいいか解りません。 質問が判りづらくてスミマセンが、教えて頂けますか。

専門家に質問してみよう