Html 内部图元应按外部图元边界半径修剪
请看这里: 如您所见,内部Html 内部图元应按外部图元边界半径修剪,html,css,rounded-corners,Html,Css,Rounded Corners,请看这里: 如您所见,内部h1的背景色与包含div的的圆角重叠。如果在内部h1上设置一个较小的半径,这有点固定,但这是一个hack。(取消注释已注释的CSS以了解我的意思。) 版本2(23,真的) 但是我不知道如何将*选择器仅应用于直接子代,而不应用于孙辈。我将给出H1和pCSS属性,而不是如下所示的div。您可以仅为边框创建一个类,并将其应用于适当的元素 CSS: 这是一个单独的边界类: 将溢出:隐藏添加到包含的div可以有效地获取背景以执行所需操作,但它似乎覆盖了边框!所以,不太完美……:
h1
的背景色与包含div的的圆角重叠。如果在内部h1
上设置一个较小的半径,这有点固定,但这是一个hack。(取消注释已注释的CSS以了解我的意思。)
版本2(23,真的)
但是我不知道如何将*
选择器仅应用于直接子代,而不应用于孙辈。我将给出H1
和p
CSS属性,而不是如下所示的div。您可以仅为边框创建一个类,并将其应用于适当的元素
CSS:
这是一个单独的边界类:
将溢出:隐藏添加到包含的div
可以有效地获取背景以执行所需操作,但它似乎覆盖了边框!所以,不太完美……:) 您可以这样做最直接的方法是让divh1
继承div
所以边界半径:继承代码>而不是设置半径#
+1非常好的解决方案-将边界框CSS保持在正确的位置,并强制孩子们按预期操作!很简单-但是如果我有div()的背景,那就不行了。(我意识到这不是问题,只是指出了它。)此外,我还需要使用small-border-radius-hack。在我的示例中,我将border-radius设置为6px的原因是,如果将其设置为与父级相同,您可以得到它们之间的白色间距。您可以做的另一件事是将背景色添加到所有元素中,并将边框底部半径添加到p
。这似乎是最具视觉吸引力和灵活性的解决方案,下面是我如何应用它的:但我不确定如何使*
只适用于孩子而不适用于孙子。就像这样div>*
。这将仅选择div的直接子级。
div h1
{
padding: 2px;
background-color: #ff0000;
border-top: 2px solid #000000;
border-left: 2px solid #000000;
border-right: 2px solid #000000;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
/* Below gets it close but not quite. */
/*border-radius: 7px;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;*/
}
div p
{
padding: 10px;
border-left: 2px solid #000000;
border-right: 2px solid #000000;
border-bottom: 2px solid #000000;
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
}