Ver Mensaje Individual
  #12 (permalink)  
Antiguo 30/10/2010, 05:45
aredsc
(Desactivado)
 
Fecha de Ingreso: julio-2009
Mensajes: 76
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Re: Div o Table: ¿Qué es mejor?

Cita:
Iniciado por buzu Ver Mensaje
Cada quien tiene su opinion, pero (mgware) eso de decir que usar tablas es lo mejor me parece una cosa fuera de si. Todo mundo sabe que usar tablas es para tabu;ar datos no para maquetar webs, a eso se le llama semantica. Usar cada elemento para lo que fue concebido. Usar tablas es old school. No deveria existir esta disucion. Es como decir que es mejor comerte un buen bistek o la suela de tu zapato.... oviamente el vistek siempre sera mejor y eso no quiere decir que la suela de tu zapato no sirva para nada o que nunca la devas usar, solo quiere decir que cada cosa tiene su muy particular uso.

Lo de la velocidad es un tema aparte... pero eso de preguntar 0.01 segundo?
por favor... Senores no importa cuanto ahorres, pero ahorra.

Se save de sobra que maquetar semanticamente y con CSS es la mejor forma de hacer una web y es la mas economica y no me pregunte cuanto ahorraras 0.01 dollar?

Creo que esta vez he sido un poco rudo con mi comentario pero es que me da coraje que aun haya quien ensene que maquetar con tablas es una buen practica....
Lo siento si lastime los sentimientos de alguien

Las tablas fueron concebidas para maketar webs pues existían mucho antes que el css y los div (de html1 a html4) . En ocasiones es muy útil usar una tabla que div ya que puede hacer que SE AHORRE código y dolores de cabeza además de que el comportamiento será el mismo en todos los navegadores, muy preciso, de todos modos se puede usar css para darles cierta flexibilidad.

Si por ejemplo tenemos una página que sabemos que estructura será de tres columnas, top y bottom una opción es esta:

<div id=contenedor-general>

<table id=tabla>
<td id='top' colspan=3> include top.php</td><tr>
<td id=izquierda> .. include left.php. </td>
<td id='centro'> ...include center.php </td>
<td id='derecha'> include right.php ... </td><tr>
<td id='bottom' colspan=3> include top.php</td><tr>
</table>

</div>


Con ese sencillo código ya hemos creado toda una estructura general en poco tiempo, destaco que la tabla se encuentra dento de un div para darle más control al diseño desde el archivo css.

¿que ventaja tiene aquí usar una tabla para esto mejor que un div?

A mi modo de ver la principal ventaja es que es mucho más facil jugar con la posicion, los anchos, bordes, margenes.. etc..

para centrar la página con un ancho determinado, sólamente hay que ponerle un ancho a la tabla y alinearla por ejemplo al centro, darle un ancho fijo al menu de la izquierda y al de la derecha y automáticmente el centro será el resto. Nos evitamos múltiples float y efectos diversos teniendo en cuenta el navegador que sea o versión del mismo ya que las tablas los interpretan todos del mismo modo en todas las versiones ya que forman parte del diseño de html desde un principio.

En cuanto a separar el contenido del diseño, en el código se ve claramente que cada td y la tabla y el container llevan sus propios id para usarlos desde un archivo css y bien delimitado cada archivo php de ejecución.
que podría ser por ejemplo...

top.php (para menus, buscador, accesos usuarios..)
left.php (generalmente para menús)
center.php (mostrar contenidos)
right.php (por ejemplo para mostrar noticias actualizandose usando ajax, publicidad, otros menús)
bottom.php (contadores, créditos,...)

Ahora a partir de aquí todo contenido, o casi todo, que saque dentro de la tabla de estructura general, irá entre divs, spans, listas, etc...

No entiendo el radicalismo del artículo ese de que las tablas están muertas, es mejor el div, etc.... el css con sus div se creó para dar mayor control al dinamismo sobre las páginas web pero las tablas son esncialmente para crear estructuras rígidas, si bien css les ha dado cierta flexibilidad.

cuando NO se puede usar tablas en estos casos es cuando no somos nosotros quienes construimos el código, más bien para cuando el código se genera usando asistentes cms tipo joomla ya que es más fácil hacerlo en forma de elementos div y luego que se apañe el administrador con los css si quiere modificar la plantilla, así es como se ven multitud de páginas cradas con algunos cms donde aparece todo descolocado y desencuadrado.
Además usando una tabla como estructura general garantiza que los buscadores encuentran los contenidos por el orden exacto en que aparecen.

Creo que he dado un buen motivo para que quien quiera use las tablas sin complejos y no tema las críticas de algunos radicales. CSS se creó para darle flexibilidad al HMTL no para aniquilarlo.

Con el ejemplo anterior, probado y reprobado, se ahorra mucho código css ya que lo necesario para moldear lo que aparece en las partes de la tabla por defecto es mínimo, aparte de ahorrarse en versiones para nevegadores y disgustos inesperados.

Decir que usar tablas es de OLD SCHOOL es una tontería muy grande, lo que si diría yo es que usar tablas recurrentemente para todo es crear un código engorroso, pero también que huir de ellas como de la peste es estar ciego, pues no etiquetas son DEPRECATED ni nunca lo serán, son tan básicas, principales, originales y necesarias en HTML desde su creación como los mismos formularios, no son etiquetas prescindibles sustituibles con css.

Al amigo citado, para caminar mejor una suela en el zapato que un bistec.

Salu2.