cytoscape js标签显示,如何换行

Mar*_*k N 2 label styles graph cytoscape.js

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

我想将文本换行,据说文档中可以这样做,但我无法让它工作。任何人都可以帮助解决语法问题吗?

'label': 'data(name)',
'font-size' : 14
'text-wrap': 'wrap/n'
Run Code Online (Sandbox Code Playgroud)

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

我需要设置“text-max-width”吗?

提前致谢

Ste*_* T. 6

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

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

  {
    "selector": ".multiline-auto",
    "style": {
      "text-wrap": "wrap",
      "text-max-width": 80
    }
  },
Run Code Online (Sandbox Code Playgroud)

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

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

  {
    "selector": ".multiline-auto",
    "style": {
      "text-wrap": "wrap",
      "text-max-width": 80
    }
  },
Run Code Online (Sandbox Code Playgroud)
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
  }
}));
Run Code Online (Sandbox Code Playgroud)
body {
  font: 14px helvetica neue, helvetica, arial, sans-serif;
}

#cy {
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
  float: left;
  position: absolute;
}
Run Code Online (Sandbox Code Playgroud)