删除d3表中的空白

时间:2018-08-20 10:24:46

标签: css d3.js css-tables

我在d3中创建了下表(请参见下图),该表具有两列。但是,我无法删除桌子右侧的空白。这是表格的html和CSS:

html

<!DOCTYPE html>
<html>
  <head>
    <title></title>
    <link rel="stylesheet" type="text/css" href="styles.css">
  </head>

  <body>
    <div class="grid-container">
      <div class="map">
        <svg></svg>
      </div>
      <div class="box-plot">
        <svg></svg>
      </div>
      <div class="table"></div>
      <div class="line-chart">
        <svg></svg>
      </div>
    </div>

    <script src="bundle.js"></script>
  </body>
</html>

/ *和CSS * /

.map {
  grid-area: map;
}

.map-path {
  /* fill: rgba(0,0,0,0.01); */
  /* stroke: rgba(0,0,0,0.2); */
  /* stroke-width: 1px; */
}

.map-path.counties {
  stroke: black;
  stroke-width: 1px;
}

.map-path.catchments {
  stroke: black;
  stroke-width: 1px;
}

.map-path.aquifer {
  /* stroke: rgba(0,200,0,0.5); */
  /* stroke-width: 0.5px; */
}

.map-path.gwrockunit {
  /* stroke: rgba(200,0,0,0.5); */
  /* stroke-width: 0.5px; */
}

.map-path.selected-basemap-polygon {
  stroke: black;
  stroke-width: 2px;
}

.box-plot {
  grid-area: box-plot;
}

.table {
  grid-area: table;
  overflow-y: scroll;
  font-family: Courier;
  /* max-width: 400px; */
  border-collapse: collapse;
  white-space: nowrap;
  width: 100%;
}
tr:nth-of-type(odd) {
        background: #eee;
}
th {
    background: #333;
    color: white;
    font-weight: bold;
    cursor: s-resize;
    background-repeat: no-repeat;
      background-position: 3% center;
}
td, th {
  padding: 6px;
  border: 1px solid #ccc;
  text-align: left;
}

.line-chart {
  grid-area: line-chart;
}

.grid-container {
  position: fixed;
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
  display: grid;
  grid-template-areas:
    'map map box-plot table'
    'map map line-chart table';
  grid-gap: 10px;
  background-color: #2196F3;
  padding: 10px;
}

.grid-container div {
  background-color: white;
}

.grid-container div svg {

  /* This makes it so the grid does not resize when the SVG is added */
  position: absolute;
}

.basemap-selector-widget {
  cursor: pointer;
}

.basemap-selector-widget rect {
  fill: white;
  stroke: black;
  stroke-width: 2px;
  border-radius: 25px;
}

.basemap-selector-widget text {
  font-family: sans;
  alignment-baseline: middle;
  text-anchor: middle;
}

我正在使用网格容器作为布局。

white space

第二张图片,我想删除红线右边的所有内容。只需将表格放在div内即可。

Remove everything to right of red line

2 个答案:

答案 0 :(得分:1)

没有完整的代码很难分辨,但是请尝试:

.table {
grid-area: table;
overflow-y: scroll;
font-family: Courier;
border-collapse: collapse;
white-space: nowrap;
width: 100%;
}

现在,完整的代码我可以帮助.. 只需添加到您的CSS

 .table table {width:100%}

答案 1 :(得分:1)

只需将width: auto替换为width: 100%。如果您未在文档范围内进行设置,也可以指定box-sizing: border-box

但是,如果添加HTML / CSS / JS可运行的代码段(在编辑器中为Ctrl-M),则会更加方便。