raduken
raduken

Reputation: 2119

Tables Adjust Row width for th and td

I got stuck on this table aligment in my my data inside the table does not align with the someone can help me on this? Just one thing I can't remove from this it is the height: calc(100vh - 346px);. I'm using this to make the scroll responsive upwards.

can you guys help me? thank you.

The Code (https://jsfiddle.net/wuuf5g87/):

table-scroll tbody {
  overflow-y: scroll;
  display: block;
  height: calc(100vh - 346px);
  width: calc(100% - 70px);
}
.table-scroll tr {
  width: 100%;
  table-layout: fixed;
  display: inline-table;
}
.table-scroll thead > tr > th {
  border: none;
}
 <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>

<!-- Trigger the modal with a button -->
<button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal">Open Modal</button>

<!-- Modal -->
<div id="myModal" class="modal fade" role="dialog">
  <div class="modal-dialog">

    <!-- Modal content-->
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal">&times;</button>
        <h4 class="modal-title">Modal Header</h4>
      </div>
      <div class="modal-body">
        <table class="table table-scroll table-striped" aurelia-table="">
          <thead>
            <tr>
              <th class="col-md-4">Time</th>
              <th class="col-md-4">Event</th>
              <th class="col-md-4">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>00:00:00<i class="fa fa-clock-o pull-right" aria-hidden="true"></i></td>
              <td>
                Call 3:00pm<i class="fa fa-clock-o pull-right" aria-hidden="true"></i>
              </td>
              <td>Rwwwwwwwwww</td>
            </tr>
            <tr>
              <td>00:00:00<i class="fa fa-clock-o pull-right" aria-hidden="true"></i></td>
              <td>
                Call  3:00pm<i class="fa fa-clock-o pull-right" aria-hidden="true"></i>
              </td>
              <td>wwwwwww</td>
            </tr>
                     <tr>
              <td>00:00:00<i class="fa fa-clock-o pull-right" aria-hidden="true"></i></td>
              <td>
                Call  3:00pm<i class="fa fa-clock-o pull-right" aria-hidden="true"></i>
              </td>
              <td>
                wwwwwww
              </td>
            </tr>
                     <tr>
              <td>00:00:00<i class="fa fa-clock-o pull-right" aria-hidden="true"></i></td>
              <td>
                Call 3:00pm<i class="fa fa-clock-o pull-right" aria-hidden="true"></i>
              </td>
              <td>wwwwwww</td>
            </tr>
                     <tr>
              <td>00:00:00<i class="fa fa-clock-o pull-right" aria-hidden="true"></i></td>
              <td>
                Call 3:00pm<i class="fa fa-clock-o pull-right" aria-hidden="true"></i>
              </td>
              <td>
                wwwwwww
              </td>
            </tr>
                     <tr>
              <td>00:00:00<i class="fa fa-clock-o pull-right" aria-hidden="true"></i></td>
              <td>
                Call  3:00pm<i class="fa fa-clock-o pull-right" aria-hidden="true"></i>
              </td>
              <td>wwwwwww</td>
            </tr>
                     <tr>
              <td>00:00:00<i class="fa fa-clock-o pull-right" aria-hidden="true"></i></td>
              <td>
                Call  3:00pm<i class="fa fa-clock-o pull-right" aria-hidden="true"></i>
              </td>
              <td>wwwwwww</td>
            </tr>
                     <tr>
              <td>00:00:00<i class="fa fa-clock-o pull-right" aria-hidden="true"></i></td>
              <td>
                Call 3:00pm<i class="fa fa-clock-o pull-right" aria-hidden="true"></i>
              </td>
              <td>wwwwwww</td>
            </tr>
            <tr>
              <td></td>
              <td>
              </td>
              <td>
                <i class="fa fa-plus pull-right" aria-hidden="true"></i>
              </td>
            </tr>
          </tbody>
        </table>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
      </div>
    </div>
  </div>
</div>

Upvotes: 1

Views: 90

Answers (1)

Sebastian Brosch
Sebastian Brosch

Reputation: 43574

You have to make sure the header <thead> has the same width as the content <tbody>!

solution #1:

You can add the following to your CSS:

.table-scroll thead {
    display: block;
    width: calc(100% - 90px); /** -70px like content and -20px for scrollbar */
}

For this solution you have to remove the col-md-4 on your <th>.

demo: https://jsfiddle.net/wuuf5g87/1/

solution #2:

You can use the following CSS rules:

.table-scroll tbody {
    overflow-y: scroll;
    display: block;
    height: calc(100vh - 346px);
    width: 100%;
}
.table-scroll thead {
    display: block;
    width: calc(100% - 20px); /** -20px for scrollbar */
}

demo: https://jsfiddle.net/wuuf5g87/2/

Upvotes: 1

Related Questions