Tuesday, June 12, 2007

Freeze Table Columns & Non-Scroll Headers (HTML & CSS)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0052)http://www.romanm.ch/ascii-animation/ascii-tiger.htm -->
<html>
 
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>1aaa</title>
<style type="text/css">
div#tbl-container {
width: 700px;
height: 252px;
overflow: auto;
scrollbar-base-color:#ffeaff;
}
 
table {
table-layout: fixed;
border-collapse: collapse;
background-color: WhiteSmoke;
}
 
div#tbl-container table th {
width: 100px;
}
 
thead th, thead th.locked {
font-size: 14px;
font-weight: bold;
text-align: center;
background-color: navy;
color: white;
border-right: 1px solid silver;
position:relative;
cursor: default;
}
 
thead th {
top: expression(document.getElementById("tbl-container").scrollTop-2); /* IE5+ only */
z-index: 20;
}
 
thead th.locked {z-index: 30;}
 
td.locked,  th.locked{
background-color: white;
font-weight: bold;
border-right: 1px solid silver;
left: expression(parentNode.parentNode.parentNode.parentNode.scrollLeft); /* IE5+ only */
position: relative;
z-index: 10;
}
 

</style>
</head>
 
<body>
<div id="tbl-container">
<table id="tbl">
<thead>
<tr>
<th class="locked">col1</th>
<th>col2</th>
<th>col3</th>
<th>col4</th>
<th>col5</th>
<th>col6</th>
<th>col7</th>
</tr>
</thead>
 
<tbody>
 
  <tr>
    <td class="locked">Student01</td>
    <td>Languages</td>
    <td>male</td>
    <td>80</td>
    <td>70</td>
    <td>75</td>
    <td>80</td>
 
  </tr>
  <tr>
    <td class="locked">Student02</td>
    <td>Mathematics</td>
    <td>male</td>
    <td>90</td>
    <td>88</td>
    <td>100</td>
    <td>90</td>
 
  </tr>
  <tr>
    <td class="locked">Student03</td>
    <td>Languages</td>
    <td>female</td>
    <td>85</td>
    <td>95</td>
    <td>80</td>
    <td>85</td>
 
  </tr>
  <tr>
    <td class="locked">Student04</td>
    <td>Languages</td>
    <td>male</td>
    <td>60</td>
    <td>55</td>
    <td>100</td>
    <td>100</td>
 
  </tr>
  <tr>
    <td class="locked">Student05</td>
    <td>Languages</td>
    <td>female</td>
    <td>68</td>
    <td>80</td>
    <td>95</td>
    <td>80</td>
 
  </tr>
  <tr>
    <td class="locked">Student06</td>
    <td>Mathematics</td>
    <td>male</td>
    <td>100</td>
    <td>99</td>
    <td>100</td>
    <td>90</td>
 
  </tr>
  <tr>
    <td class="locked">Student07</td>
    <td>Mathematics</td>
    <td>male</td>
    <td>85</td>
    <td>68</td>
    <td>90</td>
    <td>90</td>
 
  </tr>
  <tr>
    <td class="locked">Student08</td>
    <td>Languages</td>
    <td>male</td>
    <td>100</td>
    <td>90</td>
    <td>90</td>
    <td>85</td>
 
  </tr>
  <tr>
    <td class="locked">Student09</td>
    <td>Mathematics</td>
    <td>male</td>
    <td>80</td>
    <td>50</td>
    <td>65</td>
    <td>75</td>
 
  </tr>
  <tr>
    <td class="locked">Student10</td>
    <td>Languages</td>
    <td>male</td>
    <td>85</td>
    <td>100</td>
    <td>100</td>
    <td>90</td>
 
  </tr>
  <tr>
    <td class="locked">Student11</td>
    <td>Languages</td>
    <td>male</td>
    <td>86</td>
    <td>85</td>
    <td>100</td>
    <td>100</td>
 
  </tr>
  <tr>
    <td class="locked">Student12</td>
    <td>Mathematics</td>
    <td>female</td>
    <td>100</td>
    <td>75</td>
    <td>70</td>
    <td>85</td>
 
  </tr>
  <tr>
    <td class="locked">Student13</td>
    <td>Languages</td>
    <td>female</td>
    <td>100</td>
    <td>80</td>
    <td>100</td>
    <td>90</td>
 
  </tr>
  <tr>
    <td class="locked">Student14</td>
    <td>Languages</td>
    <td>female</td>
    <td>50</td>
    <td>45</td>
    <td>55</td>
    <td>90</td>
 
  </tr>
  <tr>
    <td class="locked">Student15</td>
    <td>Languages</td>
    <td>male</td>
    <td>95</td>
    <td>35</td>
    <td>100</td>
    <td>90</td>
 
  </tr>
  <tr>
    <td class="locked">Student16</td>
    <td>Languages</td>
    <td>female</td>
    <td>100</td>
    <td>50</td>
    <td>30</td>
    <td>70</td>
 
  </tr>
  <tr>
    <td class="locked">Student17</td>
    <td>Languages</td>
    <td>female</td>
    <td>80</td>
    <td>100</td>
    <td>55</td>
    <td>65</td>
 
  </tr>
  </tbody>
  </table>
  </div>
</body>
 
</html>
 
Source:http://web.tampabay.rr.com/bmerkey/examples/locked-column-csv.html

No comments: