当前位置: 首页 > 面试题库 >

CSS3边界半径裁剪问题

公西天逸
2023-03-14
问题内容

我有一个div,其border-radius设置为某个值(比方说10px),还有一个嵌套的div,它是其父级的完整宽度和高度。

<!-- ... -->
<style type="text/css">
div.parent {
    display: block;
    position: relative;
    width: 100px;
    height: 100px;
    border-radius: 10px;
    background: #0000ff;
    overflow: hidden;
}
div.inner {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    background: #ff0000;
}
</style>
<!-- ... -->
<div class="parent">
    <div class="inner"></div>
</div>
<!-- ... -->

我注意到,尽管溢出被设置为隐藏,但父母并没有将孩子夹在圆角上。另一个stackoverflow线程指示此行为是“设计使然”:

…我不禁注意到“拐角裁剪”部分中的以下描述:

剪切到边框或填充边缘的其他效果(例如“可见”以外的“溢出”)也必须剪切到曲线。替换元素的内容始终修剪到内容边缘曲线

那我想念什么呢?是否应该将内容夹在角落?我在查看过时的信息吗?我做错了吗?


问题答案:

这不是设计使然,Firefox对此存在一个突出缺陷。在任何WebKit浏览器中都可以正常工作。在Firefox中,您也必须将边框半径添加到所包含的元素中,或者使用某种hack。



 类似资料:
  • 问题内容: 这是我的布局: 和CSS: 圆形边框不会出现在元素上。 如果我将它们分别放入,它们会出现。 但我真的很想清除一些代码并将其放入 也无法获得半径以在班上工作。我想要一个包含圆形行的圆形容器。 问题是什么?也许CSS的另一部分搞砸了,但事实并非如此。 问题答案: 恐怕这无法在表格行上应用边框半径。但是,解决方法非常简单:只需将背景颜色和边框半径应用于单元格即可。 如果您从表格行中删除背景色

  • 问题内容: 我有以下CSS: 添加边框半径:5px似乎没有任何作用,我认为这是因为我使用的是边框渐变,我是否有办法完全实现所需的5px边框半径? 问题答案: You cannot use with gradient. Here is another idea where you can rely on multiple background and adjust the : 如果需要透明性,可以考

  • 问题内容: 我正在尝试通过CSS3 PIE附加行为在IE中创建圆角。 这是我的CSS: 这是一些示例HTML: 并通过JavaScript我添加到当它盘旋。 关于为什么这不起作用的任何想法吗?我也尝试使用,但也没有运气。 谢谢! 问题答案: PIE.htc请求应使用MIME类型“ text / x-component”进行响应-否则IE不会影响其行为。您使用的PIE.php应该可以解决此问题。如果

  • 问题内容: 有谁知道Internet Explorer是否/何时支持“ border-radius” CSS属性? 问题答案: 是! IE9于2011年1月发布时。 假设您要在所有四个侧面上平均15像素: IE9将使用默认值,因此只需确保将其包括在所有样式中(称为边框半径)即可。然后,您的站点将可以使用IE9。 适用于Firefox,适用于Safari和Chrome。 此外:不要忘记声明您的IE编

  • 我一直到这里。 底边如何曲线?感谢任何帮助。

  • 我有一个元素,其中左上角和右下角的边框半径为5,我试图使它与CSS3Pie兼容。文件指出 只支持速记版本;longhand border-top-left-radius等属性不是。不过,速记语法支持每个角的半径不同。链接