2017-08-15 22 views
0

最初は、マウスオーバー時に不透明度を0.5から1に変更するボックスがありました。それはうまくいく。ホバーアニメーションフェードイン不透明度0.5ホバー不透明度1

ここでは、遅延フェードインアニメーションを不透明度0から0.5の冒頭に追加したいと考えています。残念ながら、マウスオーバーの移行はもはや機能しません。

私はあなたがLESSを使用して考えがあり、すべてのアイデア:)

.box {  
 
width: 200px: 
 
height: 50px; 
 
padding:20px; 
 
background-color: red; 
 
transition: 1s ease; 
 

 
opacity: 0; 
 
opacity: 0.5 \9; 
 
-webkit-animation:fadeIn ease-in 0.5; 
 
-moz-animation:fadeIn ease-in 0.5; 
 
animation:fadeIn ease-in 0.5; 
 
\t 
 
-webkit-animation-fill-mode:forwards; 
 
-moz-animation-fill-mode:forwards; 
 
animation-fill-mode:forwards; 
 

 
-webkit-animation-duration:1s; 
 
-moz-animation-duration:1s; 
 
animation-duration:1s; 
 
\t 
 
-webkit-animation-delay: 3.5s; 
 
-moz-animation-delay: 3.5s; 
 
animation-delay: 3.5s; 
 
} 
 
    
 
.box:hover {transition: 0.5s; opacity: 1; }
<div class="box">This is a Box</div>

+0

多分あなたのマークアップを提供し、または私達は推測する必要がありますか?ありがとう –

答えて

0

に感謝?

button { 
 
    width: 100px; 
 
    float: left; 
 
    background: #007cbe; 
 
    color: #fff; 
 
    border: none; 
 
    border-radius: 4px; 
 
    padding: 10px; 
 
    cursor: pointer; 
 
} 
 
button:hover { 
 
    -webkit-transition: 3.5s; 
 
    -moz-transition: 3.5s; 
 
    -ms-transition: 3.5s; 
 
    -o-transition: 3.5s; 
 
    -webkit-opacity: 0.5; 
 
    -moz-opacity: 0.5; 
 
    opacity: 0.5; 
 
}
<button> Button </button>

LESSバージョン

.transition (@transition) { 
 
\t -webkit-transition: @transition; 
 
\t -moz-transition: @transition; 
 
\t -ms-transition:  @transition; 
 
\t -o-transition:  @transition; 
 
} 
 

 
.opacity (@opacity: 0.5) { 
 
\t -webkit-opacity: \t @opacity; 
 
\t -moz-opacity: \t \t @opacity; 
 
\t opacity: \t \t @opacity; 
 
} 
 

 
button { 
 
    width:100px; 
 
    float:left; 
 
    background:#007cbe; 
 
    color:#fff; 
 
    border:none; 
 
    border-radius:4px; 
 
    padding:10px; 
 
    cursor:pointer; 
 
    &:hover { 
 
    .transition(3.5s); 
 
    .opacity; 
 
    } 
 
}

+0

あなたの考えをありがとう!しかし、私は少しはっきりしていないかもしれません。マウスオーバーのトランジションは、アニメーションのフェードインの一部ではありません。 最初に不透明度0から0.5(一度)にフェードインするdivに到達しようとします。その後、マウスオーバーの場合は、不透明度を0.5から1に変更し、マウスを1から0.5に戻す必要があります。 – Steffen

1

あなたが最初に0〜0.5の不透明度を変更するフェードインアニメーションをしたい場合は、以下を行う必要がありfadeInを次のように定義します。

.box {  
 
opacity: 0; 
 
-webkit-animation:fadeIn ease-in 0.5; 
 
-moz-animation:fadeIn ease-in 0.5; 
 
animation:fadeIn ease-in 0.5; 
 
\t 
 
-webkit-animation-fill-mode:forwards; 
 
-moz-animation-fill-mode:forwards; 
 
animation-fill-mode:forwards; 
 

 
-webkit-animation-duration:1s; 
 
-moz-animation-duration:1s; 
 
animation-duration:1s; 
 
\t 
 
-webkit-animation-delay: 3.5s; 
 
-moz-animation-delay: 3.5s; 
 
animation-delay: 3.5s; 
 
} 
 

 
@keyframes fadeIn{ 
 
    from{opacity: 0;} 
 
    to{opacity: 0.5;} 
 
} 
 

 
.box:hover {transition: 0.5s; opacity: 1; }