- 締切済み
別ページ内の指定位置にジャンプさせる(win/safari)
name属性を指定してリンクをクリックすると別ページの指定の行にジャンプさせているのですが、 safariだと中途半端な位置に飛んでしまいうまくいきません。 過去の質問で同じものがあり、バグだろうとの事でしたが、 (http://okwave.jp/qa3386783.html) これはどうにもならないのでしょうか。 safariのバージョンは3.1.2です。 IDで試しても結果は同じでした。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- hamue
- ベストアンサー率33% (2/6)
若干ずれますね。というか、IEだけが他とずれているというお決まりのパターンですけど。 たぶん上辺のpaddingが影響しているんじゃないでしょうか?IE以外はpaddingを含めたボックスの上辺に合わせて移動するのに対して、IEはpaddingをないものと考えて移動しているようです。 なので、例えばpadding-topを100pxに指定した場合、ブラウザ間で100pxのズレが生じることになります。DOCTYPE宣言によっても解釈が変わるかもしれませんけど。 ソースを見ないことには明確な回答が出せませんね、、
- reverie013
- ベストアンサー率18% (26/143)
ええととりあえず、本件とは直接の関係はないかもしれない部分も含めて、 私のほうで分かる部分だけ指摘させてもらいますね。 まず、nameはともかくidは、数字で始まるのはNGです。 また、『a要素の name属性を使うのは旧来の手法』(http://w3g.jp/xhtml/dic/a)です。 さらに、idの場合は必ずしもa要素である必要もありません。 例) <h5 id="aboutId">idについて</h5> ちなみに杞憂だとは思いますがDOCTYPE宣言はしていますよね? 上記を踏まえて適切なマークアップの元に修正を加えてみた場合も、 状況は変わらないでしょうか。 お手数ですが試してみて頂けたらと思います。
- reverie013
- ベストアンサー率18% (26/143)
念のため、ソースコードはどのように書かれていて、 どこに飛ぶはずがどこに飛んでしまうのかをお聞きしてもいいでしょうか。 (当方、今すぐsafariのチェックができる環境にいないため。。。)
お礼
リンクが <a href="指定先HTML#01">リンク</a> 指定先HTMLが <a name="01">指定先</a> (IDで試した場合は<a name="01" id="01">指定先</a>) です。 Safariでの飛び先は最上部よりも下、 指定先よりも上、という本当に中途半端な位置です。 数値なのがダメなのかとアルファベットでも試しましたが結果は同じでした。 IE6/7、FireFox、Opera、NN7、Google Chromeでは問題なく飛んでくれるのですが、 Safariだけどうしてもうまくいかないんです・・・ 一応指定先に飛ぶ努力はしているように思うので、 もしかしたら飛ぶ→画像を読み込む→画像の分だけ画面がずれる という状況になっているのかもしれません。 これも調べてみます。
補足
指定先HTMLで画像ありとなしで試したところ、 なしではうまくいきました。 ありでは最上部よりも下、指定先よりも上だったので やはり画像の読み込みの問題のようです。 とはいえ画像を消すわけには行かないので、 この場合諦めるしかないのでしょうか・・・?