Raphael JS 中带有下划线的文本

发布于 2024-11-19 01:36:44 字数 71 浏览 4 评论 0原文

我想做一件简单的事情。只是一个带有下划线的文本,就像 html 中的标签一样。我怎样才能在 Raphael JS 中做到这一点?

I want to make a simple thinge. Just a text with underline line like tag in html. How can i do it in Raphael JS?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

烟花易冷人易散 2024-11-26 01:36:44

这是一个应该可以完成您想要的功能的函数:

function underlineText(textElement) {
    var textBBox = textElement.getBBox();
var textUnderline = canvas.path("M"+textBBox.x+" "+(textBBox.y+textBBox.height)+"L"+(textBBox.x+textBBox.width)+" "+(textBBox.y+textBBox.height));  
}

var textElement = canvas.text(100,100,"hello world");
underlineText(textElement);

Here is a function that should do what you're after:

function underlineText(textElement) {
    var textBBox = textElement.getBBox();
var textUnderline = canvas.path("M"+textBBox.x+" "+(textBBox.y+textBBox.height)+"L"+(textBBox.x+textBBox.width)+" "+(textBBox.y+textBBox.height));  
}

var textElement = canvas.text(100,100,"hello world");
underlineText(textElement);
还在原地等你 2024-11-26 01:36:44

适用于 SVG 画布,未使用 VML (<=IE8) 进行测试:

var text=paper.text(...);
if (text.node){
    $(text.node).css('text-decoration','underline');
}

您可以在 SVG 元素上设置任何 CSS3 文本属性,在 VML 元素上设置 CSS2 属性。

Works for SVG canvas, not tested with VML (<=IE8):

var text=paper.text(...);
if (text.node){
    $(text.node).css('text-decoration','underline');
}

You can set any CSS3 text attribute on an SVG element, and CSS2 attribute on a VML element.

标点 2024-11-26 01:36:44

我认为之前的答案不再好(因为对我来说它根本不起作用),但通过一些技巧我让它发挥了作用。

在这里:

var underlineText = function () {
var textBBox = textElement.getBBox();
var textUnderline = paper.path("M"+textBBox.x+" "+(textBBox.y+textBBox.height)+"L"+(textBBox.x+textBBox.width)+" "+(textBBox.y+textBBox.height));};

underlineText(textElement);

干杯!

www.stefanomoscardini.it

I think the previous answer is not good anymore (since for me it's not working at all), but with a few tricks I got it working as a charm.

Here it is:

var underlineText = function () {
var textBBox = textElement.getBBox();
var textUnderline = paper.path("M"+textBBox.x+" "+(textBBox.y+textBBox.height)+"L"+(textBBox.x+textBBox.width)+" "+(textBBox.y+textBBox.height));};

underlineText(textElement);

Cheers!

www.stefanomoscardini.it

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文