Atma
Atma

Reputation: 29767

table in div goes outside of container in responsive mode

I have a table that is inside of a div. In responsive mode, the table goes outside of the div area and looks like this:

enter image description here

I am trying to have the table move to center in responsive mode. I want it to look like this:

enter image description here

Currently, when the screen width gets small, the table will not get close enough to the left to fit in the container. I do not want the table to go outside of the container.

Does anyone know how I can accomplish this?

.slice-table {
  vertical-align: middle;
  display: block;
  cursor: pointer;
  cursor: hand;
}
.inner {
  width: 50%;
  margin: 0 auto;
  font-size: 6px;
  color: #FFFFFF;
}
.spacer-20 {
  font-size: 0;
  height: 20px;
  line-height: 0;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">

<div class="st-container">
  <div class="st-content" id="content">
    <div class="st-content-inner">
      <div class="container-fluid">
        <div class="row">
          <div class="col-md-7">
            <div class="panel panel-default">
              <div class="panel-body">
                <!-- Progress table -->
                <div>
                  <div class="inner">
                    <table id="Table_01" width="401" height="400" border="0" cellpadding="0" cellspacing="0">

<tr>
	<td width="401" height="400" align="center" valign="middle" bgcolor="#75904A">Cell 1</td>
	
</tr>

</table>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

Upvotes: 1

Views: 3222

Answers (2)

Omar Yafer
Omar Yafer

Reputation: 853

How about adding

overflow-x: auto;

To the div.inner element. Altough I´m not sure if this is what you want. Your CSS would be something like

.inner {
  width: 50%;
  margin: 0 auto;
  font-size: 6px;
  color: #FFFFFF;
  overflow-x: auto; // When the table exceeds the size of the container, the container creates a scrollbar.
}

I took the liberty of adding a second cell for demostrations sake.

.slice-table {
  vertical-align: middle;
  display: block;
  cursor: pointer;
  cursor: hand;
}
.inner {
  width: 50%;
  margin: 0 auto;
  font-size: 6px;
  color: #FFFFFF;
  overflow-x: auto; 
}
.spacer-20 {
  font-size: 0;
  height: 20px;
  line-height: 0;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">

<div class="st-container">
  <div class="st-content" id="content">
    <div class="st-content-inner">
      <div class="container-fluid">
        <div class="row">
          <div class="col-md-7">
            <div class="panel panel-default">
              <div class="panel-body">
                <!-- Progress table -->
                <div>
                  <div class="inner">
                    <table id="Table_01" width="401" height="400" border="0" cellpadding="0" cellspacing="0">

<tr>
	<td width="401" height="400" align="center" valign="middle" bgcolor="#75904A">Cell 1</td>
  <td width="401" height="400" align="center" valign="middle" bgcolor="red">Cell 2</td>
	
</tr>

</table>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

Upvotes: 3

Patrick Mcvay
Patrick Mcvay

Reputation: 2281

Try the img-responsive class on your images like this:

<!DOCTYPE html>
<html>
<head>
    <style>
        .slice-table {
            vertical-align: middle;
            display: block;
            cursor: pointer;
            cursor: grab;
        }

        .inner {
            width: 50%;
            margin: 0 auto;
            font-size: 6px;
            color: #FFFFFF;
        }

        .spacer-20 {
            font-size: 0;
            height: 20px;
            line-height: 0;
        }
    </style>
    <meta charset="utf-8" />
    <title></title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
</head>
<body>


    <div class="st-container">
        <div class="st-content" id="content">
            <div class="st-content-inner">
                <div class="container-fluid">
                    <div class="row">
                        <div class="col-md-7">
                            <div class="panel panel-default">
                                <div class="panel-body">
                                    <!-- Progress table -->
                                    <div>
                                        <div class="inner">
                                            <table id="Table_01" class="table-responsive" width="401" height="400" border="0" cellpadding="0" cellspacing="0">
                                                <tr>
                                                    <td colspan="38">
                                                        <img class="slice-table img-responsive" src="{% static 'shared/app/images/floor-plan/floorplan_01.png' %}" width="400" height="4" alt="">
                                                    </td>
                                                    <td>
                                                        <img class="slice-table img-responsive" src="{% static 'shared/app/images/floor-plan/spacer.gif' %}" width="1" height="4" alt="">
                                                    </td>
                                                </tr>
                                                <tr>
                                                    <td rowspan="48">
                                                        <img class="slice-table img-responsive" src="{% static 'shared/app/images/floor-plan/floorplan_02.png' %}" width="2" height="395" alt="">
                                                    </td>
                                                    <td width="61" height="48" colspan="3" rowspan="3" align="center" valign="middle" bgcolor="#75904A">Cell 1</td>
                                                    <td rowspan="5">
                                                        <img class="slice-table img-responsive" src="{% static 'shared/app/images/floor-plan/floorplan_04.png' %}" width="2" height="50" alt="">
                                                    </td>
                                                    <td width="58" height="48" colspan="3" rowspan="3" align="center" valign="middle" bgcolor="#75904A">Cell 2</td>
                                                    <td colspan="27">
                                                        <img class="slice-table img-responsive" src="{% static 'shared/app/images/floor-plan/floorplan_06.png' %}" width="212" height="2" alt="">
                                                    </td>
                                                    <td width="62" height="206" colspan="2" rowspan="24" align="center" valign="middle" bgcolor="#75904A">Cell 3</td>
                                                    <td rowspan="48">
                                                        <img class="slice-table img-responsive" src="#" width="3" height="395" alt="">
                                                    </td>
                                                    <td>
                                                        <img class="slice-table img-responsive" src="#" width="1" height="2" alt="">
                                                    </td>
                                                </tr>
                                            </table>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>



</body>
</html>

Upvotes: 0

Related Questions