HTML ha estado evolucionando durante mucho tiempo.
Inicialmente, HTML era solo una forma de marcar texto normal (“este texto está en negrita”, “este texto está en cursiva”, “este es un hipervínculo a otro documento con texto”). Luego comenzó a obtener más estructura visual (imágenes, tablas, etc.) que condujo a un montón de elementos nuevos.
Finalmente, las personas estaban diseñando sus páginas web creando tablas para diseñar contenido, similar a los periódicos, etc. Para acomodar a las personas en el diseño de sus páginas web más allá de piratear con tablas e imágenes, se creó CSS, que permitió a las personas agregar mucha variación a los elementos más allá de lo permitido a través de atributos (que en ese momento era la única forma de controlar la apariencia).
- Cómo obtener datos de origen de vista de pestaña del navegador en PHP
- Cómo practicar una buena programación y convertirme en un buen programador si las cosas están mal en mi empresa actual
- ¿Dónde puedo encontrar un buen desarrollador de Ruby on Rails para una reconstrucción completa de un sitio de comercio electrónico?
- Cómo convertir la hora estándar del Pacífico a la hora estándar de la India
- ¿Qué lenguajes de programación debo aprender para hacer un sitio web similar a eBay?
Una vez que se introdujo CSS (junto con los atributos de estilo y clase ), hubo por primera vez un caso de uso para elementos genéricos que no tenían un aspecto predefinido. Esto es cuando se introdujeron y
Una vez que se redactó HTML 5, los desarrolladores web comenzaron a exigir formas más semánticas para marcar su contenido. Aparecieron elementos como , y
Hoy el mundo web es muy diferente de lo que era. La gente apenas sabe sobre el elemento , o sobre el atributo bgcolor . Pero en aras de la compatibilidad con versiones anteriores, todavía existen. Y también lo hace
Si desea escribir HTML realmente semántico, puede usar muchos de los nuevos elementos HTML 5 (hay
Related Content
¿Cuál es el mejor instituto de formación de diseño web en Ludhiana?
¿Cómo es el tutorial PHP W3Schools?
¿Cómo pueden los componentes React que se cargan a pedido?
Cómo iniciar mi propio sitio web y poner anuncios en él para generar ingresos
¿Cómo es que ninguna de las nuevas empresas tecnológicas está usando ExtJS para el desarrollo web?
Div
s existen para denotar una “división” de marcado. No tiene significado semántico.
¿Por qué lo usamos?
Hay dos razones por las que deberíamos usar el div, con la llegada de HTML5 y CSS3:
- Lograr la presentación de un contenido en particular no se puede hacer sin un contenedor Y
- No hay un elemento semántico apropiado para usar.
La especificación misma incluso dice:
Se recomienda encarecidamente a los autores que vean el elemento div como un elemento de último recurso.
Entonces, lo siento si es un último recurso, pero tendrás que culpar a los límites de CSS y al avance del lenguaje humano por eso.
Haciendo de todo un div
Me parece que lo único que tendría que suceder para que esto funcione en los navegadores es que los navegadores podrían comenzar a interpretar cada elemento sin una definición de elemento html existente que implique
ahora en desuso vuelve. Lo que tienes es el Navegador A convirtiendo tu
en un
div
, y el Navegador B dejándolo como un
. Eso no va a volar; Ya es bastante malo que los navegadores sean diferentes con sus implementaciones CSS, JavaScript y DOM. ¿Ahora también tienen que ser diferentes con su HTML?
Hacer de todo un
div
interrumpiría nuestra capacidad de introducir nuevas especificaciones de elementos.Presentación
Actualmente, cuando el navegador ve un elemento que no reconoce, lo trata como undiv
. Es decir, no recibe un estilo especial, está configurado paradisplay:block
de forma predeterminada y hereda los márgenes y rellenos que debería de otros elementos.Esto podría ser completamente compatible con versiones anteriores; para los selectores CSS y jQuery, etc., “div.hero-img” aún podría funcionar, y sería la sintaxis necesaria para seleccionar los elementos.
CSS ya es compatible con versiones anteriores. Crea un elemento
en su navegador, puede aplicar estilo al nombre del elemento. CSS no se preocupa por el marcado que usa. Confía en mí: http://codepen.io/paceaux/pen/RW …
El DOM
Aquí hay un experimento divertido que puedes probar. Ejecute esto en la consola de su navegador:var d = document.createElement ('div'); var f = document.createElement ('foo'); para (var prop en d) { console.log (prop); } para (var prop en f) { console.log (prop); }O, si te gusta la gratificación instantánea, tengo la respuesta: divs vs elementos creados
¿Que notaste? Su elemento
div
y su elementofoo
tienen las mismas propiedades y métodos.TL; DR
El navegador ya trata los elementos no reconocidos comodiv
s. Simplemente no los convierte endiv
s.La conversión implícita de un elemento no reconocido en un div va a pisar los pies del progreso semántico cuando Chrome muestra
mientras que Microsoft Edge / Safari muestra
.
ATA
Los Divs son elementos contenedores genéricos específicamente para el uso de elementos sin aplicarles ningún significado semántico, lo que los hace excelentes para anidar, agrupar y habilitar diseños que pueden requerir más que solo los elementos semánticos de su contenido para ser diseñados o estructurados como deseado. No desea aplicar el significado semántico cuando no lo desee, y los div son la solución (muy necesaria) para ese problema.
Si está buscando elementos genéricos implícitos en los que pueda invocar su propia semántica utilizando cualquier nombre de “clase” que se le ocurra, lo que está hablando es XML. Ya funciona exactamente así, y es bastante popular para muchas cosas, especialmente la transferencia de datos. Sin embargo, se ha demostrado que es menos popular y utilizable para la creación de páginas web, donde la familiaridad con el suministro relativamente limitado de elementos fue algo que hizo que aprender, descubrir y comprender HTML fuera mucho más accesible.
No hay mucho beneficio de hacer que los divs estén implícitos y tener elementos de cualquier nombre de la forma en que XML lo hace, porque eso hace que la tecnología de asistencia entienda mucho más la semántica de su contenido. Estas herramientas, utilizadas por personas con una gran variedad de discapacidades, se basan en un alcance de semántica consistente y predecible para ayudar a explicar y diferenciar el contenido para sus usuarios. Cuando todos y cada uno de los elementos pueden ser significativos o no, comparativamente, pero no se sabe cuál es, las páginas web se vuelven inutilizables e inaccesibles para grandes grupos de personas.
Entonces, la respuesta a su pregunta de por qué esto no ha sucedido, ni lo hará, es que no mejora la estructura o el contenido de la web; solo lo empeora.
Un div implícito podría parecer tener más claridad en este momento congelado, pero hacer una suposición a largo plazo basada en el uso actual sería un caso clásico de optimización prematura.
Algunos pensamientos dispersos sobre por qué esto es así:
– las clases no son identificadores. Un div, como cualquier otro elemento, puede tener múltiples clases aplicadas. ¿Cómo sería eso en esta nueva sintaxis? Estarías reemplazando la verbosidad con la complejidad. No es una buena compensación.
– susurros, “(ya lo tenemos)” Hecho disimulado: los navegadores siempre han podido diseñar etiquetas no válidas. Al menos ya en HTML3.2, uno podría mezclar bits aleatorios de XML básico y aún tener CSS reconocerlos en la cascada de estilo. Más tarde, a medida que XHTML se hizo popular, uno podía usar DTD y XSL para personalizar legalmente su marcado. No he probado esto en ningún navegador moderno porque ahora me estoy ahogando en una semántica HTML5 + no estructurada, pero apuesto a que todavía funciona.
– Rompe la compatibilidad futura. Entonces Chrome 52 decide agregar su propia etiqueta de propuesta html6 llamada “
– componentes web. Están llegando y tienen numerosos rellenos de código abierto de JavaScript disponibles en este momento. Por lo tanto, esencialmente podría escribir
Semántica. Si pudieras definir un elemento como ese, habría 400 elementos, todos con diferentes estilos y nombres diferentes. Ahora hay etiquetas
El elemento HTML
(o Elemento de división de documento HTML) es el contenedor genérico para el contenido de flujo, que no representa nada inherentemente. Se puede usar para agrupar elementos con fines de estilo (usando los atributos de clase o id), o porque comparten valores de atributo, como lang. Debe usarse solo cuando ningún otro elemento semántico (comoo
El punto es que los divs son genéricos y, por lo tanto, pueden usarse para una gran cantidad de propósitos.
No tengo la razón, pero tengo la solución. Si solo quiere omitir tener que escribir divs todo el tiempo, simplemente consulte jade. Jade es html lo que sass es css. En jade, la etiqueta predeterminada implica ser un div, por lo tanto:
.hero ¡Hola! se convierte en
More Interesting
¿Cómo es compatible un navegador web con la empresa que lo creó?
¿Ruby on Rails me ayudará a comprender muchos conceptos de programación?
Cómo contratar buenos desarrolladores de laravel en Pune
¿Cuáles son las mejores citas sobre programación y / o tecnología?
¿Cuál es la mejor manera de controlar los ataques en la URL del administrador de WordPress?
¿Necesito CPU de gama alta para diseño web?
¿Cuánto puede ganar un profesional independiente con solo HTML y CSS?
¿Dónde y cómo se puede comenzar a aprender a construir sitios web?
¿Cómo puedo desarrollar un servicio web de descanso si ya tengo el cliente de ejemplo en JavaScript?
¿Cuál es la diferencia entre un error de caché y un acierto de caché?
¿Cuál es el código PHP para el motor de búsqueda?
¿Cuáles son las mejores herramientas de seguimiento de tiempo y facturación para agencias digitales?