如何解决 html 中固定列的无限垂直滚动问题
How to fix unlimited vertical scrolling issue of fixed column in html
我在我的 asp.net mvc 项目中实现了固定列 table。水平滚动没问题。但是当我将鼠标悬停在固定列上时,该列会无限垂直滚动,有时还会连续摇动屏幕。
这是简单的剃刀视图(NewTable.cshtml):
<style>
table {
table-layout: fixed;
width: 100%;
*margin-left: -100px; /*ie7*/
}
td, th {
vertical-align: top;
border-top: 1px solid #ccc;
padding: 10px;
width: 100px;
}
.fix {
position: absolute;
*position: relative;
margin-left: -100px;
width: 100px;
}
.outer {
position: relative;
}
.inner {
overflow-x: scroll;
overflow-y: visible;
width: 400px;
margin-left: 100px;
}
</style>
<h2>This is fixed column demo</h2>
<div class="inner">
<table class="table">
<thead>
<tr>
<th class="fix">Header 1</th>
<th>Header 2</th>
<th>Header 3</th>
<th>Header 4</th>
<th>Header 5</th>
<th>Header 5</th>
<th>Header 5</th>
<th>Header 5</th>
</tr>
</thead>
<tbody>
<tr>
<td class="fix">data 1</td>
<td>data 2</td>
<td>data 3</td>
<td>data 4</td>
<td>data 5</td>
<td>data 5</td>
<td>data 5</td>
<td>data 5</td>
</tr>
</tbody>
</table>
</div>
这是我将鼠标悬停在第一个固定列上时的屏幕:
N:B: 当我设置 layout=null 时,这绝对没问题。如果您有任何特定的 hint/solution 那么请让我知道如何解决这个无限垂直滚动问题。所以问题与我使用的布局有关。无论如何,我解决了在答案部分添加 css 的问题。
我通过像这样设置固定列的样式来修复固定列的无限垂直滚动:style="overflow-y: hidden;"
我在我的 asp.net mvc 项目中实现了固定列 table。水平滚动没问题。但是当我将鼠标悬停在固定列上时,该列会无限垂直滚动,有时还会连续摇动屏幕。 这是简单的剃刀视图(NewTable.cshtml):
<style>
table {
table-layout: fixed;
width: 100%;
*margin-left: -100px; /*ie7*/
}
td, th {
vertical-align: top;
border-top: 1px solid #ccc;
padding: 10px;
width: 100px;
}
.fix {
position: absolute;
*position: relative;
margin-left: -100px;
width: 100px;
}
.outer {
position: relative;
}
.inner {
overflow-x: scroll;
overflow-y: visible;
width: 400px;
margin-left: 100px;
}
</style>
<h2>This is fixed column demo</h2>
<div class="inner">
<table class="table">
<thead>
<tr>
<th class="fix">Header 1</th>
<th>Header 2</th>
<th>Header 3</th>
<th>Header 4</th>
<th>Header 5</th>
<th>Header 5</th>
<th>Header 5</th>
<th>Header 5</th>
</tr>
</thead>
<tbody>
<tr>
<td class="fix">data 1</td>
<td>data 2</td>
<td>data 3</td>
<td>data 4</td>
<td>data 5</td>
<td>data 5</td>
<td>data 5</td>
<td>data 5</td>
</tr>
</tbody>
</table>
</div>
这是我将鼠标悬停在第一个固定列上时的屏幕:
N:B: 当我设置 layout=null 时,这绝对没问题。如果您有任何特定的 hint/solution 那么请让我知道如何解决这个无限垂直滚动问题。所以问题与我使用的布局有关。无论如何,我解决了在答案部分添加 css 的问题。
我通过像这样设置固定列的样式来修复固定列的无限垂直滚动:style="overflow-y: hidden;"