Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Replace HTML Table with Divs

Alright, I'm trying to buy into the idea that html tables should not be used, and that divs should be. However, I often have code that resembles the following

<table>     <tr>         <td>First Name:</td>         <td colspan="2"><input  id="txtFirstName"/></td>     </tr>     <tr>         <td>Last Name:</td>         <td colspan="2"><input  type="text" id="txtLastName"/></td>     </tr>     <tr>         <td>Address:</td>         <td>             <select type="text" id="ddlState">                 <option value="NY">NY</option>                 <option value="CA">CA</option>             </select>         </td>         <td>             <select type="text" id="ddlCountry">                 <option value="NY">USA</option>                 <option value="CA">CAN</option>             </select>         </td>     </tr> </table> 

I want the labels to be aligned and I want the controls to be aligned. How would I do this without using tables?

like image 708
Jacob Adams Avatar asked Mar 31 '09 17:03

Jacob Adams


People also ask

Can I use div instead of table?

So, when creating a table, all you need to do is, instead of the HTML 'table' tag, merely use the 'div' tag and add the corresponding CSS to display a table. Here's an example to walk you through the process of creating a table.

How do I make a div behave like a table?

To make DIVs behave like TABLEs, you have to tell them to behave that way using the display property. The three key values that we'll be using are table , table-row and table-cell . Each element now behaves like it were part of a table. In doing so, it also inherits cell capabilities.

Why should we use div instead of table?

Using div is better than using table because of easy control of the in the design and it can be container for controls than table and the table is mainlt used to group data with simillar structure so it's design is for this task but div is considered as container mainly than table.

Do people still use TABLEs in HTML?

The table element is still the correct way to provide tabular data in a semantically correct way in HTML. So if you use it semantically correct it is fine and not outdated per se.


2 Answers

This ought to do the trick.

<style> div.block{   overflow:hidden; } div.block label{   width:160px;   display:block;   float:left;   text-align:left; } div.block .input{   margin-left:4px;   float:left; } </style>  <div class="block">   <label>First field</label>   <input class="input" type="text" id="txtFirstName"/> </div> <div class="block">   <label>Second field</label>   <input class="input" type="text" id="txtLastName"/> </div> 

I hope you get the concept.

like image 54
3 revs, 3 users 80% Avatar answered Sep 25 '22 02:09

3 revs, 3 users 80%


Please be aware that although tables are discouraged as a primary means of page layout, they still have their place. Tables can and should be used when and where appropriate and until some of the more popular browsers (ahem, IE, ahem) become more standards compliant, tables are sometimes the best route to a solution.

like image 20
KOGI Avatar answered Sep 22 '22 02:09

KOGI