在下面的示例片段中,我尝试对元素的最后一个子.container
元素施加与 相同border-radius
的内容.container
,以便当最后一个子元素在悬停时突出显示时,其背景会跟随父元素的形状。在我根据像素设置的特定情况下,这似乎工作得很好。border-radius
.container {
display: block;
width: 10em;
border: 1px solid #999;
border-radius: 0 0 20px 0;
box-shadow: 0.1em 0.1em 0.4em black;
}
.entry:hover {
background-color: #aaa;
}
.entry:last-child {
border-radius: inherit;
}
<div class="container">
<div class="entry">
First
</div>
<div class="entry">
second
</div>
<div class="entry">
third
</div>
</div>
但是,如果我使用em
s,2em
而不是s 20px
,事情会像这样中断:
我猜这是因为父母的曲率比最后一个孩子的高度要高。事实上,如果我20px
改为50px
我得到这个:
因此,我认为20px
我只是幸运,而border-radius
试图让孩子跟随父母的形状而继承的整体方法是错误的。实际上,在 的最后一个示例中50px
,必须将第二个条目裁剪掉,而这根本无法通过 获得border-radius
。
我该怎么做呢?