2017-02-21 13 views
0

私の質問は、このanswerの使用法に基づいています。私はhereとしてこのソリューションを使用したいと思います。しかし、マウスオーバーではなく、リンクをクリックした後にiframeが表示され、別のクリックで閉じることができます。それはCSSだけを使って可能ですか?リンク上のマウスをクリックするとリンク先ページの小さなポップアップでライブプレビューを表示する方法は?

This live preview for <a href="http://en.wikipedia.org/">Wikipedia</a><div class="box"><iframe src="http://en.wikipedia.org/" width = "500px" height = "500px"></iframe></div> remains open on mouseover. 

.box{ 
display: none; 
width: 100%; 
} 
a:hover + .box,.box:hover{ 
display: block; 
position: relative; 
z-index: 100; 
} 

答えて

1

アンカータグではありませんが、チェックボックスハックを使用してそれを行うことができます。

.box{ 
 
    width: 100%; 
 
} 
 
input, .box { 
 
    display: none; 
 
} 
 
#checkbox:checked + .box { 
 
    display: block; 
 
    position: relative; 
 
    z-index: 100; 
 
}
<label for="checkbox">Click</label> 
 
<input id="checkbox" type="checkbox"> 
 
<div class="box"> 
 
    <iframe src="http://en.wikipedia.org/" width="500px" height="500px"></iframe> 
 
</div>

あなたは:target疑似クラスを使用してaタグをクリックすると、あなたはIFRAMEを表示することができますが、1)それはjavascriptをせずに(ページにジャンプします)、および2)することができますページ上の別のリンクをクリックせずに、URL内のハッシュを変更せずに閉じます。本当にすごいです

.box{ 
 
    width: 100%; 
 
    display: none; 
 
} 
 
.box:target { 
 
    display: block; 
 
    position: relative; 
 
    z-index: 100; 
 
}
<a href="#iframe">click to</a> | <a href="#whatever">click to close</a> 
 
<div class="box" id="iframe"> 
 
    <iframe src="http://en.wikipedia.org/" width="500px" height="500px"></iframe> 
 
</div>

+0

、あなたの助けをありがとうございました。しかし、私はよく説明していないと思う。私は今、テーブルのセルでホバリングをやっています。マウスをあるセルから別のセルに移動すると、多くのものが飛び出すので、迷惑です。私はあなたの例をテーブルの中で動かすことができませんでした。私はそれをより簡単にするためにCSSを使いたいと思っていましたが、jsで簡単にそれを行う方法を知っていれば、私も感謝します。 – user1265067

+1

これは完璧です、ありがとうございました。 – user1265067

+0

ちょうどhtmlテーブルに複数のボックスがあるという問題がありました。#checkbox1、#checkbox2、...という名前を付けると、それらを個別に開くことができます。それを行うより現実的な方法はありますか? – user1265067

関連する問題