Domanda

I have a question regarding HTML tables. I created HTML table using Divs. Some cells contain images so they have fixed size. The bottom cell is resizable according to data filled in other box. So, I don't want to use absolute option in this solute. Here's my code:

    <!DOCTYPE html>
<html>
<header>
<style type="text/css">


object
{
    outline:  none;
    display:block;
}
html, body {
    margin:0; padding:0;
    height:100%;
}

.divTable
{
    width: 135px;
    height: 100%;
    display: table;
    float:left;
    background-color:blue;
}
.newDiv{
    position: relative;
    left:135px;
    height:100%;
    width:100%;
    display: block;
    background-color:yellow;
    border:1px solid #BBBDBF;
    border-left:0px;
}
.divTableRow
{
    width: 135px;
    height: 30px;
    display: table-row;
}


.divTableCell
{
    width: 135px;
    height: 30px;
    background: white url('Images/bottom_up.png') 0 0 no-repeat;
    display: table-cell;
    text-align:center;
    vertical-align:middle;
}

.divTableTopCell
{
    width: 135px;
    height: 30px;
    background: white url('Images/top_up.png') 0 0 no-repeat;
    display: table-cell;
    text-align: center;
    border-bottom:1px solid #848385;
    vertical-align:middle;

}
.divTableBottomBox
{
    position:relative; 
    width: 133px;
    height: 100%;
    background-color: #d0d2d3;
    display: block;
    border:1px solid #BBBDBF;
    clear:both;
    }
.divParent{
position: relative;
display:block;
min-height:700px;
min-width:700px;
}

</style>
</header>
<body>
<div class='divParent'>
<div class="divTable">
        <div class="divTableRow">
            <div  id = 'accountDetails' class="divTableTopCell">
                Account Details
            </div>
        </div>
        <div class="divTableRow">
            <div id = 'locations' class="divTableCell">
                Locations
            </div>
        </div>
          <div class="divTableRow">
            <div id = 'users' class="divTableCell">
                Users
            </div>
        </div>
          <div class="divTableRow">

            <div id = 'training' class="divTableCell">
                Training
            </div>
            </div>

          <div class="divTableRow">

            <div id = 'contracts' class="divTableCell">
                Contracts
            </div>
            </div>
            <div class='divTableBottomBox'>
            </div>
   </div>
   <div class='newDiv'>
    Helllo <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
</div>
</div>
</body>
</html>

Any help would be appreciated.

È stato utile?

Soluzione 2

Thank you for the response. I fixed it.

Here's the solution:

<!DOCTYPE html>
<html>
<header>
<style type="text/css">


object
{
    outline:  none;
    display:block;
}
html, body {
    margin:0; padding:0;
    height:100%;
}

.divLeftContainer{
    min-height:100%;
    height:100%;
    display:block;
    background-color:red;
    float:left;
}
.divTable
{
    float:left;
    width: 135px;
    height: auto;
    display: table;
    background-color:blue;
}
.newDiv{
    position: relative;
    left:135px;
    height:100%;
    width:100%;
    display: block;
    background-color:yellow;
    border:1px solid #BBBDBF;
    border-left:0px;
}
.divTableRow
{
    width: 135px;
    height: 100%;
    display: table-row;
    border:0px;
}


.divTableCell
{
    width: 135px;
    height: 30px;
    background: white url('Images/bottom_up.png') 0 0 no-repeat;
    display: table-cell;
    text-align:center;
    vertical-align:middle;
}

.divTableTopCell
{
    width: 135px;
    height: 30px;
    background: white url('Images/top_up.png') 0 0 no-repeat;
    display: table-cell;
    text-align: center;
    border-bottom:1px solid #848385;
    vertical-align:middle;

}
.divTableBottomBox
{
    width: 133px;
display:block;
height:100%;
    background-color: #d0d2d3;
    border:1px solid #BBBDBF;
    border-top:0px;
    margin-bottom:0px;
    bottom:0px;
    }
.divParent{
position: relative;
display:block;
height:700px;
min-height:700px;
min-width:700px;
}

</style>
</header>
<body>
<div class='divParent'>
<div class='divLeftContainer'>

<div class="divTable">
        <div class="divTableRow">
            <div  id = 'accountDetails' class="divTableTopCell">
                Account Details
            </div>
        </div>
        <div class="divTableRow">
            <div id = 'locations' class="divTableCell">
                Locations
            </div>
        </div>
          <div class="divTableRow">
            <div id = 'users' class="divTableCell">
                Users
            </div>
        </div>
          <div class="divTableRow">

            <div id = 'training' class="divTableCell">
                Training
            </div>
            </div>

          <div class="divTableRow">

            <div id = 'contracts' class="divTableCell">
                Contracts
            </div>
            </div>

   </div>
    <div class='divTableBottomBox'>
    </div>
   </div>
   <div class='newDiv'>
    Helllo <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
</div>
</div>
</body>
</html>

Altri suggerimenti

By the looks of it, you are marking up tabular data. If you have tabular table, it is semantically correct to use an actual HTML table. You shouldn’t try to fake it with divs. They're less suited for the task and are semantically invalid.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top