3

我试图弄清楚如何给一个半透明的图像覆盖(出现在:悬停)一个 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;
}
4

2 回答 2

0

如我所见,这是因为显示属性。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;
}

希望能帮助到你 !!!

于 2013-07-31T06:11:56.250 回答
0

它对我有用。我将 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;
       }
于 2013-07-31T06:12:53.470 回答