CSS 实现重叠效果时,div 背景被 img 图片遮挡

  • CSS 实现重叠效果时,div 背景被 img 图片遮挡已关闭评论
  • 141 次浏览
  • A+
所属分类:Web前端
摘要

效果:通过将 div margin-top 设为负值实现 div 部分重叠在 img 图片上。效果:由效果图可知,存在 div 的绿色背景被遮挡问题。


CSS 为实现重叠效果,将 margin-top 设为负值时,div 背景被 img 图片遮挡

一、未实现重叠效果

<body>   <img     src="https://cdn.uviewui.com/uview/swiper/swiper2.png" alt="CSS 实现重叠效果时,div 背景被 img 图片遮挡"     style="width: 375px;"     alt=""     srcset=""   />    <div style="width: 375px;height: 80px;background: green;">     <p style="text-align: center;color: #fff;">       CSS 为实现重叠效果,将 margin-top 设为负值时,div 背景被 img 图片遮挡     </p>   </div> </body> 

效果:

CSS 实现重叠效果时,div 背景被 img 图片遮挡

二、实现重叠效果,但 div 背景被遮挡

通过将 div margin-top 设为负值实现 div 部分重叠在 img 图片上。

<body>   <img     src="https://cdn.uviewui.com/uview/swiper/swiper2.png" alt="CSS 实现重叠效果时,div 背景被 img 图片遮挡"     style="width: 375px;"     alt=""     srcset=""   />    <div style="width: 375px;height: 80px;background: green; margin-top: -50px;">     <p style="text-align: center;color: #fff;">       CSS 为实现重叠效果,将 margin-top 设为负值时,div 背景被 img 图片遮挡     </p>   </div> </body> 

效果:

CSS 实现重叠效果时,div 背景被 img 图片遮挡

由效果图可知,存在 div 的绿色背景被遮挡问题。

三、解决实现重叠效果时 div 背景被遮挡问题

方法一、div 设置 position: relative;

通过将 div 设置为 position: relative; 解决实现重叠效果时 div 背景被遮挡问题。

<body>   <img     src="https://cdn.uviewui.com/uview/swiper/swiper2.png" alt="CSS 实现重叠效果时,div 背景被 img 图片遮挡"     style="width: 375px;"     alt=""     srcset=""   />    <div     style="width: 375px; height: 80px; background: green; margin-top: -50px; position: relative;"   >     <p style="text-align: center;color: #fff;">       CSS 为实现重叠效果,将 margin-top 设为负值时,div 背景被 img 图片遮挡     </p>   </div> </body> 

效果:

CSS 实现重叠效果时,div 背景被 img 图片遮挡

方法二、div 设置 display: inline-block;,并设置父容器宽度

<body style="width: 375px;">   <img     src="https://cdn.uviewui.com/uview/swiper/swiper2.png" alt="CSS 实现重叠效果时,div 背景被 img 图片遮挡"     style="width: 375px;"     alt=""     srcset=""   />    <div     style="width: 375px;height: 80px;background: green; margin-top: -50px; display: inline-block;"   >     <p style="text-align: center;color: #fff;">       CSS 为实现重叠效果,将 margin-top 设为负值时,div 背景被 img 图片遮挡     </p>   </div> </body> 

上述代码中,同时设置了父容器 body 的宽度和 div 的 display: inline-block;

效果:

CSS 实现重叠效果时,div 背景被 img 图片遮挡