質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
スライダー

GUIのグラフィカルウィジェットのひとつです。インジケーターを動かすことで値を調節可能とします。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

1回答

14121閲覧

CSSで作ったスライダーにリンクをつけたい

Rieee

総合スコア4

スライダー

GUIのグラフィカルウィジェットのひとつです。インジケーターを動かすことで値を調節可能とします。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2020/03/09 12:58

前提・実現したいこと

CSSのみで、ズームしながらふわっと切り替わるスライドショーを作り、それぞれの画像にリンクを貼り付けたいと思っています。が、画像に<a href="">でリンクをつけると上手く作動しなくなってしまい、リンクにも飛びませんでした(画像が全て同時に出てきてしまいます)。
他の方の質問や色々なページを見て試してみてはいるのですがよくわからず、、、ここで質問させていただきました。大変恐縮ですが、アドバイスいただけますと嬉しいです。

該当のソースコード

【CSS】

<style> /*スライダー*/ .main_imgSlide { width: 400px; height: 550px; overflow: hidden; position: relative; } .main_img { z-index:10; opacity: 0; width: 100%; height: 680px; background-position: center center; background-repeat: no-repeat; background-size: cover; position: absolute; left: 0; top: 0; -webkit-animation: anime 36s 0s infinite; animation: anime 36s 0s infinite; } .main_img:nth-of-type(2) { -webkit-animation-delay: 6s; animation-delay: 6s; } .main_img:nth-of-type(3) { -webkit-animation-delay: 12s; animation-delay: 12s; } .main_img:nth-of-type(4) { -webkit-animation-delay: 18s; animation-delay: 18s; } .main_img:nth-of-type(5) { -webkit-animation-delay: 24s; animation-delay: 24s; } .main_img:nth-of-type(6) { -webkit-animation-delay: 30s; animation-delay: 30s; } .main_img { opacity: 0; width:100%; height:100%; object-fit: cover; position: absolute; left: 0; top: 0; -webkit-animation: anime 36s 0s infinite; animation: anime 36s 0s infinite; } .main_img:nth-of-type(2) { -webkit-animation-delay: 6s; animation-delay: 6s; } .main_img:nth-of-type(3) { -webkit-animation-delay: 12s; animation-delay: 12s; } .main_img:nth-of-type(4) { -webkit-animation-delay: 18s; animation-delay: 18s; } .main_img:nth-of-type(5) { -webkit-animation-delay: 24s; animation-delay: 24s; } .main_img:nth-of-type(6) { -webkit-animation-delay: 30s; animation-delay: 30s; } @keyframes anime { 0% { opacity: 0; height: auto; } 8% { opacity: 1; } 17% { opacity: 1; } 25% { opacity: 0; transform: scale(1.2); z-index:9; } 100% { opacity: 0 } } @-webkit-keyframes anime { 0% { opacity: 0; } 8% { opacity: 1; } 17% { opacity: 1; } 25% { opacity: 0; -webkit-transform: scale(1.2); z-index:9; } 100% { opacity: 0 } } </style>

【HTML】

<div class="main_imgSlide"> <a href=""><img src="" alt="img" class="main_img"></a> <a href=""><img src="" alt="img" class="main_img"></a> <a href=""><img src="" alt="img" class="main_img"></a> <a href=""><img src="" alt="img" class="main_img"></a> <a href=""><img src="" alt="img" class="main_img"></a> <a href=""><img src="" alt="img" class="main_img"></a> </div>

補足情報(FW/ツールのバージョンなど)

可能であればHTMLとCSSのみで作りたいと思っています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Rieee

2020/03/10 16:17

今回次の画像に6秒後に切り替わり、3秒かけてフェードアウトに設定していますが、次の画像に切り替わってから3秒後に画像をクリックすると、一つ前の画像に貼っているリンクに飛んでしまいます。@keyframesで指定している秒数を変えれば改善されるかと思ったのですが、そこを変えても同じ問題が起きてしまいました。別部分の修正が必要でしょうか?初心者のため初歩的な質問で申し訳ありませんが、もし宜しければ教えていただきたいです。
guest

回答1

0

.main_imgに指定していた記述を、追加した<a>と既存の<img>に分散する必要があります。

おおざっぱに、<a>のほうにclass="main_img"を移動して、
<img>には親要素に対しては隙間が出ないようにする記述 (width: 100%;height: 100%;など) をするのが楽だと思います。

HTML

1<div class="main_imgSlide"> 2 <a href="" class="main_img"><img src="" alt="img"></a> 3 ... 4</div>

position: absolute;を使うときの鉄則として、<a><img>などの、いわゆるインライン要素には
display: block;を指定しておくと無難です (理由があればdisplay: flex;も可)。

CSS

1.main_img { 2 display: block; 3} 4.main_img img { 5 display: block; 6}

投稿2020/03/09 13:24

編集2020/03/09 13:50
new1ro

総合スコア4528

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Rieee

2020/03/10 03:05

早速のご回答ありがとうございます!いただいたアドバイス通り対象箇所を修正しましたら、正常に動作するようになりました!ご丁寧に教えていただき、ありがとうございます! 今回次の画像に6秒後に切り替わり、3秒かけてフェードアウトに設定していますが、次の画像に切り替わってから3秒後に画像をクリックすると、一つ前の画像に貼っているリンクに飛んでしまいます。@keyframesで指定している秒数を変えれば改善されるかと思ったのですが、そこを変えても同じ問題が起きてしまいました。別部分の修正が必要でしょうか?初心者のため初歩的な質問で申し訳ありませんが、もし宜しければ教えていただきたいです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問