简体   繁体   中英

Image width dynamic height overlay

I am trying to build an overlay (mouseover) on a image with dynamic height:

<div id="one-third">
 <div class="over_menu">Text</div>
 <div class="menu_bg"><img src="one.jpg" class="resp-img"></div>
</div>

CSS

.one-third { width: 33.3333%; }
.menu_bg img { width: 100%; height: auto; }
.menu_bg { position:relative; width: 100%; }
.over_menu { position: absolute; z-index:2; background-color:rgba(0,0,0,0.5); color: #FFFFFF; height: 100%; }

Unfortunately the height of "over_menu" is too large, it shows until the whole rest of the page. How else can I fix this?

Give position: relative; to the parent, so that its boundaries are within it:

.one-third { width: 33.3333%; position: relative; }

You should move the over_menu to inside menu_bg

<div id="one-third">
   <div class="menu_bg">
       <div class="over_menu">Text</div>
       <img src="one.jpg" class="resp-img">
   </div>
</div>

Of course you should change your :hover condition as well. It would be helpful if you could add a JSFiddle to your question.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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