記事タイトルと画像をposition:absoluteで重ねて、hoverでタイトルと画像の前後を入れ替えてみたらどうでしょう?
a{display:block;width:150px;height:150px;position:relative}
a img{position:absolute;z-index:3}
a img:hover{z-index:1}
a h3{position:absolute;z-index:2}
<a href="#">
<img src="画像" />
<h3>記事のタイトル</h3>
</a>
paruchanさん
返信が遅くなりまして申し訳ございません!paruchanさんの方法でできました!ありがとうございます。
ただ、サムネイルの上にマウスを置くとタイトルが表示されるようにはなったのですが、少しマウスを動かすと点滅してしまいます。
マウスを乗せている間はタイトルを表示したままにしたい時はどうすればいいのでしょうか。
本やネットで調べたりしたのですが、まだ始めたばかりのため、原因がわかりませんでした。
アドバイスいただけたら嬉しく思います。よろしくお願いします。
作っているサイトです。
<div id="content">
<?php if (is_front_page()): ?>
<?php query_posts( 'category_name=sourvenir&posts_per_page=12' ); ?>
<div class="title"><a href="http://suliko.moo.jp/?page_id=190">副題</a></div>
<?php if (have_posts()) : ?>
<?php while (have_posts()): ?>
<?php the_post(); ?>
<div style="width:240px; height:180;margin:15px; " class="thumb">
<a href="<?php the_permalink(); ?>">
<div class="pic" ><?php the_post_thumbnail('my_thumbnail'); ?></div><h3><?php the_title(); ?></h3></a>
</div>
<?php endwhile; ?>
<?php endif; ?>
<?php wp_reset_query(); ?>
CSSです。
div#content div.thumb a{display:block;
width:240px;
height:180px;
position:relative}
div#content a div.pic{position:absolute;
z-index:3}
div#content a div.pic:hover{z-index:1;
filter:alpha(opacity=40);
opacity:0.4;}
div#content h3 {position:absolute;
z-index:2;
width:240;
color:black;
padding:60px 10px 0 10px;}
すみません!やり方が間違っていたのか、やはりできませんでした。
上記の状態だと、サムネイル画像にリンクがあったのに、サムネイルの右側の白い空白部分にリンクがきてしまいます。
リンク文字がはみ出すのは画像の横幅と見出しh3の横幅が違いますね。
h3のほうがpaddingのぶん横幅が広くなっています。
widthを220pxにするとボックスと揃うのではみ出なくなると思います。
チカチカするのはhoverをdiv.picに設定しているからかな。
オンマウスする対象が見出しの後ろに回るので再描画が繰り返されてしまうのだと思います。
.picにマウスがのった
→.picを後ろにしよう
→いまマウスが乗っておるのは.picじゃなくてh3だ
→.picをもとの全面に戻さなきゃ→最初に戻る
というイメージですかね。
なのでh3も内包してあるaタグに:hoverを設定してください
div#content a div.pic:hover
を
div#content a:hover div.pic
です。私が最初に書いたcssが間違ってましたね。すいませんm(。_。*;)m
paruchanさん
ありがとうございます!こう作りたいと思っていた通りになりました。丁寧に解説までして頂き、とても勉強になりました。本当にありがとうございました!!