简体   繁体   English

如何在div悬停时在图像上叠加背景色

[英]how to overlay a background color on image in a div onhover

 #overlay{ display:none; position:relative; background-color:rgba(0,0,0,0.5); top:0; left:0; z-index:0; } #main{ min-height:100px; border:1px solid; } #main:hover #overlay{ display:block; } 
 <div id="main"> <div id="overlay"></div> this is something </div> 

I am trying to show a backgorund color on hover of the div and i have image in div instead of text in real code 我正在尝试在div的悬停上显示backgorund颜色,并且我在div中有图像而不是真实代码中的文本

You can use #main:hover:after for the overlay. 您可以将#main:hover:after用于叠加层。 Try this. 尝试这个。

 #main{ min-height: 100px; border:1px solid; position: relative; display: inline-block; } #main:hover:after{ content: ""; position: absolute; height: 100%; width: 100%; left: 0; top: 0; background-color:rgba(0,0,0,0.5); } 
 <div id="main"> <img src="http://via.placeholder.com/640x360"> </div> 

Use position:absolute , height:100% & width:100% 使用position:absoluteheight:100%width:100%

 #overlay{ display:none; position: absolute; background-color: rgba(0,0,0,0.5); top: 0; left: 0; z-index: 1; width: 100%; height: 100%; } #main{ position:relative; min-height:100px; border:1px solid; } #main:hover #overlay{ display:block; } 
 <div id="main"> <div id="overlay"></div> this is something </div> 

give position:relative to #main and add the below style to #overlay id: 给出position:relative对于#main position:relative ,并将以下样式添加到#overlay id中:

#overlay {
    display: none;
    position: absolute;
    background-color: rgba(0,0,0,0.5);
    top: 0;
    left: 0;
    right: 0;
    z-index: 1;
    bottom: 0;
}

  #overlay{ display:none; position:absolute; content:''; left:0; right:0; bottom:0; top:0; background-color:rgba(0,0,0,0.5); } #main{ min-height:100px; border:1px solid; position:relative; } #main:hover #overlay{ display:block; } 
 <div id="main"> <div id="overlay"></div> this is something </div> <!-- begin snippet: js hide: false console: true babel: false --> 

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

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