これは容易な位置決め及びz索引付けを調整することによって達成することができます。
親div要素にはposition: relative
属性が必要です。テキストにはposition: absolute
という属性が必要です。これにより、テキストがイメージと重なり合うことができます。位置の相対値は、子要素に相対属性を持つ閉じ親にそれぞれ位置付けるように指示します。
次の手順では、レイヤーを制御するためにさらにいくつかの属性を適用します。私の理解では、イメージを最上位レイヤに、テキストを下位レイヤにしたいと考えています。これを解決するには、画像にposition: relative; z-index: 2
を適用し、テキストにz-index: 1
を追加します。 z-index属性は、重なり合う要素にレイヤー順序を与えます。その要素のデフォルトの位置はZ-インデックス属性を無視するので、画像にposition: relative
を与える必要があります。物事はもっと近づき始めるはずです。
ここでは、display: block
とdisplay: none
というアトリビュートを使用して、イメージを非表示にしてテキストを表示すると述べました。これはあなたが記述した機能に基づいて動作しますが、表示するように設定してからジャンプエフェクトを作成します:noneは高さの設定を失い、ページ上で崩壊することになります。これを望んでいない場合は、代わりにvisibility: hidden
とvisibility: visible
を使用します。
しかし、私はおそらく代わりに行うだろうと、新しいCSSクラスを追加します:
.hidden{ opacity: 0 }
あなたが単純なJavaScriptを持つことができ、また、フェード効果をアニメーションの範囲に行くことができますこの方法です。これは、次のコードを使用することになり、Javascriptのといえば:
HTML::外
<div id="main-image-div" class="text-center" style="position: relative">
<img id="main-image" src="http://sdtimes.com/wp-content/uploads/2014/08/0815.sdt-python.jpg" style="margin-top:2%; position: relative; z-index: 2;" class="rounded img-thumbnail">
<h2 id="history-timeline" style="position: absolute; z-index: 1; ">does this work</h2>
</div>
CSS
.hidden{opacity: 0}
ここ
$("#main-image").click(function(){ $(this).toggleClass('hidden') });
はいくつか変更したコードは次のようになります。この範囲では、インライン・スタイリングを避け、htmlだけでクラスを使用するようにしてください。それらのクラスをあなたのCSSコードで参照し、あなたのスタイリングをそこに適用してください。これにより、サイトが構築されるにつれ、よりクリーンで管理しやすいコードが可能になります。
このコードを試してみてください。 –
@anied私はcodepenリンクを編集しました – vampiire