一个div里面的border radius与另一个div重叠了。

3

我正在使用React、HTML和CSS制作这张卡片。

以下是我的代码:

<div className="plan">
  <div className="plan-name">
    <h5>BASIC</h5>
  </div>
  <div className="plan-price">
    <h2>$ 6.99</h2>
    <span>Screen Availabilty Simultaneously</span>
  </div>
  <div className="plan-details">
    <ul>
      <li>
        <span>
          <CheckIcon />
        </span>
        Access to All Library in Unlimited
      </li>
      <li>New Content Monthly</li>
      <li>Available on PC, Smartphones and tablet</li>
      <li>Drawing in Color</li>
      <li>Color in Very High Quality</li>
      <li>Canceable at Any Time</li>
    </ul>
  </div>
</div>

CSS:

.plan {
    border-radius: 25px;
    overflow: hidden;
    background-color: #fff;
}

.plan-name {
    background-color: #3e104f;
    padding: 25px 0;
    border-style: solid;
    border-width: 0;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

.plan-price {
    color: #3e104f;
    background-color: #fff;
    padding: 35px 0;
}

.plan-details {
    background-color: #3e104f;
    height: 100%;
    border-radius: 20px;
}

输出:

但是我在所有角落上都得到了我已经突出显示的白色边框。有人能告诉我我错在哪里吗?或者它来自哪里?我该如何隐藏它?


1
你当前的代码没有输出图片中显示的内容。请发布完整的演示。 - m4n0
好的,等一下,我会发布一个codesandbox链接。 - lazyCoder
2个回答

6

这是正常行为,你的CSS没有错误。

可能的解决方法是做出像这样的事情

.plan {margin-top: 25px; overflow: visible;} /* here just remove overflow: hidden to show .plan-name outside of .plan */
.plan-name {margin-top: -25px; border-top-right-radius: 25px; border-top-left-radius: 25px;}

使用这段代码,.plan的半径会被隐藏在.plan-name下面,在角落处不可见。

0

只需添加.plan {overflow: auto;}对我也起作用


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接