cytoscape js标签显示,如何换行

时间:2019-12-03 11:09:20

标签: graph label styles cytoscape.js

我正在使用cytoscape.js显示有向图,并在标签中显示了2个属性。

我想包装文本,并且在文档中说这是可能的,但我无法使其正常工作。有人可以帮忙语法吗?

'label': 'data(name)',
'font-size' : 14
'text-wrap': 'wrap/n'

text-wrap似乎不起作用,它挂起了图形显示。

我需要设置'text-max-width'吗?

预先感谢

1 个答案:

答案 0 :(得分:3)

您无法在text-wrap css属性中添加\ n,而是在寻找label属性:

md.c

应将这些类之一添加到要包装标签的节点上。您可以这样做:

{
    "selector": ".multiline-manual",
    "style": {
      "text-wrap": "wrap"
    }
  },

  {
    "selector": ".multiline-auto",
    "style": {
      "text-wrap": "wrap",
      "text-max-width": 80
    }
  },
var cy = (window.cy = cytoscape({
  container: document.getElementById("cy"),

  boxSelectionEnabled: false,
  autounselectify: true,

  style: [{
      selector: "node",
      css: {
        content: "data(name)",
        height: "60px",
        width: "60px"
      }
    },
    {
      selector: "edge",
      css: {
        "target-arrow-shape": "triangle"
      }
    },
    {
      selector: ".multiline-manual",
      style: {
        "text-wrap": "wrap"
      }
    },

    {
      selector: ".multiline-auto",
      style: {
        "text-wrap": "wrap",
        "text-max-width": 80
      }
    }
  ],

  elements: {
    nodes: [{
        data: {
          id: "n0",
          name: "This is a very long name and all I have to do is to add a class!"
        },
        classes: "multiline-auto"
      },
      {
        data: {
          id: "n1",
          name: "Shorter"
        },
        classes: "multiline-auto"
      },
      {
        data: {
          id: "n2",
          name: "This shouldn't wrap"
        },
        classes: "multiline-manual"
      },
      {
        data: {
          id: "n3",
          name: "This should\nwrap"
        },
        classes: "multiline-manual"
      }
    ],
    edges: [{
        data: {
          source: "n0",
          target: "n1"
        }
      },
      {
        data: {
          source: "n1",
          target: "n2"
        }
      },
      {
        data: {
          source: "n1",
          target: "n3"
        }
      }
    ]
  },

  layout: {
    name: "dagre",
    padding: 5
  }
}));
body {
  font: 14px helvetica neue, helvetica, arial, sans-serif;
}

#cy {
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
  float: left;
  position: absolute;
}