DIM
DIM

Reputation: 142

issues with alignment

I have a html table whose headers need to be fixed. I am using bootstrap classes to make html headers fix, but i see many issues with that. Please find the sample here. Issues i'm facing are Header is not displayed starting from first column, word wrap is not applied for the columns header or the columns. Please advice. Is there any better way to solve this.

html code:

<div class="modal-body"  id="modal-body">
<table id="myTable" class="table table-fixedheader table-bordered table-striped"> <thead>
<tr class="row"><th class="col-md-7">Header1</th><th class="col-md-4">Header2</th><th class="col-md-3">Header3</th><th class="col-md-4">Header4</th></tr>
</thead><tbody>
<tr><td>1111</td><td>33333</td><td>1111</td><td>3333322222222222222222222222222222</td></tr>
<tr><td>1111</td><td>33333</td><td>1111</td><td>33333</td></tr>
<tr><td>112222222222222215555555551</td><td>33333</td><td>1111</td><td>33333</td></tr>         
<tr><td>1111</td><td>33333</td><td>1111</td><td>33333</td></tr>
<tr><td>1111</td><td>33333</td><td>1111</td><td>33333</td></tr>
<tr><td>1111</td><td>33333</td><td>1111</td><td>33333</td></tr>
<tr><td>1111</td><td>33333</td><td>1111</td><td>33333</td></tr>         
<tr><td>1111</td><td>33333</td><td>1111</td><td>33333</td></tr>
<tr><td>1111</td><td>33333</td><td>1111</td><td>33333</td></tr>
<tr><td>1111</td><td>33333</td><td>1111</td><td>33333</td></tr> <tr><td>1111</td><td>33333</td><td>1111</td><td>33333</td></tr>         
<tr><td>1111</td><td>33333</td><td>1111</td><td>33333</td></tr>
<tr><td>1111</td><td>33333</td><td>1111</td><td>33333</td></tr>
<tr><td>1111</td><td>33333</td><td>1111</td><td>33333</td></tr> <tr><td>1111</td><td>33333</td><td>1111</td><td>33333</td></tr>         
<tr><td>1111</td><td>33333</td><td>1111</td><td>33333</td></tr>
</tbody>  </table>
</div>

Upvotes: 0

Views: 73

Answers (4)

this.girish
this.girish

Reputation: 1306

repalce this

 <tr class ="row" >

with this

  <tr>

your updated fiddle http://jsfiddle.net/girish28892/ZcLSE/1431/

Upvotes: 0

NBaua
NBaua

Reputation: 674

Only simple thing missed is using the same structure (Or CSS classes), I've checked the code from your fiddle and this should work for the scenario you've presented.

 <!-- Button trigger modal -->
<button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
    Launch demo modal
</button>

<div id="myModal" class="modal fade">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title">Modal title</h4>
            </div>
            <div class="modal-body" id="modal-body">
                <table id="myTable" class="table table-fixedheader table-bordered table-striped table-scroll">
                    <thead>

                        <tr class="row">
                            <th class="col-md-3">Header1</th>
                            <th class="col-md-4">Header2</th>
                            <th class="col-md-3">Header3</th>
                            <th class="col-md-4">Header4</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr class="row">
                            <td class="col-md-3">1111</td>
                            <td class="col-md-4">33333</td>
                            <td class="col-md-3">1111</td>
                            <td class="col-md-4">5443545435354543</td>
                        </tr>
                        <tr class="row">
                            <td class="col-md-3">1111</td>
                            <td class="col-md-4">33333</td>
                            <td class="col-md-3">1111</td>
                            <td class="col-md-4">5437665</td>
                        </tr>
                        <tr class="row">
                            <td class="col-md-3">1111</td>
                            <td class="col-md-4">33333</td>
                            <td class="col-md-3">1111</td>
                            <td class="col-md-4">5435435443</td>
                        </tr>
                        <tr class="row">
                            <td class="col-md-3">1111</td>
                            <td class="col-md-4">33333</td>
                            <td class="col-md-3">1111</td>
                            <td class="col-md-4">68678454</td>
                        </tr>
                        <tr class="row">
                            <td class="col-md-3">1111</td>
                            <td class="col-md-4">786876</td>
                            <td class="col-md-3">8787876</td>
                            <td class="col-md-4">6765767</td>
                        </tr>
                        <tr class="row">
                            <td class="col-md-3">7656765</td>
                            <td class="col-md-4">656456</td>
                            <td class="col-md-3">116611</td>
                            <td class="col-md-4">43434</td>
                        </tr>
                        <tr class="row">
                            <td class="col-md-3">43243432434324342</td>
                            <td class="col-md-4">33344343233</td>
                            <td class="col-md-3">1111</td>
                            <td class="col-md-4">4343</td>
                        </tr>
                        <tr class="row">
                            <td class="col-md-3">1111</td>
                            <td class="col-md-4">432434343243243</td>
                            <td class="col-md-3">1111</td>
                            <td class="col-md-4">432443</td>
                        </tr>
                        <tr class="row">
                            <td class="col-md-3">1111</td>
                            <td class="col-md-4">333333</td>
                            <td class="col-md-3">111312312123121</td>
                            <td class="col-md-4">32112</td>
                        </tr>
                    </tbody>
                </table>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                <button type="button" class="btn btn-primary">Save changes</button>
            </div>
        </div>
        <!-- /.modal-content -->
    </div>
    <!-- /.modal-dialog -->
</div>
<!-- /.modal -->

Okay:

For Word-wrap in continuous text

add " word-break: break-all;" (see the CSS below)

FOR Fixed Header

Refer the 'table-scroll' class in the HTML markup above AND Add the following CSS:

.modal-body {
  /*max-height: calc(100vh - 210px);*/
  height:300px;
  width:90%;
  overflow: hidden;
  word-break: break-all;

}


.table-scroll tbody {
    position: absolute;
    overflow-y: scroll;
    height: 400px;
}

.table-scroll tr {
    width: 100%;
    table-layout: fixed;
    display: inline-table;
}

.table-scroll thead > tr > th {
    border: none;
}

Upvotes: 1

iSR5
iSR5

Reputation: 3498

You're using class .row on one row only :

<tr class="row">
<th class="col-md-7">Header1</th>
<th class="col-md-4">Header2</th>
<th class="col-md-3">Header3</th>
<th class="col-md-4">Header4</th>
</tr>

You either use the same class on each row or just delete it and leave the rows without a class.

<tr></tr>

this would fix your issue.

Upvotes: 1

Johannes
Johannes

Reputation: 67738

1.) The cells in your header tr have Bootstrap classes which add up to a width of 18 columns (7+4+3+4), but one row can only fit 12 columns in the bootstrap grid system.

2.) You write that wordwrap is not applied, but you don't have any CSS rules for wordwrap anywhere.

Upvotes: 1

Related Questions