2017-08-08 61 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>