サンプル(DEMO)
※サムネイルクリックで写真が画面上部に移動してしまうのは、原因がよくわかりませんが、このWordpressテーマの制約のためと考えられます。通常のHTMLページでは、移動は起こりません。こちらのページに、SAMPLEがあります。
本サンプル用に用意した写真
・サムネイル:200px*200px の写真6枚・表示写真:サムネイルに該当する、600*400px の写真6枚
本サンプル表示用HTML
<div id="stage"> <a href="#p11"><span>×</span></a> <a href="#pic1"><div class="frame"> <div class="cover"><span>チングルマ</span></div> <div class="pict"> <img src="img/s1.jpg"> <div class="part1"><div class="arc1"></div></div> <div class="part2"><div class="arc2"></div></div> </div> </div></a> <a href="#pic2"><div class="frame"> <div class="cover"><span>コマクサ</span></div> <div class="pict"> <img src="img/s2.jpg"> <div class="part1"><div class="arc1"></div></div> <div class="part2"><div class="arc2"></div></div> </div> </div></a> <a href="#pic3"><div class="frame"> <div class="cover"><span>イワギキョウ</span></div> <div class="pict"> <img src="img/s3.jpg"> <div class="part1"><div class="arc1"></div></div> <div class="part2"><div class="arc2"></div></div> </div> </div></a> <a href="#pic4"><div class="frame"> <div class="cover"><span>ミヤマ<br>キンポウゲ</span></div> <div class="pict"> <img src="img/s4.jpg"> <div class="part1"><div class="arc1"></div></div> <div class="part2"><div class="arc2"></div></div> </div> </div></a> <a href="#pic5"><div class="frame"> <div class="cover"><span>コバイ<br>ケイソウ</span></div> <div class="pict"> <img src="img/s5.jpg"> <div class="part1"><div class="arc1"></div></div> <div class="part2"><div class="arc2"></div></div> </div> </div></a> <a href="#pic6"><div class="frame"> <div class="cover"><span>ハクサン<br>コザクラ</span></div> <div class="pict"> <img src="img/s6.jpg"> <div class="part1"><div class="arc1"></div></div> <div class="part2"><div class="arc2"></div></div> </div> </div></a> <div id="pic1" class="photo"><img src="img/1.jpg"></div> <div id="pic2" class="photo"><img src="img/2.jpg"></div> <div id="pic3" class="photo"><img src="img/3.jpg"></div> <div id="pic4" class="photo"><img src="img/4.jpg"></div> <div id="pic5" class="photo"><img src="img/5.jpg"></div> <div id="pic6" class="photo"><img src="img/6.jpg"></div> </div>
本サンプル表示用CSS
/* 表示枠 */ #stage { max-width:660px;height:415px;background:#000;position:relative; } /* サムネイル表示枠 */ .frame { position:relative;width:200px;height:200px;margin:5px 0 0 5px;border:none;float:left;} /* サムネイルの円形表示(淵が表示されないように、小さくし、右下にずらしている) */ .pict img { border-radius:50%;width:197px;height:197px; margin:1px 0 0 1px; } /* 半円を表示する枠(左右合わせて円形) */ .part1,.part2 { position:absolute; width:100px;height:200px; overflow:hidden; background:transparent; } .part1 { top:0;left:100px; } .part2 { top:0;left:0px; } /* サムネイルの上層に半円(左右合わせて円) */ .arc1,.arc2 { top:0;left:0; width:0;height:0; border-radius: 50%; border:100px solid transparent; } /* border-toとborder-rightを45°時計回りに回転し右半円を作る */ .arc1 { margin-left:-101px; border-top:100px solid #000; border-right:100px solid #000; transform:rotate(45deg); animation-fill-mode: forwards; } .arc2 { margin-left:1px; border-bottom:100px solid #000; border-left:100px solid #000; transform:rotate(45deg); animation-fill-mode: forwards; } /* 写真閉じるボタン(✖) */ a span { display:block;position:absolute;top:0;right:0;color:#fff;font-size:32px;font-weight:bold;margin-right:5px; } a span:hover { cursor:pointer;color:orange; } /* サムネイル・半円などを覆う透明膜 */ .cover { position:absolute;top:0;left:0; width:100%;height:100%; z-index:100; } /* 写真題名 */ .cover span { position:absolute;top:40%;left:25%;color:#fff;font-size:24px;text-align:center; } .cover:hover { cursor:pointer; } .cover:hover > span { opacity:0; } /* coverのマウスオーバーで半円を時計方向に回すanimationを指定 */ .cover:hover ~ .pict .part1 .arc1 { animation:rot1 0.5s linear;animation-fill-mode: forwards; } .cover:hover ~ .pict .part2 .arc2 { animation:rot2 0.5s linear;animation-fill-mode: forwards; } /* 表示写真 */ .photo { opacity:0; position:absolute; top:5px;left:5px; transition:opacity 1s ease; } .photo:target { z-index:200; opacity:1; } /* 各半円のanimation設定 */ @keyframes rot1 { 0% { transform:rotate(45deg); } 50% { transform:rotate(225deg); } 100% { transform:rotate(225deg); } } @keyframes rot2 { 0% { transform:rotate(45deg); } 50% { transform:rotate(45deg); } 100% { transform:rotate(224.7deg); } }
お世話になります、サイト管理者様。写真20枚で作成してみたところ、拡大画像は20枚開きますが、円形画像が、サンプルと同じく、6枚(7枚以降は1~6の繰り返し)となります。修正方法がありましたら、ご教示よろしくお願いいたします。
解決しました。CSSを見直してみたところ、s7.jpg~の修正ができていませんでした。