如何在不缩放内容的情况下使 div 可滚动?
How to make a div scrollable without scaling its contents?
我想要 table 显示为 grid.The table 由 div 持有。如果它扩展了 div 的维度,我希望能够滚动 div 以查看脚本中生成的整个 table.The table 内容。我还定义了一些 css 类.
var rows = 500;
var cols = 500;
PopulateGrid();
function PopulateGrid() {
var table = document.getElementById("GridTable");
for (i = 0; i < rows; i++) {
var tr = document.createElement('TR');
for (j = 0; j < cols; j++) {
var td = document.createElement('TD')
tr.appendChild(td);
}
table.appendChild(tr);
}
}
td {
border: 1px solid black;
height: 50px;
width: 50px;
}
table {
border-spacing: 0px;
}
.GridContainer {
height: 650px;
width: 1447px;
overflow: scroll;
}
<head runat="server">
<title></title>
</head>
<body>
<div class="GridContainer">
<table id="GridTable"></table>
</div>
</body>
不幸的是,dt 宽度被缩放,而它的高度似乎与 css 中定义的值相对应。我错过了一些 css 属性 吗?
TD 元素的宽度有点奇怪,规则可能有点复杂。您认为 table 宽度应该是各个 td 元素的总和,但它是相反的。确定 table 所需的最小大小以及它希望的大小,然后它会尝试确定 TD 宽度的合理值。以下是有效的,如果将 table 宽度设置为 500*50px (25000px) 也有效。
var rows = 500;
var cols = 500;
PopulateGrid();
function PopulateGrid() {
var table = document.getElementById("GridTable");
for (i = 0; i < rows; i++) {
var tr = document.createElement('TR');
for (j = 0; j < cols; j++) {
var td = document.createElement('TD')
tr.appendChild(td);
}
table.appendChild(tr);
}
}
td {
border: 1px solid black;
height: 50px;
width: 50px;
min-width: 50px;
}
table {
border-spacing: 0px;
}
.GridContainer {
height: 650px;
width: 1447px;
overflow: scroll;
}
<head runat="server">
<title></title>
</head>
<body>
<div class="GridContainer">
<table id="GridTable"></table>
</div>
</body>
我想要 table 显示为 grid.The table 由 div 持有。如果它扩展了 div 的维度,我希望能够滚动 div 以查看脚本中生成的整个 table.The table 内容。我还定义了一些 css 类.
var rows = 500;
var cols = 500;
PopulateGrid();
function PopulateGrid() {
var table = document.getElementById("GridTable");
for (i = 0; i < rows; i++) {
var tr = document.createElement('TR');
for (j = 0; j < cols; j++) {
var td = document.createElement('TD')
tr.appendChild(td);
}
table.appendChild(tr);
}
}
td {
border: 1px solid black;
height: 50px;
width: 50px;
}
table {
border-spacing: 0px;
}
.GridContainer {
height: 650px;
width: 1447px;
overflow: scroll;
}
<head runat="server">
<title></title>
</head>
<body>
<div class="GridContainer">
<table id="GridTable"></table>
</div>
</body>
不幸的是,dt 宽度被缩放,而它的高度似乎与 css 中定义的值相对应。我错过了一些 css 属性 吗?
TD 元素的宽度有点奇怪,规则可能有点复杂。您认为 table 宽度应该是各个 td 元素的总和,但它是相反的。确定 table 所需的最小大小以及它希望的大小,然后它会尝试确定 TD 宽度的合理值。以下是有效的,如果将 table 宽度设置为 500*50px (25000px) 也有效。
var rows = 500;
var cols = 500;
PopulateGrid();
function PopulateGrid() {
var table = document.getElementById("GridTable");
for (i = 0; i < rows; i++) {
var tr = document.createElement('TR');
for (j = 0; j < cols; j++) {
var td = document.createElement('TD')
tr.appendChild(td);
}
table.appendChild(tr);
}
}
td {
border: 1px solid black;
height: 50px;
width: 50px;
min-width: 50px;
}
table {
border-spacing: 0px;
}
.GridContainer {
height: 650px;
width: 1447px;
overflow: scroll;
}
<head runat="server">
<title></title>
</head>
<body>
<div class="GridContainer">
<table id="GridTable"></table>
</div>
</body>