2011-11-26 16 views
7

¿Cuál es la mejor práctica para desarrollar un diseño? Es mejor limitar los divs? Estaba mirando a través del html/css de algunos sitios populares y todos parecen tener divs dentro de los divs. Por ejemplo, un div para toda la página, un div para la barra superior, un div dentro de la barra superior para el logotipo, barra de búsqueda, etc.Disposición con divs ... ¿puede tener demasiados?

¿Es esta una buena práctica? Supongo que es más fácil ubicar todos los divs correctamente y colocar los elementos necesarios dentro de los divs. Es lo que he estado haciendo hasta ahora pero quiero asegurarme de estar aprendiendo el enfoque correcto.

Se agradece cualquier ayuda sobre esto. ¡Gracias!

+0

Lo leí rápidamente hoy e investigué un poco más sobre 'divitis', encontré este artículo y ¡vale la pena leerlo! http://www.yourinspirationweb.com/en/why-tables-and-divitis-make-your-site-inaccessible/#comment-8130 – Dan

Respuesta

11

Use <div> s cuando necesite divide (para eso se supone que se usan las secciones div) de su página. Encabezado/pie de página del contenido, por ejemplo, o publicaciones individuales en un blog.
Sin embargo, no debe usarlos cuando semánticamente otro elemento tenga sentido.

Si el archivo en el blog mencionado anteriormente solo mostraba un resumen de dos líneas de cada publicación en el archivo, una lista ordenada podría tener más sentido ya que está definiendo una lista de elementos que están en orden. Los elementos <li> también son elementos de bloque y se pueden diseñar de la misma manera.

A veces, tendrá sentido anidar <div> etiquetas, y a veces no deberías.
Como prueba básica, imagina que tu página está siendo analizada por un lector para un usuario con discapacidad visual. Necesita saber qué hay en cada nodo del documento para poder anunciarlo correctamente. No le importa cuáles sean sus necesidades visuales de CSS, solo quiere analizar el discurso con la mayor precisión posible.

puntos básicos a tener en cuenta:

  • Escribe el código HTML principalmente para la estructura no visuales
  • la persona que ve su sitio web no podría estar usando el CSS
  • la persona que ve su sitio web no puede estar usando una navegador web convencional
  • Siempre puede modificar su estructura si el CSS no funciona, siempre que siga siendo el mismo semánticamente.
+0

Gracias esa información. Fue útil. Parece que div en divs podría ser útil estructuralmente entonces. Sin embargo, ¿es excesivo lo que veo que Google y Facebook están haciendo con su html? Por ejemplo, vaya a cualquiera de sus htmls de encabezado (tomemos FB por ejemplo) y verá una identificación div específica para su logotipo, barra de búsqueda, iconos del lado izquierdo, iconos del lado derecho, etc. ¿Es el beneficio? a esta mejor estructura? En lugar de tener todos estos elementos colocados dentro del div un encabezado? – jstacks

+1

Google y Facebook deben cumplir con todos los tipos de explorador web que cualquiera pueda usar, incluido IE6, la perdición del desarrollador web. Por lo tanto, tienen que empaquetar grandes cantidades de hacks específicos del navegador en sus páginas para tener un renderizado consistente, también conocido como los "ajustes" que mencioné. Probablemente no necesite hacer este tipo de cosas, ya que IE6 es en gran medida ignorable en estos días. Depende de quién va a usar su sitio web. –

3

A <div> por definición es un elemento sin sentido, por lo que no importa cuántos de ellos tenga.

Sin embargo, debe tener <div> s en su página, siempre que tenga sentido, y no usarlos si hay elementos más adecuados para el trabajo (semánticamente).

<div>This is a paragraph of text</div> 

en realidad debería haber

<p>This is a paragraph of text</p> 

y tal.

+0

Eso tiene sentido. Cuando sea posible, me aseguraré de usar el lenguaje semántico para especificar algo en lugar de div, ya que el div se debe usar para estructurar. Supongo que quiero asegurarme de no estar "demasiado estructurado" (consulte mi comentario a la otra respuesta anterior sobre cómo ver a FB, Google y muchos otros sitios usando divs dentro de los divs para estructurar su contenido, quiero hacer seguro que ese es el enfoque apropiado). – jstacks

2

Hay un nombre para este tipo de "código olor" en HTML: Divitis.

Debe ampliar su conocimiento sobre los significados semánticos para las etiquetas en HTML. Puede comenzar leyendo this article, pero está más centrado en html4.01 y xhtml. Hay varias etiquetas nuevas en HTML5 y pocos cambios en el significado semántico de las etiquetas HTML4 existentes.

0

La gran pregunta es generalmente si se usan divs o tablas. Las tablas crean muchos dolores de cabeza, algunos de los cuales no se pueden evitar. Pero los divs también pueden tener sus problemas.

Independientemente de lo que utilice, el nivel de anidación puede dificultar la comprensión de la página. Por lo tanto, debe favorecer los niveles más bajos de anidación necesarios. Al mismo tiempo, intentar esforzarse para no anidar también puede dificultar la comprensión del HTML.

+3

Creo que muy pocos diseñadores web modernos competentes usan tablas para cualquier cosa que no sean datos tabulares. Es inexacto plantear esta dicotomía. – bookcasey

+0

Trabajo en un campo que implica analizar y cambiar el HTML para sitios web de clientes, muchos de los cuales son importantes minoristas. Me encuentro con el mal uso de las tablas con frecuencia. – dnuttle