【发布时间】:2012-11-24 00:22:16
【问题描述】:
我试图在画布中重现 CSS3 边框半径。
圆角矩形很容易画,但在 CSS 中,每个边框的值可以很高。
例如:
HTML
<div class="normal_radius"></div>
<div class="high_radius"></div>
<div class="high2_radius"></div>
CSS
div { height:50px;width:50px;position:absolute;top:10px; }
.normal_radius {
border: 1px solid black;
border-radius: 5px 5px 10px 15px;
left: 10px;
}
.high_radius {
border: 1px solid red;
border-radius: 5000px 500px 100px 150px;
left: 80px;
}
.high2_radius {
border: 1px solid blue;
border-radius: 2500px 250px 50px 75px;
left: 160px;
}
这里是jsfiddle
黑色的正常边框半径值,我可以重现。 边界半径的红色高值,我不知道如何重现。 而蓝色的高值除以 2,与红色的结果相同。
我的问题很简单,如何在画布中重现红色和蓝色?
最好的问候。
【问题讨论】:
-
我认为你必须使用路径方法来自己绘制曲线。 developer.mozilla.org/en-US/docs/Canvas_tutorial/Drawing_shapes 向下滚动到“moveTo”和“Bezier 和二次曲线”
-
只是一个问题:当
border-radius: 100% 10% 0 0;给你同样的效果时,为什么要在你的CSS 中为border-radius使用这些巨大的值?jsfiddle.net/fAJ9t/66 -
嗨,谢谢你的回答,但我知道绘制圆角矩形的方法,如果用户输入高值,我希望算法/公式绘制圆角矩形。
标签: javascript css canvas