0
A
回答
2
當然你也可以添加填充和其他樣式規則到你的拉斐爾創建SVG元素。它只是DOM中的另一個元素 - 不需要解決方法。 @ BigBadaboom的斷言只適用於SVG元素內部的元素,而不是SVG元素本身。
<style type="text/css">
svg.padding-please
{
padding: 20px;
background-color: rgb(128,128,128);
border: 1px solid black;
margin: 20px;
}
</style>
當你創建你的拉斐爾紙對象:
var paper = Raphael('container', width, height);
jQuery(paper.canvas).attr("class", "padding-please"); // `canvas` gives us direct access to the DOM node
另類視角
你總是可以掀起一個簡單的拉斐爾擴展保證金的規定量添加到給定SVG通過操縱視圖框。例如:
Raphael.fn.addMargin = function addMargin(ratio)
{
var contentBox = { x: 100000, y: 100000, width: 0, height: 0 };
this.forEach( function(element)
{
var elemBox = element.getBBox();
contentBox.x = Math.min(contentBox.x, elemBox.x);
contentBox.y = Math.min(contentBox.y, elemBox.y);
contentBox.width = Math.max(contentBox.width, elemBox.width);
contentBox.height = Math.max(contentBox.height, elemBox.height);
}, this);
if (contentBox.x == 100000) // No elements? Whatevs
return;
var xMargin = contentBox.width * ratio;
var yMargin = contentBox.height * ratio;
this.setViewBox(contentBox.x - xMargin, contentBox.y - yMargin, contentBox.width + xMargin * 2, contentBox.height + xMargin * 2);
}
然後,如果你想有10%的保證金增加一個給定的SVG,你只需撥打
paper.addMargin(0.1);
有這麼多的方法對皮膚的貓,這是驚人的家貓ISN 't絕種=)
+0
感謝您的信息!其實只是在幾個小時前實施你的第二個建議。 :)由於某些原因,即使填充工作在瀏覽器中,當使用phantomjs或wkhtmltopdf時,它的處理方式也不一樣。 –
相關問題
- 1. 視框填充SVG
- 2. 滑動svg填充懸停
- 3. 從SVG中刪除「填充」?
- 4. d3 svg來填充屏幕
- 5. SVG:填充弧形動畫?
- 6. SVG:用孔填充圖案
- 7. SVG填充不正確
- 8. 部分填充SVG背景
- 9. 使用填充動畫svg
- 10. 如何填充SVG圖像
- 11. SVG填充外部文件
- 12. 將填充添加到svg
- 13. SVG填充和轉換
- 14. SVG「填充:網址(#....)」在Firefox
- 15. SVG與填充圖像
- 16. 圖案填充svg和colorpicker
- 17. wicked_pdf,wkhtmltopdf不與SVG在Heroku
- 18. svg填充分組多段線以填充形狀
- 19. 填充SVG形狀與HTML5視頻
- 20. 填充svg的內部部分
- 21. 使用javascript的SVG填充動畫
- 22. SVG填充顏色透明度/ alpha?
- 23. 更改填充顏色爲SVG
- 24. 點擊更改SVG填充覆蓋 - jQuery
- 25. 平滑地更改SVG的填充度
- 26. SVG使用和漸變作爲填充
- 27. 內聯svg填充整個屏幕
- 28. 默認描邊和填充SVG
- 29. SVG填充顏色不工作
- 30. SVG路徑繪製和圖像填充
如果你的意思是在CSS意義上的填充,那麼沒有。在SVG中,你必須明確說明事物的尺寸。沒有像HTML那樣的自動佈局。 –
我只是使用一種解決方法 - 如果你知道背景顏色,將圖像放置在具有相同背景顏色和一點填充的'div'中。 – Nenotlep