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

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

ただいまの
回答率

90.00%

cssでアニメーションを使用するとリンクがクリックできなくなる。

解決済

回答 1

投稿

  • 評価
  • クリップ 1
  • VIEW 344

aazzkk

score 13

web制作初心者です。
時間が経つにつれて文字が大きくなるアニメーションを使用すると、画面最上部に固定してあるメニューのリンクがその要素に重なってる間、リンクがクリックできなくなります。
スクロールしていくと、普通にクリックできるようになるのですが…どうすれば改善できますでしょうか?
よろしくお願いいたします。

●html●

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="stylesheet" href="sstemp4.css">
  <title>template sample</title>
</head>

<body>
  <header>
    <div id="menu">
      <ul id="menu-list">
        <li><a href="#about">about</a></li><li>
        <a href="main">main</a></li><li id="sitename">
        <a href="#"><span>Site Name</span></a></li><li>
        <a href="#bookmark">bookmark</a></li><li>
        <a href="#contact">contact</a></li>
      </ul>
    </div>
    <span id="poem">Where there is a will, there is a way.</span>
  </header>

  <div id="wrapper">
    <div id="about" class="contents">
      <div class="contents-menu">
        <div class="contents-menu-title">
          <h2>about</h2>
          <p>サイトについて</p>
        </div>
      </div>
      <div class="contents-main">
        <p>シンプルなモノクロデザインのテンプレート。</p>
        <p>画面サイズ959px以下でメニューが切り替わります。</p>
      </div>
    </div>
    <div id="main" class="contents">
      <div class="contents-menu">
        <div class="contents-menu-title">
          <h2>main</h2>
          <p>メインコンテンツ</p>
        </div>
      </div>
      <div class="contents-main">メインコンテンツなど。</div>
    </div>
    <div id="bookmark" class="contents">
      <div class="contents-menu">
        <div class="contents-menu-title">
          <h2>bookmark</h2>
          <p>他サイト様へのリンク</p>
        </div>
      </div>
      <div class="contents-main">
        <div class="bookmark-list">
          <p><a href="">サンプル</a></p>
          <p>説明など説明など説明など説明など説明など</p>
        </div>
        <div class="bookmark-list">
          <p><a href="">サンプル</a></p>
          <p>説明など説明など説明など説明など説明など</p>
        </div>
        <div class="bookmark-list">
          <p><a href="">サンプル</a></p>
          <p>説明など説明など説明など説明など説明など</p>
        </div>
        <div class="bookmark-list">
          <p><a href="">サンプル</a></p>
          <p>説明など説明など説明など説明など説明など</p>
        </div>
        <div class="bookmark-list">
          <p><a href="">サンプル</a></p>
          <p>説明など説明など説明など説明など説明など</p>
        </div>
        <div class="bookmark-list">
          <p><a href="">サンプル</a></p>
          <p>説明など説明など説明など説明など説明など</p>
        </div>
      </div>
    </div>
    <div id="contact" class="contents">
      <div class="contents-menu">
        <div class="contents-menu-title">
          <h2>お問い合わせ</h2>
          <p>何かご質問等ございましたらこちらからご連絡ください。</p>
        </div>
      </div>
      <div class="contents-main">
        <form>
          <p>お名前</p>
          <input>
          <p>メールアドレス</p>
          <input>
          <p>お問い合わせ内容</p>
          <textarea></textarea>
        </form>
      </div>
    </div>
  </div>

  <footer>
  </footer>
</body>
</html>

●css●

@charset "utf-8";

* {
  box-sizing: border-box;
}

/*ここから共通の設定*/

html, body {
  height: 100%;
}

body {
  font-family: '游ゴシック体', 'Yu Gothic', 'YuGothic', 'MS ゴシック', sans-serif;
  font-weight: 500;
}

body, header, h1, h2, h3, h4, h5, h6, p, ul {
  margin: 0;
  padding: 0;
}

a {
  text-decoration: none;
  transition: 0.2s;
  color: rgb(100,100,100);
}

a:hover {
  opacity: 0.7;
}

header, #wrapper, footer {
  width: 100%;
} 

#about, #bookmark, #main, #contact {
  width: 900px;
  margin: 200px auto;
}

/*ここまで共通の設定*/

header {
  height: 100%;
  background-image: url(img/nature3.png);
  background-size: cover;
  text-align: center;
  display: table;
}

#poem {
  display: table-cell;
  vertical-align: middle;
  font-size: 180%;
  font-weight: 800;
  animation: sizeScale 5s ease 0.5s both;
  animation-iteration-count: 1;
}

#menu-list {
  width: 100%;
  list-style: none;
  text-align: center;
  background-color: rgba(0,0,0,0.7);
  position: fixed;;
  top: 0;
  left :0;
}

#menu-list li {
  display: inline-block;
}

#menu-list li a{
  display: block;
  padding: 15px;
  color: rgb(255,255,255);
}

#sitename span::before {
  content: "│";
  color: rgb(200,200,200);
}

#sitename span::after {
  content: "│";
  color: rgb(200,200,200);
}

.contents {
  display: table;
}

.contents-menu {
  width: 200px;
  display: table-cell;
  vertical-align: top;
  text-align: center;
}

.contents-menu-title {
  height:200px;
  display: -webkit-flex;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: linear-gradient(rgb(255,255,255), rgb(200,200,200));
  padding: 5px;
}

.contents-menu-title p {
  font-size: 70%;
}

.contents-main {
  display: table-cell;
  padding-left: 5px;
}

footer {
  text-align: center;
}

/*ここからアニメーション*/

@keyframes sizeScale {
  from {
    transform: scale(1,1);
  }
  to {
    transform: scale(1.3,1.3);
  }
}

/*ここまでアニメーション*/
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+2

対症療法的には上に重なってクリックを妨げているノードにpointer-events: noneを指定すればよいでしょう.

参考
https://developer.mozilla.org/ja/docs/Web/CSS/pointer-events

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/02/10 23:03

    上手くいきました。ありがとうございました。

    キャンセル

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

  • ただいまの回答率 90.00%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる