質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
iframe

HTMLのタグ<iframe>です。<iframe>は、ドキュメント内に""inline frame""を作るHTML要素で、同じページでセパレートしているドキュメントが表示されるようにします。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

4639閲覧

[楽天][IE][iframe]IEでiframeにhoverが効かない。

zeele001

総合スコア13

iframe

HTMLのタグ<iframe>です。<iframe>は、ドキュメント内に""inline frame""を作るHTML要素で、同じページでセパレートしているドキュメントが表示されるようにします。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2016/03/22 10:19

編集2016/03/22 16:49

###前提・実現したいこと
IE10以降のバージョンにてiframeにhoverの機能を持たせたい。
楽天という都合上jsの類が使用できません。
CSSのみでの打開策をお持ちの方がいらっしゃいましたらお力を貸していただきたいです。

###発生している問題・エラーメッセージ
iframe内にドロップダウンのグローバルナビを設置しています。
iframeの高さ以上に表示ができないため、hoverの際に高さを変更する形で
実現を試みましたところ、IEでのみiframeにhoverが効かないことが発覚しました。

###ソースコード

HTML

1<div class="header_frame"> 2<iframe src="module/header.html" scrolling="no" frameborder="0"></iframe> 3</div>

CSS

1.header_frame { 2 z-index:9999; 3 position:absolute; 4 top:0; 5 left:0; 6 width:100%; 7} 8 9.header_frame iframe{ 10 width:100%; 11 height:40px; 12 position:absolute; 13 top:0; 14 left:0; 15 z-index:9999; 16} 17 18.header_frame iframe:hover{ 19 width:100%; 20 height:260px; 21 position:absolute; 22 top:0; 23 left:0; 24 z-index:9999; 25}

###補足情報
楽天の店舗という都合上jsの類を読み込ませることが出来ません。
iframeの中にでしたらjsを読み込ませることは可能ですが、
何か解決策にお心当たりのある方はお力をお貸しいただきたいです。

宜しくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

いっそのこと iframe の背景を透過させて常に開いてしまうと言う方法はいかがでしょうか。
直後の要素が当然クリックできませんが、メニューの直下に重要なボタンが来ることも考えにくいので、デザインで処理できるような気がします。

RMS

HTML

1<div class="header_frame"> 2<iframe src="module/header.html" scrolling="no" frameborder="0" allowtransparency="true"></iframe> 3</div>

CSS

1.header_frame, 2.header_frame iframe { 3 width:100%; 4 height:260px; 5 z-index:9999; 6 position:absolute; 7 top:0; 8 left:0; 9} 10.header_frame { 11 margin-bottom: -220px; 12}

header.html

CSS

1html, body { 2 background-color:transparent; 3}

JavaScriptを使用する以外の方法でいくつか試してみましたが、どれもメニュー向きではなかったので飛び道具です。( .header_frame::after擬似要素をかぶせて :hover を拾ってみたのですが、iframe 内のボタンをまともに押せませんでした )

投稿2016/04/01 20:26

編集2016/04/01 20:31
kei344

総合スコア69400

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

zeele001

2016/04/13 07:30

ご回答ありがとうございます。 デザイン上で直下の要素にリンクなどを置かない形で対処するしかないですかね… もしくは下で回答いただいているようにプレーンなHTMLとCSSで対応するか… :targetや:focus、:before:afterなどなどいろいろ試しておりますが、 なかなか難しいですね、文字数の制限上iframeで対処したいところでしたが…
zeele001

2016/04/13 07:34

飛び道具部分、もしお手間でなければご教示いただきたいです。
kei344

2016/04/13 07:43

回答自体が「飛び道具」というつもりでした、期待させたようで申し訳ない。
zeele001

2016/04/18 09:52

なるほど、ありがとうございました。
guest

0

どちらかというとCSSのみでドロップダウンを実現する方が筋がよろしいかと思います。

簡単に調べるだけでも、以下のようなサイトが見つかります。

とはいえ、IEもバージョンによってCSS対応度が異なります。(IEについてどうしてもという場合には、バージョンを明記していただくと回答しやすいかなと思います。)

投稿2016/03/22 15:20

amaranthine

総合スコア501

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

zeele001

2016/03/22 15:50

ご回答ありがとうございます。 IE10までを想定しております。 おっしゃる通りプレーンなhtmlとCSSで挙動の実現は可能なのですが、 楽天という都合上文字数の制限や更新性の向上などの兼ね合いで、iframeでの導入をどうにか実現したい。 という状況にございます。 何かまたお持ちの打開策がありましたらお力を貸していただけると幸いです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問