我看过这个问题,其实是个好建议
Can I use CSS to distort borders so they look like sketched?
但我的设计师给了我们更疯狂的东西
我不知道我怎么能得到一个按钮的边框是这样的。我应该把整个东西实现为一个带有背景图像的div吗?
或者是一个非常椭圆形的按钮,只是尝试将手绘边框作为按钮周围的图像?
我尝试了这个方法,但它不是一个很好的解决方案,因为每次我们在按钮中决定不同的文本时,我都必须调整边框的位置。
const bgImageStyle = {
width: '300px',
height: '50px',
backgroundImage: `url("/assets/purple-border.png")`,
backgroundSize: '280px 40px',
backgroundRepeat: 'no-repeat',
backgroundPosition: '0 10px',
}
<button style={bgImageStyle}
>
Get Started Right Now
</button>
1条答案
按热度按时间w1jd8yoj1#
不幸的是,我不是一个设计师,所以我相信你可以改善我的尝试。
我使用SVG创建了一个椭圆,其中有一个断点,并使用SvgPathEditor创建了贝塞尔曲线。
然后,我使用URL-encoder for SVG工具将其转换为背景图像url。
然后我使用了
background-position
和background-size
属性来定位它。我相信如果你摆弄它,你会让它看起来比我做的更好。下面的代码下面是一个使用::before伪元素的版本,它使用mask覆盖一个椭圆来显示下面的内容。行中差距是使用圆锥渐变添加的。