14

ホバー効果を遅くする方法はありますか?画像のホバーにテキストを表示するホバー効果(削除済み)があります。効果を少し遅くしたいです。画像がどれだけ速く切り替わるかは少し耳障りです。

どうすればいいですか?

4

4 に答える 4

41

css3トランジションを追加できます。

-webkit-transition: all 500ms ease;
-moz-transition: all 500ms ease;
-ms-transition: all 500ms ease;
-o-transition: all 500ms ease;
transition: all 500ms ease;
于 2012-06-22T21:54:41.753 に答える
6

テキストの表示方法によって異なります。CSSプロパティを変更する場合は、 CSS3トランジションを使用してこれを行うことができます。以下に例を示します。

HTML:

<div id="A"></div><div id="B"></div>

CSS:

div {
    height: 100px;
    width: 100px;
    position: absolute;
    top: 0;
    left: 0;

    -moz-transition: opacity 4s; /* Firefox */
    -webkit-transition: opacity 4s; /* Safari and Chrome */
    -o-transition: opacity 4s; /* Opera */
    transition: opacity 4s;
}
#A {
    background: red;
    opacity: 1;
    z-index: 1;
}
#B {
    background: blue;
    opacity: 0;
    z-index: 2;
}
#B:hover {
    opacity: 1;
}

デモ

編集: David Thomasは、トランジションで表示を変更することはできないと言っています。不透明度を使用するように上記を更新しました。

于 2012-06-22T21:55:03.443 に答える
3

これはかなり遅いことは知っていますが、CSS3アニメーションを調べてください。Garry'sModの読み込み画面の1つでアニメーションを使用しています。

/* Styles go here */

button {
  margin-left: 50%;
  margin-right: 50%;
}
button:hover {
  -webkit-animation: breathing 5s ease-out infinite normal;
  animation: breathing 5s ease-out infinite normal;
}
@-webkit-keyframes breathing {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  25% {
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
  }
  50% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  75% {
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes breathing {
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
  25% {
    -webkit-transform: scale(1.5);
    -ms-transform: scale(1.5);
    transform: scale(1.5);
  }
  50% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
  75% {
    -webkit-transform: scale(1.5);
    -ms-transform: scale(1.5);
    transform: scale(1.5);
  }
  100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
}
<!DOCTYPE html>
<html>

<head>
  <link rel="stylesheet" href="style.css">
  <script src="script.js"></script>
</head>

<body>
  <h1>Hello Plunker!</h1>
  <p>Below I have a button that changes size on mouse hover useing CSS3</p>
  <button>Hover over me!</button>
</body>

</html>

それはあなたが探している結果ではないことを私は知っていますが、あなたや他の人はこれが役に立つと思うと確信しています。

于 2015-06-26T16:53:56.223 に答える
2

必要に応じて、jQuery .fadeIn()http://api.jquery.com/fadeIn/を使用できます。

.fadeIn([duration] [、callback])アニメーションの実行時間を決定する
duration文字列または数値。アニメーションが完了したら呼び出す
コールバック関数。

于 2012-06-22T22:36:18.160 に答える