我在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;
}
我正在使用网格容器作为布局。
第二张图片,我想删除红线右边的所有内容。只需将表格放在div内即可。
答案 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),则会更加方便。