在 Safari 中使用带圆角的 Alpha 透明度边框时,背景会剪辑到边框中。即使使用 background-clip: padding-box 也会发生这种情况。我知道我可以简单地将 h1 包装在 span/div/etc 中并给出边框,但我想知道是否有人知道是否可以在没有更多标记的情况下做到这一点。
这是我正在使用的CSS:
h1.inner {
background: #ffa51f;
border-top-right-radius: 60px;
border-bottom-right-radius: 60px;
border-top: 10px solid rgba(33,33,33,.05);
border-bottom: 10px solid rgba(33,33,33,.05);
border-right: 10px solid rgba(33,33,33,.05);
color: #FFF;
display: inline-block;
font-size: 47px;
font-weight: 800;
line-height: 1.2;
padding: 0 .6em 0 0;
position: relative;
text-transform: uppercase;
text-align: left;
background-clip: padding-box;
box-sizing: border-box;
}
h1.inner:before {
background: #ffa51f;
border-top: 10px solid rgba(33,33,33,.05);
border-bottom: 10px solid rgba(33,33,33,.05);
content: "";
position: absolute;
top: -10px;
bottom: -10px;
width: 9999px;
background-clip: padding-box;
box-sizing: border-box;
}
h1.inner:before {
right: 100%;
}
下面是一个 jsfiddle 和屏幕截图,其中包含我正在谈论的示例。