当为带有 `border-radius` 的容器设置背景图或内部绝对定位元素时,若未显式设置 `overflow: hidden`,内容可能超出圆角边界;只需在父容器上添加该声明即可强制裁剪溢出部分。
在 CSS 中,border-radius 仅定义视觉边框的圆角形状,并不会自动裁剪子元素——即使子元素使用 position: absolute 或背景图 background-size: cover,它们仍会按原始尺寸渲染,突破圆角区域。这是初学者常遇到的“图片/覆盖层溢出白框”问题(如题中 .overlay 旋转后宽度设为 105%,导致右侧超出 .whitebox 圆角边界)。
解决方法非常简洁:在具有 border-radius 的父容器上添加 overflow: hidden。该声明会创建一个新的块级格式化上下文(BFC),使所有子元素(包括绝对定位元素和背景图)的渲染被严格限制在容器的圆角边界内。
✅ 正确做法(关键修改已高亮):
div.whitebox {
position: relative;
left: -5%;
width: 75%;
height: 75%;
background-color: white;
border-radius: 3%;
overflow: hidden; /* ← 核心修复:启用裁剪 */
}⚠️ 注意事项:
? 小结:border-radius 是“画布修饰”,而 overflow: hidden 才是真正的“内容裁剪开关”。二者配合使用,才能确保设计效果精准呈现。无需 JavaScript 或复杂 ha
ck,一行 CSS 即可稳健解决溢出问题。