简体   繁体   中英

Fixed Header Flex Table - Header Vertical Align

jsFiddle - https://jsfiddle.net/24by5tmv/1/

I've got a simple flex table that fixes the header and scrolls the table body but i'm wanting to vertically align center/middle the contents (header and body) within each cell.

Setting a cell to vertical-align: middle; usually does the trick but it seems using flexbox is preventing vertically aligning cell contents.

I don't doubt i've overlooked something, and probably something simple, but does anyone have any ideas for fixing this?

Much appreciated :)

You can make the th,td element flex also and apply alignment inside them:

table.flex-table tr td,
table.flex-table tr th {
  display: flex;
  flex: 1;
  align-items:center;
  justify-content:center;
}

Full code

 .panel-body { height: 300px; } table { border-top: 1px solid black; /* Just to Highlight Top of Table */ } table thead tr { height: 5em; /* Fixed Row Height */ } /* Flex Table */ table.flex-table { display: flex; flex-direction: column; height: 100%; } table.flex-table thead, table.flex-table tbody { display: block; } table.flex-table thead { margin-right: 0px; } table.flex-table tbody { flex: 1; overflow-y: scroll; } table.flex-table tr { width: 100%; display: flex; } table.flex-table tr td, table.flex-table tr th { display: flex; flex: 1; align-items:center; justify-content:center; } 
 <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <div class="container"> <br> <div class="row"> <div class="col-sm-12"> <div class="panel panel-default"> <div class="panel-body"> <table class="table table-striped flex-table"> <thead> <tr> <th>Test</th> <th>Test</th> <th>Test</th> <th>Test</th> <th>Test</th> <th>Test</th> </tr> </thead> <tbody> <tr> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> </tr> <tr> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> </tr> <tr> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> </tr> <tr> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> </tr> <tr> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> </tr> <tr> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> </tr> <tr> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> </tr> <tr> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> </tr> <tr> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> </tr> <tr> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> </tr> <tr> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> <td>Something</td> </tr> </tbody> </table> </div> </div> </div> </div> </div> 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM