Roh*_*han 20 html css css-position
我想固定我的桌子的标题.表存在于可滚动div中.以下是我的代码.
<div id="table-wrapper">
<div id="table-scroll">
<table bgcolor="white" border="0" cellpadding="0" cellspacing="0" id="header-fixed" width="100%" overflow="scroll" class="scrollTable">
<thead>
<tr>
<th>Order ID</th>
<th>Order Date</th>
<th>Status</th>
<th>Vol Number</th>
<th>Bonus Paid</th>
<th>Reason for no Bonus</th>
</tr>
</thead>
<tbody>
<tr>
<td><%=snd.getOrderId()%></td>
<td><%=snd.getDateCaptured()%></td>
<td><%=snd.getOrderStatus()%></td>
<td>Data Not Available</td>
<td>Data Not Available</td>
<td>Data Not Available</td>
</tr>
</tbody>
</table>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
下面是我的CSS,我用于上面的div:
#table-wrapper {
position:relative;
}
#table-scroll {
height:250px;
overflow:auto;
margin-top:20px;
}
#table-wrapper table {
width:100%;
}
#table-wrapper table * {
background:white;
color:black;
}
#table-wrapper table thead th .text {
position:absolute;
top:-20px;
z-index:2;
height:20px;
width:35%;
border:1px solid red;
}
Run Code Online (Sandbox Code Playgroud)
Mr.*_*ien 32
做这样的事情怎么样?我是从零开始做的......
我所做的是使用2个表,一个用于标题,一个是静态的,另一个表呈现单元格,我div
用一个固定高度的元素包装,并启用滚动,我正在使用overflow-y: auto;
还要确保使用table-layout: fixed;
固定宽度的td
元素,以便table
在没有white space
使用字符串时不会破坏,所以为了打破使用的字符串word-wrap: break-word;
.wrap {
width: 352px;
}
.wrap table {
width: 300px;
table-layout: fixed;
}
table tr td {
padding: 5px;
border: 1px solid #eee;
width: 100px;
word-wrap: break-word;
}
table.head tr td {
background: #eee;
}
.inner_table {
height: 100px;
overflow-y: auto;
}
<div class="wrap">
<table class="head">
<tr>
<td>Head 1</td>
<td>Head 1</td>
<td>Head 1</td>
</tr>
</table>
<div class="inner_table">
<table>
<tr>
<td>Body 1</td>
<td>Body 1</td>
<td>Body 1</td>
</tr>
<!-- Some more tr's -->
</table>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
小智 5
使用position: sticky
on th
可以解决问题。
注意:如果position: sticky
在thead
或上使用tr
,则将无法使用。
https://jsfiddle.net/hrg3tmxj/