一个CSS按钮与Safari浏览器的截图再次更新:@ LGSon的答案后的样式尖左边缘和圆角右边缘
更新:
谢谢您的回答,但以下代码不会产生正确的效果,人们可以清楚地看到SVG与标签之间因高度差异而分开:
.divsclass {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 146 206'%3E%3Cdefs%3E%3Cstyle%3E.c1%7Bfill:%23fff;%7D.c2%7Bfill:none;stroke:%23a0310f;stroke-linecap:round;stroke-miterlimit:10;stroke-width:10px;%7D%3C/style%3E%3C/defs%3E%3Cpath d='M146 0H98.53l-1 .47-94 94a12 12 0 0 0 0 17l94 94L99 206h47z' class='c1'/%3E%3Cpath d='M113.18 28.2l-73 74.8 73 74.81' class='c2'/%3E%3C/svg%3E");
background-repeat: no-repeat;
}
.divsclass a {
color: red;
text-transform: uppercase;
background-color: white;
margin-left: .75em;
border-bottom-right-radius: 10px;
border-top-right-radius: 10px;
font-size: 75%;
}
<div style="padding: 1em; background: black">
<div class="divsclass"><a role="button">BACK</a></div>
</div>
我试图创建以下按钮,其中里面的文本(BACK在下面的示例)可以是可变长度的。我正在尝试左侧的背景图片和右侧的边框半径,但它不起作用(使用:before
)。有任何想法吗?
P.S.如果有帮助,我确实将左三角形图像作为单独的SVG。
你能分享你的CSS代码吗? – Geff
如果左边的三角形是一个SVG,为什么不把整个按钮的形状变成一个SVG(或者至少是左边的那一部分,其余部分可能是一个正常的右边有圆角的div,所以它由于内容可以轻松拉伸)?否则,试图用CSS在左边生成舍入点需要类似clip-path(https://developer.mozilla.org/en-US/docs/Web/CSS/clip-path)或其他奇怪的黑客。 SVG对此非常完美 – diopside
我更新了我的问题以反映问题,即使在使用SVG时也是如此。 – Sammy