【问题标题】:How do I add a CSS3 transition to an image overlay?如何将 CSS3 过渡添加到图像叠加层?
【发布时间】:2013-07-31 15:12:41
【问题描述】:

我正在尝试弄清楚如何为半透明图像叠加(出现在 :hover 上)提供 CSS3 过渡(缓和)。但它不起作用。我不确定是不是因为我遗漏了一些东西,或者转换只是不适用于 display 属性。关于 CSS 解决方法的任何想法(我不知道 JavaScript)?提前致谢。

相关的 HTML 和 CSS:

<div class="thumbnail">
    <figure>
        <img src="images/dude.jpg" alt=""/>
    </figure>
    <div class="thumbnail-overlay">
        <h2>Project Name</h2>
        <h3> Skills Skills Skills</h3>
        <p>This is a project description.</p>
    </div>
</div>

.thumbnail {
   position:relative;
   float:left;
   width:40%;
   margin:1.5% 1.5% 0 0;
}

.thumbnail-overlay {
   background-color: @dark-gray;
   display:none;
   opacity:.9;
   position:absolute;
   top:0;
   left:0;
   width:100%; height:100%;
   overflow:hidden;
   -webkit-transition:all .3s ease;
   -moz-transition:all .3s ease;
   transition:all.3s ease;
}


.thumbnail:hover .thumbnail-overlay {
   display:block;
}

【问题讨论】:

  • 显示属性不能动画(只有两种状态)。但不透明度甚至可见性都可以。

标签: html css


【解决方案1】:

正如我所见,这是因为显示属性。 css 过渡不适用于它,这就是您遇到此问题的原因。

这是我测试的 css 代码,可以正常工作:

.thumbnail .thumbnail-overlay {
background-color: @dark-gray;
display:block;
opacity:0;
position:absolute;
top:0;
left:0;
width:100%; height:100%;
overflow:hidden;
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
transition: all 0.3s ease;
}

.thumbnail:hover .thumbnail-overlay {
opacity: .9;
}

希望对你有帮助!!!

【讨论】:

    【解决方案2】:

    它对我有用。我将 CSS 分离到另一个文件并将其链接到 HTML 文件。它对我很有效

    HTML

        <head>
            <link rel="stylesheet" type="text/css" href="test.css">
        </head>
        <div class="thumbnail">
            <figure>
                <img src="/home/qbadmin/Downloads/Pic.jpg" alt=""/>
            </figure>
        <div class="thumbnail-overlay">
            <h2>Project Name</h2>
            <h3> Skills Skills Skills</h3>
            <p>This is a project description.</p>
        </div>
    </div>
    

    CSS

        .thumbnail {
          position:absolute;
          float:left;
          width:40%;
          left :100 px;
          top :100px;
          margin:1.5% 1.5% 0 0;
          }
    
         .thumbnail-overlay {
         background-color: @dark-gray;
         display:none;
         opacity:.9;
         position:absolute;
         top:100px;
         left:100px;
         width:100%; height:100%;
         overflow:hidden;
         -webkit-transition:all .3s ease;
         -moz-transition:all .3s ease;
          transition:all.3s ease;
          }
    
         .thumbnail:hover .thumbnail-overlay {
          display:block;
          opacity: .9;
           }
    

    【讨论】:

      猜你喜欢
      • 2012-07-15
      • 1970-01-01
      • 2019-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-23
      • 1970-01-01
      • 2017-10-16
      相关资源
      最近更新 更多