自身のウェブサイトの画面右下に画像を表示させて、
なおかつその画像にリンクを貼りたいのですが、
htmlやcssのスキルは並みの者なので、どうかご助力をお願いします!
イメージとしては、
ttp://www.rakuten.co.jp/e-goods/
や
ttp://www.designwalker.com/
の右側にある画像リンクです。
こちら2つのサイト様のソースを拝見して、
作用している部分を抽出して自分なりに作ってみたのですがうまくいきませんでした。
IEでうまく表示されなかったのです。
他ブラウザではちゃんと右側に出て、スクロールしても画像が固定されるのですが、
IEだけ普通に画像が表示されているだけの状態(左寄せに表示されていて、スクロールしても固定表示されていない)になってしまいます。
2つめに挙げたサイト様はJavaScriptを使用されているっぽい(?)のですが、
できればJavaScript無しで表示させたいです。
IE以外のブラウザではうまく表示されていたので、ちょっと悔しいです。。
解決方法がお分かりになる方、ご意見をいただけるととても助かります。
どうぞ宜しくお願いします!
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
HTMLのどこか(といってもbody直下のように親となるコンテナブロックがstatic意外で配置されていないところ)にナビゲーションを置いて、それをfixさせればよいです。
ただし、古いIEはfixに対応していないので、別途HEAD内に
<!--[if lt IE 7]>
<script type="text/javascript" src="/js/fixed.js"></script>
<![endif]-->
として、JavaScriptを用意することが一般的です。
<body>
<div class="header"><!-- これはabsoluteだとして -->
</div>
<div class="section"><!-- これはrelativeだとして -->
</div>
<div class="footer"><!-- これはstatic -->
<p class="nav"><a href="./index.html"><span>トップへ</span></p>
</div>
</body>
と、きちんとマークアップして、これをスタイルシートで・・
p.nav{
position:fixed;/* fixさせます。 */
right:0;bottom:0; /* 位置を指定 */
width:80px;height:80px;/* 画像のサイズに合わせる */
background-image:url(./images/goTop.gif);
}
p.nav a{
display:block;/* inline要素のaをblockにする */
width:100%;height:100%;/* 親ブロックいっぱいまで */
}
p.nav a span{
display:none; /* 画面では見せない */
}
走り書きで、テストしてませんが、たぶん良いはず。
なお、HTMLでは、リンクに「トップへ」と書いてあるのは、文書内容に関係ない画像をHTMLに埋め込まないためです。
No.2
- 回答日時:
IE6は、非対応、IE7-8はfixedに半分しか対応していないので、JavaScriptを使うかfixedを使わないで無理やり的に表現するかになってしまいます。
以下のソースは文書宣言も大切ですので、使用モードが違うときは上手くいかない場合があります。
その時は、http://www.k5.dion.ne.jp/~i-araki/css/tuki.htmlを参考になさってください。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<STYLE TYPE="text/css">
<!--
*{
margin:0;
padding:0;
}
html,body {
height: 100%;
overflow: hidden;/*本来のスクロールバーを隠します*/
}
#contents {/*非固定全部を大囲い。*/
overflow:auto; /*スクロールバーを出しています*/
height:100%;/*高さを画面一杯に指定します*/
position: relative;/*位置の基準点を相対位置に指定します。*/
padding-right:100px; /*右の画像と重ならないように空けます*/
}
#nav {
position:absolute; /*ブラウザの左上を絶対的な位置にします*/
right:30px; /*固定部分の位置指定*/
bottom:30px; /*固定部分の位置指定*/
}
-->
</style>
</head>
<body>
<div id="nav">★</div><!--★を適切な画像に変えてください*/-->
<div id="contents">非 固 定 部 分(本文)
</div>
</body>
</html>
No.3
- 回答日時:
IE7 と IE8 は省略。
IE6 は、
他のブラウザと CSS だけじゃなくて HTML 構造も変えちゃえうことで position:fixed; と同じようなことができるというお話。
『CSSのみでIE6にposition:fixedを対応させる』
http://css-eblog.com/csstechnique/position-fixed …
css はこれ。(※ 本当に使うときは、外部 CSS で!)
<!--[if IE 6]>
<style type="text/css">
html, body { margin:0; padding:0; height:100%; } /* html 要素と body 要素 を固定させる */
body { position:relative; overflow:hidden; } /* body 要素を、absolute 子孫要素の基準 box にする */
#body { overflow:auto; } /* body 要素のかわり */
.fixed-position { position:absolute; } /* fixed っぽくする要素 */
</style>
<![endif]-->
html はこれ。
<body>
<!--[if IE 6]><div id="body"><![endif]-->
<div class="section">
<p>※ここにコンテンツを入れる</p>
</div><!-- .section -->
<!--[if IE 6]></div><![endif]--><!--"#body"-->
<div class="fixed-position">
<p>固定したい何か</p>
</div><!-- .fixed-position -->
<div class="fixed-position">
<p>固定したい何かその二</p>
</div><!-- .fixed-position -->
</body>
つまり、むりやり、body 要素を (ブラウザの表示領域とかの)view port(※) にして div#body を body 要素にしてしまおうという荒業。
思いついた人すごすぎ!
(※) http://www.w3.org/TR/CSS21/visuren.html#position …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS トリミングで表示した画像をクリックで元どおりにしたい 3 2022/12/16 18:49
- Gmail Gメールの受信トレイの表示が変わって、戸惑っています 1 2023/04/04 17:52
- Excel(エクセル) Excel2019 マクロを使用し画像を貼り付けした際のリンク切れについて 2 2022/11/15 16:14
- Windows 10 Windows10 の設定?について (長文ですがよろしくお願いします)m(_ _)m 3 2022/05/14 12:22
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- Excel(エクセル) iphonからone driveに保存してあるExcelを閲覧すると表示の仕方がちがうデータ 2 2022/12/21 13:51
- JavaScript HTML&CSS Javascriptによる動的テーブル 1 2023/03/27 19:51
- Yahoo!メール Aliexpressから送られてくる画像メールの画像が表示されない 1 2022/05/30 09:10
- その他(ブラウザ) IE・edgeで日増しに観られるサイトが減ってくる。 1 2022/10/04 22:40
- JavaScript 空白で入力フォームのボタンをクリックしたら、ブラウザの上部からjavascriptで 表示されるアラ 1 2022/05/20 11:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
bodyにidをつける理由は何ですか?
-
ホームページ上に『位置固定』...
-
(Javascript)印刷するファイル...
-
リンクをクリックすると文字が...
-
擬似フレーム
-
iframeのsrcにページ内リンク(...
-
h1にmarginを指定すると一瞬カ...
-
ページの読み込みが完了してか...
-
<p>で<td>のように枠を表示させ...
-
<a href="#" …>の意味を教えて...
-
別ファイルのfunctionの読み込み方
-
JavaScriptからVBScriptの呼び...
-
<script>...</script> 要素の内
-
GIFアニメの動きが止まってしま...
-
相対パスと絶対パスの速度
-
SCRIPT5007: 未定義または NULL...
-
javascript外部読み込みの際の引数
-
cssにjavascriptを入れる?呼び...
-
pythonのWebスクレイピングでfi...
-
html メールリンクにて自動ファ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
bodyにidをつける理由は何ですか?
-
テキストボックス内にハイパー...
-
(Javascript)印刷するファイル...
-
ハイパーリンクに下線を表示す...
-
別ページのページ内リンクでの...
-
横スクロールを右から左へ・・・
-
bodyにwidth:100%をつける理由は?
-
ボタンが押されたらWebページの...
-
テーブル内の数値を自動で計算...
-
"mailtoでメールの【氏名】【性...
-
ページの読み込みが完了してか...
-
テキストをクリックすると答え...
-
インラインフレーム内のスクロ...
-
<body id=~>の用途は?
-
複数のiframeの読み込みについて
-
Chromeがiframe内の「#~」に釣...
-
-css- ページオープン時やリロ...
-
ページによって表示位置がずれ...
-
<HR>タグでつくる四角形につい...
-
リンクをクリックすると文字が...
おすすめ情報