2017-08-08 52 views
1

我正在创建一个投资组合页面,其中包含我所处理的不同事物的图像。当我将鼠标悬停在图像上时,我希望它变灰(好像有一个div与0.4不透明度重叠),还有几个按钮(查看源代码,查看演示)在图像上弹出。如何在图像悬停后显示菜单?

我想将这些“投资组合项目”放在三个引导列中。我看着重叠的div,它会被隐藏,直到使用z-index悬停,但我无法弄清楚如何定位它,同时使用bootstrap保持响应。

这是我到目前为止。有没有更简单的方法来做到这一点?

<div id="portfolio-page"> 
    <div class="row"> 
     <div class="col-lg-4 col-lg-offset-4"> 
      <h2 class="center-text">My Portfolio</h2> 
      <hr> 
     </div> 
    </div> 
    <div class="row"> 
     <div class="col-lg-8 col-lg-offset-2" id="portfolio-items"> 
      <div class="row"> 
       <div class="col-lg-4"> 
        <div class="portfolio-item"> 
         <img src="includes/img/headers.jpg" class="img-responsive"></img> 
        </div> 
       </div>    
      </div> 
     </div>   
    </div> 
</div> 

回答

2

你只需要一个小小的CSS来做到这一点。

我已将.portfolio_text的不透明度设置为0,但当您将鼠标悬停在其父项.portfolio上时,我将其设置为1。我还添加了一个过渡,因此变淡,而不是仅仅在弹出。

.portfolio { 
 
    position: relative; 
 
    height: 200px; 
 
    width: 200px 
 
} 
 

 
.portfolio img, 
 
.portfolio_text { 
 
    width: 100%; 
 
    height: 100% 
 
} 
 

 
.portfolio_text { 
 
    position: absolute; 
 
    display: flex; 
 
    flex-direction: column; 
 
    align-items: center; 
 
    justify-content: space-around; 
 
    color: #fff; 
 
    top: 0; 
 
    left: 0; 
 
    background: rgba(100, 100, 100, .4); 
 
    opacity: 0; 
 
    transition: opacity .3s cubic-bezier(.25, .8, .25, 1) 
 
} 
 

 
.portfolio:hover .portfolio_text { 
 
    opacity: 1 
 
}
<div class="portfolio"> 
 
    <img src="http://silayexportinc.com/wp-content/uploads/2016/09/placeholder-3.jpg" /> 
 
    <div class="portfolio_text"> 
 
    <span>Look at my Buttons</span> 
 
    <button>Button 1</button> 
 
    <button>Button 2</button> 
 
    <button>Button 3</button> 
 
    </div> 
 
</div>