You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Section/Div、图片及Hover状态下的overlay添加圆角?

问题:为图片及Hover覆盖层添加圆角并保留放大效果

我有一张图片(示例图片),鼠标hover时会放大,但我想给图片以及hover时覆盖图片的overlay添加圆角,该怎么操作?

我的HTML代码:

<section class="effects">
<div class="container">

   <div class="image-01-outer">

    <div class="image-01">
      <img src="PHILIPPA'S NEW VIDEO.png" alt="">

          <div class="overlay1">
              <div class="text-content">
                  <h3 class="h3-img">Header</h3>
                  <p>Body of text. Body.</p>
              </div>
          </div>
  </div>

   </div>

</div>

</section>

我的CSS代码:

.effects .image-01 
{
border: 1px solid blue;  
border-radius: 4rem;  
position: relative; 
}

.effects .image-01 img
{
    max-width: 120rem;
}

.effects .image-01 .overlay1
{
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    opacity: 0;
    transition: 0.5s ease;
    background-color: rgba(228, 20, 255, 0.327);
}

.effects .image-01:hover .overlay1
{
    opacity: 1;
}

.effects .image-01:hover 
{
    transition: transform .4s;
    transform: scale(1.1);
    transform-origin: 100% 50%;
}

解决方案

要实现图片和overlay都有圆角,同时保留hover放大效果,需要修改以下几点:

  1. 给外层容器.image-01-outer添加裁剪和圆角
    hover时.image-01会缩放,外层必须裁剪溢出内容,否则放大的元素会突破圆角边界。

  2. 让图片填满容器并添加圆角
    图片需要设置宽高占满容器,配合object-fit: cover维持比例,同时添加圆角保证和容器一致。

  3. 给覆盖层.overlay1添加圆角
    绝对定位的overlay需要同步设置圆角,确保视觉上和容器、图片统一。

修改后的CSS代码:

/* 新增:外层容器裁剪溢出,设置圆角 */
.effects .image-01-outer {
  border-radius: 4rem;
  overflow: hidden;
  display: inline-block; /* 让容器贴合内容宽度 */
}

.effects .image-01 
{
border: 1px solid blue;  
position: relative; 
/* 移除此处border-radius,改由外层容器控制 */
}

.effects .image-01 img
{
    width: 100%;
    height: 100%;
    object-fit: cover; /* 保持图片比例并填满容器 */
    border-radius: 4rem; /* 图片添加圆角 */
}

.effects .image-01 .overlay1
{
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    opacity: 0;
    transition: 0.5s ease;
    background-color: rgba(228, 20, 255, 0.327);
    border-radius: 4rem; /* 覆盖层添加圆角 */
}

.effects .image-01:hover .overlay1
{
    opacity: 1;
}

.effects .image-01:hover 
{
    transition: transform .4s;
    transform: scale(1.1);
    transform-origin: 100% 50%;
}

修改后,图片、覆盖层在hover前后都会保持圆角,放大效果也能正常展示,不会出现内容溢出圆角的情况。


内容的提问来源于stack exchange,提问作者user25068399

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 00:43:16