我想做一個簡單的縮寫。只是一個帶有下劃線的文本,如html中的標籤。我如何在Raphael JS中做到這一點?帶有拉斐爾下劃線的文本JS
4
A
回答
6
這是應該做的一個功能你以後:
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);
+0
只需注意這一點,如果您旋轉了文本,它將無法按預期工作。仍然,一個優雅的解決方案 – SimonR
0
我覺得以前的答案是不再好(因爲對我來說這是不工作的話),但有一些技巧,我把它當作魅力工作。
這就是:
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
3
Works的SVG畫布,不與VML(< = IE8)測試:
var text=paper.text(...);
if (text.node){
$(text.node).css('text-decoration','underline');
}
可以設置一個SVG元素上的任何CSS3文本屬性,和CSS2屬性在VML元素上。
+0
這是唯一可行的答案!謝謝。這應該被接受 – Kayvar
相關問題
- 1. 拉斐爾JS - Liimiting文本legnth
- 2. 拉斐爾JS繪製同心線
- 3. 如何繪製拉斐爾js曲線?
- 4. 帶有多個下劃線的文本
- 5. 拉斐爾文本和Safari
- 6. 拉斐爾的文字變換JS
- 7. 拉斐爾JS - 點擊
- 8. 拉斐爾js - gettotalLength()和getBBox.width
- 9. 拉斐爾JS - 在IE
- 10. 拉斐爾JS失敗
- 11. 如何改變拉斐爾JS文件
- 12. 目標的iframe聖拉斐爾的js
- 13. 嵌套拉斐爾的套在拉斐爾爲拉斐爾設置的JavaScript庫
- 14. UITextView帶下劃線的文本
- 15. 拉斐爾js拖放的解釋?
- 16. 拉斐爾的單詞包裹JS/SVG
- 17. 拉斐爾JS的動畫圈子
- 18. 如何使用的onclick拉斐爾JS
- 19. 拉斐爾JS在不同的div
- 20. 拉斐爾JS setViewBox沒有調整我的論文
- 21. 帶下劃線的文字
- 22. G拉斐爾js在餅圖中添加文本
- 23. 禁用文本鼠標懸停在拉斐爾JS
- 24. 聖拉斐爾文本元素
- 25. 拉斐爾Javascript
- 26. 在拉斐爾
- 27. 拉斐爾js鏈接動畫
- 28. 拉斐爾JS懸停減慢動畫
- 29. 拉斐爾JS paper.getById()返回null
- 30. 拉斐爾JS橢圓不拖動
http://groups.google.com/group/raphaeljs/browse_thread/thread/c42a3d2503fcbbea上的相關討論 – beldaz