Html 固定页眉可滚动表格页眉和tbody不匹配

Html 固定页眉可滚动表格页眉和tbody不匹配,html,css,Html,Css,您可以在中看到我的html代码 它提供了一个固定标题的可滚动表格。AD列和tbody列之间存在轻微的不匹配。我怎样才能解决这个问题 我需要thead和tbody列的边框在sam place HTML: 您可以使用jQuery。例如: <div id="tableContainer" class="tableContainer" style="margin: 0 auto;"> <table class="scrollTable" cellpadding="0" cel

您可以在中看到我的html代码

它提供了一个固定标题的可滚动表格。AD列和tbody列之间存在轻微的不匹配。我怎样才能解决这个问题

我需要thead和tbody列的边框在sam place

HTML:


您可以使用jQuery。例如:

<div id="tableContainer" class="tableContainer" style="margin: 0 auto;">
    <table class="scrollTable" cellpadding="0" cellspacing="0" width="100%" border="0">
        <thead class="fixedHeader">
            <tr class="alternateRow">
                <th>File</th>
                <th>Line</th>
                <th>Function</th>
                <th>Value</th>
                <th>Message</th>
            </tr>
        </thead>
        <tbody class="scrollContent">
            <tr class="alternateRow">
                <td>test.cpp</td>
                <td>72</td>
                <td>remove_items_states</td>
                <td>0.000000</td>
                <td>state_flag</td>
            </tr>
                    <tr class="alternateRow">
                <td>test.cpp</td>
                <td>72</td>
                <td>remove_items_states</td>
                <td>0.159990</td>
                <td>state_flag</td>
            </tr>
            <tr class="alternateRow">
                <td>test.cpp</td>
                <td>72</td>
                <td>remove_items_states</td>
                <td>0.159990</td>
                <td>state_flag</td>
            </tr>
            <tr class="alternateRow">
                <td>test.cpp</td>
                <td>72</td>
                <td>remove_items_states</td>
                <td>0.160000</td>
                <td>state_flag</td>
            </tr>
            <tr class="alternateRow">
                <td>test.cpp</td>
                <td>72</td>
                <td>remove_items_states</td>
                <td>0.160000</td>
                <td>state_flag</td>
            </tr>
        </tbody>
    </table>
</div>
/* Terence Ordona, portal[AT]imaputz[DOT]com         */
/* http://creativecommons.org/licenses/by-sa/2.0/    */

/* begin some basic styling here                     */
body {
    background: #FFF;
    color: #000;
    font: normal normal 12px Verdana, Geneva, Arial, Helvetica, sans-serif;
    margin: 10px;
    padding: 0
}

table, td, a {
    color: #000;
    font: normal normal 12px Verdana, Geneva, Arial, Helvetica, sans-serif
}

h1 {
    font: normal normal 18px Verdana, Geneva, Arial, Helvetica, sans-serif;
    margin: 0 0 5px 0
}

h2 {
    font: normal normal 16px Verdana, Geneva, Arial, Helvetica, sans-serif;
    margin: 0 0 5px 0
}

h3 {
    font: normal normal 13px Verdana, Geneva, Arial, Helvetica, sans-serif;
    color: #008000;
    margin: 0 0 15px 0
}
/* end basic styling                                 */

/* define height and width of scrollable area. Add 16px to width for scrollbar          */
div.tableContainer {
    clear: both;
    border: 1px solid #963;
    height: 500px;
    overflow: auto;
    width: 756px
}

/* Reset overflow value to hidden for all non-IE browsers. */
html>body div.tableContainer {
    overflow: hidden;
    width: 756px
}

/* define width of table. IE browsers only                 */
div.tableContainer table {
    float: left;
    width: 740px
}

/* define width of table. Add 16px to width for scrollbar.           */
/* All other non-IE browsers.                                        */
html>body div.tableContainer table {
    width: 756px
}

/* set table header to a fixed position. WinIE 6.x only                                       */
/* In WinIE 6.x, any element with a position property set to relative and is a child of       */
/* an element that has an overflow property set, the relative value translates into fixed.    */
/* Ex: parent element DIV with a class of tableContainer has an overflow property set to auto */
thead.fixedHeader tr {
    position: relative
}

/* set THEAD element to have block level attributes. All other non-IE browsers            */
/* this enables overflow to work on TBODY element. All other non-IE, non-Mozilla browsers */
html>body thead.fixedHeader tr {
    display: block
}

/* make the TH elements pretty */
thead.fixedHeader th {
    background: #C96;
    border-left: 1px solid #EB8;
    border-right: 1px solid #B74;
    border-top: 1px solid #EB8;
    font-weight: normal;
    padding: 4px 3px;
    text-align: left
}

/* make the A elements pretty. makes for nice clickable headers                */
thead.fixedHeader a, thead.fixedHeader a:link, thead.fixedHeader a:visited {
    color: #FFF;
    display: block;
    text-decoration: none;
    width: 100%
}

/* make the A elements pretty. makes for nice clickable headers                */
/* WARNING: swapping the background on hover may cause problems in WinIE 6.x   */
thead.fixedHeader a:hover {
    color: #FFF;
    display: block;
    text-decoration: underline;
    width: 100%
}

/* define the table content to be scrollable                                              */
/* set TBODY element to have block level attributes. All other non-IE browsers            */
/* this enables overflow to work on TBODY element. All other non-IE, non-Mozilla browsers */
/* induced side effect is that child TDs no longer accept width: auto                     */
html>body tbody.scrollContent {
    display: block;
    height: 475px;
    overflow: auto;
    width: 100%
}

/* make TD elements pretty. Provide alternating classes for striping the table */
/* http://www.alistapart.com/articles/zebratables/                             */
tbody.scrollContent td, tbody.scrollContent tr.normalRow td {
    background: #FFF;
    border-bottom: none;
    border-left: none;
    border-right: 1px solid #CCC;
    border-top: 1px solid #DDD;
    padding: 2px 3px 3px 4px
}

tbody.scrollContent tr.alternateRow td {
    background: #EEE;
    border-bottom: none;
    border-left: none;
    border-right: 1px solid #CCC;
    border-top: 1px solid #DDD;
    padding: 2px 3px 3px 4px
}

/* define width of TH elements: 1st, 2nd, and 3rd respectively.          */
/* Add 16px to last TH for scrollbar padding. All other non-IE browsers. */
/* http://www.w3.org/TR/REC-CSS2/selector.html#adjacent-selectors        */
html>body thead.fixedHeader th {
    width: 200px
}

html>body thead.fixedHeader th + th {
    width: 240px
}

html>body thead.fixedHeader th + th + th {
    width: 316px
}

/* define width of TD elements: 1st, 2nd, and 3rd respectively.          */
/* All other non-IE browsers.                                            */
/* http://www.w3.org/TR/REC-CSS2/selector.html#adjacent-selectors        */
html>body tbody.scrollContent td {
    width: 200px
}

html>body tbody.scrollContent td + td {
    width: 240px
}

html>body tbody.scrollContent td + td + td {
    width: 300px
}
// Change the selector if needed
var $table = $('table.scrollTable'),
    $bodyCells = $table.find('tbody tr:first').children(),
    colWidth;

// Adjust the width of thead cells when window resizes
$(window).resize(function() {
    // Get the tbody columns width array
    colWidth = $bodyCells.map(function() {
        return $(this).width();
    }).get();

    // Set the width of thead columns
    $table.find('thead tr').children().each(function(i, v) {
        $(v).width(colWidth[i]);
    });    
}).resize(); // Trigger resize handler