我尝试寻找这个答案并看到了接近它的问题,但无法解决我的问题@ HTML table headers always visible at top of window when viewing a large table。
基本上我们继承了一个XSL页面,它有2个HTML表格,当你将鼠标悬停在主表格中具有值“是”的行上时,它会显示一个隐藏的第二个表格,该表格与右边的那一行有关,如果“否” “它没有显示任何东西。但是,如果您通过XSL显示了大量结果,则向下滚动时将无法看到该表。
我只是想知道是否有办法强制1右隐藏表每次悬停在值时保持在屏幕顶部是,即使它意味着将XSL结果设置为具有滚动条而不是?
希望我已经明白了,请查看我的代码摘录,我遇到了麻烦。
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<script>
function showme(show)
{
<xsl:for-each select="root/Action">document.getElementById('<xsl:value-of select="@Type"/>').style.display='none';
</xsl:for-each>
document.getElementById('summary').style.display='none';
document.getElementById(show).style.display='inline';
}
</script>
<xsl:for-each select="root/Action">
<span style="display:none">
<xsl:attribute name="id"><xsl:value-of select="@Type"/></xsl:attribute>
<table class="lgreenback"><tr class="small"><td class="green">Details for: <b><xsl:value-of select="@Type"/> Actions:</b>   <a onmouseover="style.cursor='hand'" onclick="showme('summary')"><< Back</a></td></tr></table><br/>
<table cellspacing="0" cellpadding="2" class="bdrnw">
<tr class="small">
<td class="lgheadercell">Date:</td>
<td class="lgheadercell"> </td>
<td class="lgheadercell">Time:</td>
<td class="lgheadercell"> </td>
<td class="lgheadercell">Done By:</td>
<td class="lgheadercell"> </td>
<td class="lgheadercell">B&S Ref:</td>
<td class="lgheadercell"> </td>
<td class="lgheadercell">Assocs:</td>
</tr>
<xsl:for-each select="Case">
<tr class="smallerstill">
<xsl:choose>
<xsl:when test="count(Linked) > 0">
<xsl:attribute name="onmouseover">style.background='#f6f6f6', style.cursor='hand', document.getElementById('<xsl:value-of select="@id"/>').style.display='inline'</xsl:attribute>
<xsl:attribute name="onmouseout">style.background='#ffffff', document.getElementById('<xsl:value-of select="@id"/>').style.display='none'</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="onmouseover">style.background='#f6f6f6', style.cursor='hand'</xsl:attribute>
<xsl:attribute name="onmouseout">style.background='#ffffff'</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<td><xsl:value-of select="Date"/></td>
<td></td>
<td><xsl:value-of select="Time"/></td>
<td></td>
<td><xsl:value-of select="Realname"/></td>
<td></td>
<td><xsl:value-of select="substring(Client,1,3)" />-<xsl:value-of select="substring(Client,4,1)" /> <xsl:value-of select="Ref"/></td>
<td></td>
<td align="center">
<xsl:choose>
<xsl:when test="count(Linked) > 0">Yes</xsl:when>
<xsl:otherwise>No</xsl:otherwise>
</xsl:choose>
</td>
</tr>
</xsl:for-each>
</table>
</span>
</xsl:for-each>
</td><td valign="top" align="left">
<img src="../images/spacer.gif" height="41" width="120"/>
<xsl:for-each select="/root/Action/Case[count(Linked) > 0]">
<span style="display:none">
<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
<table cellspacing="0" cellpadding="2" class="bdrnw">
<tr class="small"><td class="lgheadercell">Assocs:</td></tr>
<xsl:for-each select="Linked">
<tr class="smallerstill"><td><xsl:value-of select="substring(@cl,1,3)" />-<xsl:value-of select="substring(@cl,4,1)" /> <xsl:value-of select="@nm"/></td></tr>
</xsl:for-each>
</table>
</span>
</xsl:for-each>
</td></tr></table>
</html>
</xsl:template>
</xsl:stylesheet>
如果您还有其他需要,请告诉我。
谢谢, 凯文
答案 0 :(得分:1)
在右侧表格中使用CSS position:fixed属性,或使用&lt; div&gt;在它周围。
#some-element {
position: fixed;
right: 0;
top: 0%;
}