画像の上にテキストを重ねるにはどうすればよいですか? 画像が配置されている場所にテキストボックスを正確に表示して、画像が完全に消え、マウスアウトすると画像が再び表示されるようにします。私はすべてを検索しましたが、ホバーボックスの位置が画像の位置とは異なるホバー効果しか見つかりませんでした...
質問する
6435 次
3 に答える
1
css:
.textHover {
display:none;
width:100%;
height:100%;
position:absolute;
top:0; left:0;
text-align:center;
color:white;
}
.imgContain {
position:relative;
display:table;
}
.imgContain:hover .textHover {
display:block;
}
マークアップ:
<div class="imgContain">
<img src="http://placehold.it/300x200"/>
<div class="textHover">My text here</div>
</div>
于 2013-03-08T16:20:55.693 に答える
1
CSS3 に依存せずにスムーズな移行が必要でない限り、JavaScript は必要ありません。画像のサイズが固定されていると仮定すると、次のようになります。
<div>
<p>Text</p>
<img src="" alt="" width="100px" height="100px" />
</div>
div { position:relative; z-index:1; height:100px; width:100px; }
img { position:absolute; top:0; left:0; z-index:2; }
div:hover img { display:none; }
于 2013-03-08T16:16:43.387 に答える
0
そのために JavaScript コードは必要ありません。純粋な html & css ではうまく動作します。以下は、不透明度を変更したcssアニメーションの例です。
html
<div class="hvrbox"> <img src="https://upload.wikimedia.org/wikipedia/commons/2/22/Bochnia_poland_saltmine.jpg" alt="塩鉱山" class="hvrbox-layer_bottom"> <div class="hvrbox-layer_top"> <div class="hvrbox-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce porttitor ligula porttitor, lacinia sapien non.</div> </div> </div>
CSS
.hvrbox、 .hvrbox * { ボックスサイズ: ボーダーボックス; } .hvrbox { 位置: 相対; 表示: インラインブロック; オーバーフロー: 非表示; 最大幅: 100%; 高さ: 自動; } .hvrbox img { 最大幅: 100%; } .hvrbox .hvrbox-layer_bottom { 表示ブロック; } .hvrbox .hvrbox-layer_top { 不透明度: 0; 位置: 絶対; 上: 0; 左: 0; 右: 0; 下: 0; 幅: 100%; 高さ: 100%; 背景: rgba(0, 0, 0, 0.6); 色: #fff; パディング: 15px; -moz-transition: すべての 0.4s イーズインアウト 0; -webkit-transition: すべて 0.4 のイーズインアウト 0; -ms-transition: すべての 0.4s イーズインアウト 0; トランジション: すべて 0.4 秒のイーズイン アウト 0。 } .hvrbox:ホバー .hvrbox-layer_top, .hvrbox.active .hvrbox-layer_top { 不透明度: 1; } .hvrbox .hvrbox-テキスト { テキスト整列: 中央; フォントサイズ: 18px; 表示: インラインブロック; 位置: 絶対; 上: 50%; 左: 50%; -moz-transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); 変換: 翻訳 (-50%, -50%); } .hvrbox .hvrbox-text_mobile { フォントサイズ: 15px; border-top: 1px ソリッド RGB(179, 179, 179); /* 古いブラウザの場合 */ border-top: 1px ソリッド rgba(179, 179, 179, 0.7); マージントップ: 5px; パディングトップ: 2px; 表示: なし; } .hvrbox.active .hvrbox-text_mobile { 表示ブロック; }
ここで、多くの同様の例(より良いアニメーションを使用)で説明しましたhttp://goo.gl/EECjCm
于 2015-12-06T10:34:48.423 に答える