简体   繁体   English

CSS3过渡效果

[英]css3 transition effect on a block

I've built a block section on my website, what I'd like to do is when the user hovers over the block, the block-caption fades in over the top. 我已经在网站上建立了一个街区部分,我想做的是当用户将鼠标悬停在街区上方时,街区标题会淡入顶部。

Currently there's no effect, it just jumps. 目前没有效果,只是跳跃而已。

See this fiddle for current code 有关当前代码,请参见此小提琴

How do I do this? 我该怎么做呢?

Code: 码:

 .blocks { overflow: hidden; padding-top: 0; padding-bottom: 0; } .blocks [class*=col] { padding: 1px; } .blocks .block { background: #979797; display: block; margin: 0 auto; overflow: hidden; position: relative; height: 350px; } .blocks .block h3 { color: #ffffff; font-size: 2.5em; text-align: center; margin-top: 8px; } .blocks .block .block-title { position: absolute; text-align: center; top: 40%; width: 100%; display: block; } .blocks .block img { opacity: .4; display: block; height: 350px; margin: 0 auto; width: 100%; } .blocks .block .block-caption { background: #394074; top: 0; width: 100%; height: 100%; color: #ffffff; display: block; left: 0; opacity: 0; padding: 20px 0; position: absolute; text-align: center; } .blocks .block .block-caption a { display: inline-block; border: 2px solid #ffffff; padding: 20px 30px; font-weight: bold; text-transform: uppercase; color: #ffffff; font-size: 1.2em; margin-top: 1em; } .blocks .block .block-caption a:hover { text-decoration: none; } .blocks .block .block-caption p { margin-top: 1em; margin-bottom: 1em; display: block; font-size: 1.4em; color: #ffffff; } .blocks .block:hover .block-caption { opacity: 1; } .blocks .block:hover img { opacity: 0.2; } 
 <div class="blocks"> <div class="block"> <div class="block-title"> <h3>Online GP <br> Service</h3> </div> <!-- /.block-title --> <img alt="Training" src="https://placeholdit.imgix.net/~text?txtsize=75&amp;txt=640%C3%97480&amp;w=640&amp;h=480"> <div class="block-caption"> <h3>Online GP <br> Service</h3> <p>Sed ut perspiciatis unde omnis iste natus <br>voluptatem accusantium doloremque</p> <a href="#">Find Out More</a> </div> <!-- /.block-caption --> </div> </div> 

Here's a working fiddle with what (I think it is) you want: 这是您想要的(我认为是) 工作的小提琴

https://jsfiddle.net/utrgtech/2/ https://jsfiddle.net/utrgtech/2/

You can add: 你可以加:

  -webkit-transition: opacity ease-out 1s;
  -moz-transition: opacity ease-out 1s;
  -o-transition: opacity ease-out 1s;
  transition: opacity ease-out 1s;

For example. 例如。 It enables compatibility throughout all browsers. 它支持所有浏览器的兼容性。 Here's documentation: https://css-tricks.com/almanac/properties/t/transition/ 这是文档: https//css-tricks.com/almanac/properties/t/transition/

Just give 只要给

 .block-caption {
   transition:2s all;
   -webkit-transition:2s all;
  -ms-transition:2s all;
}

Working Fiddle 工作小提琴

Please use transition: all linear .3s; 请使用transition: all linear .3s; on .blocks .block .block-caption I have use fade effect for this caption. .blocks .block .block-caption我为此标题使用了淡入淡出效果。 Check this fiddle https://jsfiddle.net/utrgtech/3/ 检查这个小提琴https://jsfiddle.net/utrgtech/3/

you to ad to your .block this 您要向自己的.ad投放广告

.blocks .block .block-caption{
    transition: all 1s ease-in-out;
    -webkit-transition: all 1s ease-in-out; 
    -moz-transition: all 1s ease-in-out; // mozilla brower
    -o-transition: all 1s ease-in-out; // opera brower
}

put animation: fadeIn .6s ease-in 1 forwards; 放动画:fadeIn .6s缓入1个前进; in .blocks .block:hover .block-caption 在.blocks .block:hover .block-caption中

.blocks .block:hover .block-caption { .blocks .block:hover .block-caption {

  opacity: 0;
  animation: fadeIn .6s ease-in 1 forwards;

}

@keyframes fadeIn { @keyframes fadeIn {

  to {opacity: 1}

} }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM