图表下方的对齐标签

Aligning label below chartist chart

我有一个页面,其中包含使用 chartist (https://gionkunz.github.io/chartist-js/) 生成的图表

在图表下方,有一些标签。由于标签的长度,我需要旋转标签。

我已经能够通过一些 css:

做到这一点
.ct-chart .ct-label.ct-horizontal.ct-end {
  transform: translate(-15px, 15px) rotate(315deg);
  white-space: nowrap;
}

然而,我现在面临一个问题:当标签太长时,其中一部分会变成 "chopped off"。

我创建了一个 jsfiddle 来演示这个问题: https://jsfiddle.net/Ls5k2pr0/

标签被隐藏是因为溢出了svg元素,它们也从原点移动了。像这样更新您的 css:

.ct-chart-bar {
  overflow: visible;
  margin : 0 0 30px 0;
}

.ct-chart .ct-label.ct-horizontal.ct-end {
  position: relative;
  justify-content: flex-end;
  text-align: right;
  transform-origin: 100% 0;
  transform: translate(-100%) rotate(-45deg);
  white-space:nowrap;
}

这是更新的 JSFiddle https://jsfiddle.net/Ls5k2pr0/1/

fiddle 您可以向 svg 父级添加省略号和填充,即使标签太长,您也可以像示例中那样添加省略号

.ct-chart .ct-label.ct-horizontal.ct-end {
  transform: translate(-15px, 15px) rotate(315deg);
  white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    display: block;
    width: 50px !important;
}

我通过将边距 margin : 0 0 30px 0; 添加到 .ct-chart-bar css class.

来完成@xxxmatko 的回答

整个解决方案是:

.ct-chart-bar {
  overflow: visible;
  margin : 0 0 30px 0;
}

.ct-chart .ct-label.ct-horizontal.ct-end {
  position: relative;
  justify-content: flex-end;
  text-align: right;
  transform-origin: 100% 0;
  transform: translate(-100%) rotate(-45deg);
  white-space:nowrap;
 }

此致!