画像のキャプション表示

figureタグを使う話の続き

figureタグのなかにfigcaptionを書いておけば、画像の下にfigcaptionで書いた内容が表示されることは前回書いた。それを画像の中に書いてやることもできるのは容易に想像できる。positionプロパティを使ってレイヤにしてやればいい。positionは親要素にも書いてやらないとz-indexが効かない。cssは以下。

スクリーンショット 2015-12-17 9.00.00次に表題と説明を上下に分けてみる。ついでに文字色を白に文字も中央揃えにしてみた。
cssは以下

スクリーンショット 2015-12-17 9.14.31更にマスクを掛けてみる。cssは以下

backgroundで透過色を指定しているだけだが、ブラウザが持っているh3やpのプロパティを初期化していないので、ここで指定し、下の部分はbottom指定も変えている。

スクリーンショット 2015-12-17 9.37.36

最後にこれをマウスオーバー時にキャプションが現れる形にしてみる。ここではopacityを0、すなわち完全透過で非表示にし、:hoverでopacityを1にして、透過なしにする。その際若干の時間差をつけてやるといい。それはtransitionを使う。その部分のcssは以下。

これについてはデモをご覧ください。
なお、もっと上手なエフェクトについては
http://www.nxworld.net/tips/css-only-caption-effect.html
をご覧ください。とても参考になります。

 

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です