2011-03-04 19 views
13

Estoy aprendiendo acerca de HTML5, y sinceramente, no puedo decir que estoy realmente impresionado. La semántica es agradable y todo, pero creo que introdujeron nuevos elementos con una línea muy delgada entre ellos, y una línea aún más delgada entre ellos y los antiguos divs.sección Html5 o no a la sección?

Todo está muy claro si lo hace un sitio genérico propósito, como un motor de blogs, portal de publicación de noticias, y similares, pero las aplicaciones web ... estoy teniendo un montón de dilemas sobre nuevos elementos HTML.

Aquí está mi situación. Estoy desarrollando un sistema de pedidos. En la interfaz de vendedores, tengo 3 columnas (en línea), que representan el estado del pedido. Cuando se cambia el estado, el elemento se mueve de una columna a otra (ajax de fondo y manipulación de js).

En Html4 usaría 3 divs y pondría un título con un título encima de cada uno. Los elementos dentro de las columnas también serían divs.

Pero, ¿qué pasa con HTML5? He estado mirando el elemento de sección, pero no estoy seguro de cómo usarlo. Estas son las opciones:

  1. Ponga todo dentro de una sección de - No creo que ese es el camino a seguir
  2. Deja una secciónalrededor de cada uno de la columna divs, y partida en el interior la sección
  3. Reemplazar los divs con secciones
  4. Deja secciones dentro de la columna divs

Por lo tanto, el camino a seguir?

EDITAR: ante todo gracias a todos por sus respuestas rápidas. Al final, probablemente vaya con la sugerencia de Ian Devlins, y ponga cada columna como sección. De todos modos, solo para señalar mi insatisfacción con html5, las múltiples opciones permitidas no siempre son buenas. Me temo cómo será la web html5 en unos años, cuando no podemos estar totalmente de acuerdo en una simple pregunta como esta.

EDIT2: una cosa más. Lo preguntaré aquí, así que no tengo que abrir otra pregunta. Además de estas 3 columnas, tengo otro div que contiene detalles del pedido, cuando se selecciona cualquiera de los pedidos. ¿Debe ser un artículo dado que es contenido autónomo, o para usar una etiqueta aparte?

+1

Solo quería agregar que esta es una excelente pregunta. –

+1

¡Boo eres malo y malo! Debe aceptarlo de todos modos y luego comentar sobre sus reservas al respecto? Con respecto a los detalles de su pedido, un artículo tiene más sentido aquí que algo aparte, ya que el contenido es más que relevante para la página. Dicho eso, un div podría tener más sentido. –

+0

primero, realmente debería comenzar a marcar más respuestas como aceptadas. Dudo mucho que de las 18 preguntas formuladas, solo 7 tengan respuestas decentes. En segundo lugar, si realmente no está seguro de que "este es el camino a seguir", entonces realmente necesita volver a leer mi respuesta porque parece que todavía no comprende el qué, el por qué y el cuándo de las etiquetas HTLM5. – Moses

Respuesta

2

En este caso particular tendria un div general alrededor de ellos, y cada columna como una seccion como cada uno tiene un significado diferente, cada uno de los cuales supongo que tiene un encabezado que indica su estado.

p. Ej.

<div> 
    <section id="col1"> 
     <header><h1>Column 1</h1></header> 
     content.... 
    </section> 
    <section id="col2"> 
     <header><h1>Column 2</h1></header> 
     content.... 
    </section> 
    <section id="col3"> 
     <header><h1>Column 3</h1></header> 
     content.... 
    </section> 
</div> 
+3

Gracias. ¿Pero por qué un * encabezado * dentro de cada * sección *? ¿No son suficientes las etiquetas * h1 * ya que siempre hay solo una * h1 * por sección – ZolaKt

+2

Sí, podría hacerlo, simplemente elegí agregar el encabezado. –

4

div es una etiqueta HTML5 perfectamente válida. Si las nuevas etiquetas no tienen ningún sentido en su proyecto, no se sienta obligado a usarlas.

+0

Lo sé. Pero todo, desde HTML4, es válido en HTML5, así que si me apego a esa filosofía, no lo usaría en absoluto.Pero no puedo distinguir si se supone que los nuevos elementos reemplacen a los divs, o para envolverlos/dentro de ellos – ZolaKt

+0

En su caso, supongo que sus 3 columnas ('div's) probablemente ya estén envueltas en un' div' que podríamos llamar * sección de estado de pedido *; en este caso, podría usar la nueva etiqueta 'section'. Pero los 'div's internos, no son' section', 'article',' footer', etc. por lo que podrían seguir siendo simples viejos 'div's. – madd0

3

Para citar el w3.org espec:

El elemento de sección representa una sección genérica de un documento o aplicación. Una sección, en este contexto, es una agrupación temática de contenido, generalmente con un encabezado.

Y otra cita de la gente W3.org:

El elemento de sección no es un elemento contenedor genérico. Cuando se necesita un elemento para el diseño o como una conveniencia para la creación de scripts, se alienta a los autores a usar el elemento div en su lugar. Una regla general es que el elemento de sección es apropiado solo si los contenidos del elemento se enumeran explícitamente en el esquema del documento.

Dada la definición de section por W3 se puede concluir que su ejemplo podría ser un buen uso de la sección debido a que:

  1. Los elementos tienen una cabecera
  2. Es una agrupación temática de los contenidos
  3. Es parte del esquema del documento.

EDIT: de ampliar su comentario a continuación, los nuevos elementos HTML5 son NO supone para sustituir los viejos elementos HTML4. Por ejemplo, pasar por una página y reemplazar todos los elementos div con elementos section sería totalmente erróneo. El elemento section tenía, en mi opinión, la intención de facilitar a las máquinas el análisis de ciertas páginas (piense: feedburners) dando una estructura más semántica a una página. Después de todo, ¿qué es más fácil de analizar, una página con 30 elementos div, o una página con 10 y 5 footer elementos?

+0

Gracias. ¿Pero puede definir * agrupación temática de contenido *? ¿No se considera una columna con elementos con el mismo estado un * grupo temático *? – ZolaKt

+0

Lo siento, me perdí una parte de su pregunta que era la clave. Tu ejemplo podría usar la etiqueta de sección. – Moses

+0

Ok. ¿Pero puedes ser un poco más específico? * Sección * para cada columna como se sugirió @Ian Devlin, o una sección * de superposición como @madd0 sugerida – ZolaKt

Cuestiones relacionadas