我的布局很可能无法更改。我需要在另一个具有边框半径的元素内的元素上使用边框半径。目的是填补空白。问题是子元素的角落溢出,但我不能overlow:hidden
在这个项目中使用,这就是我尝试使用border-radius的原因。
这是显示我尝试的片段:https ://jsfiddle.net/5fgtL4so/5/
问题是 30px 的内边框半径与外边框半径没有相同的曲线。我不想硬编码它,因为它必须是响应式的。正如您在片段中看到的那样,我还尝试使用宽度和边距,但这似乎不是正确的方法,因为我仍然有一点误差。
知道如何解决这个问题吗?
.parent {
border: 3px solid tomato;
background-color: white;
height: 200px;
border-radius: 30px;
}
.child {
border: 3px solid tomato;
padding:10px;
border-bottom: none;
background-color: tomato;
height: 100px;
border-radius: 30px 30px 0 0;
box-sizing: border-box;
/* bellow solution is not perfect. There is still tiny white space around innter corners, it's a bit more visible on my project */
/*
margin-left: -3px;
width: calc(100% + 6px);
*/
}
<div class="parent">
<div class="child">
</div>
</div>