Pues eso me pregunto yo.
En todos los tutoriales web te enseñan que tanto las paginas de estilo como los script se deben llamar en el head de nuestra pagina.
Pero aun no he leeido a nadie que explique porque esto tiene que ser así, cuando llamándolas desde el body también funcionan.
Alguien que pueda arrojar luz a esta cuestión?
Gracias de antemano.
la respuesta es sencilla los navegadores leen de arriba a abajo con lo cual si tienen que cargar una librería de estilo o de javascript es mejor que lo pongas en el en head, pero tanto los script como los estilos los podrías poner inline sin ninguna dificultad.
No olvidemos que todo en la vida es basado en estructuración, la cual es concebida tras años de desarrollo. En lo que nos convoca, lenguaje web, no es la excepción.
Considera que el armado de una web no depende solo de la ubicación de etiquetas, es una instrucción que entregamos a los navegadores para que muestren la información.
Como te señala Lantiga, las etiquetas trabajan así, idealmente. Podría ser de la otra forma, sin embargo si hablamos de comunicación entre navegadores e instrucción en código, debemos seguir las directrices elaboradas con cientos de consideraciones por desarrolladores mucho ántes que nosotros lo supiésemos.
Entregar información desordenada, sería como hablar español pero con dislexia vocal, je, je. [:D]
Saludos.
Gracias por la respuesta.
El caso es que trabajo desde hace poco con "Codeigniter" que como sabéis es un framework con estructura MCV. Entonces, para las vistas me gusta tener una plantilla y luego ir rellenandola con otras. Por eso, si un script pertenece a una de esas vistas, lo cargo con esta y por lo tanto, al inspeccionar el código de la pagina, aparece con <script>'s dentro del body.
No se si este procedimiento es correcto, pero creo que es la mejor manera de tener estructuradas mis vistas. Así que si no hay ningún problema de funcionalidad (por lo que respondéis no lo hay) seguiré haciéndolo así.
Supongo que se podrá hacer de una forma mas profesional, pero la verdad es que no se me ocurre. Acepto sugerencias.
Indagando un poco mas, e averiguado que si pones una declaración de estilos en el body de una pagina, no pasa la validación 3WC, por lo tanto no debe ser muy correcto, sin embargo no hay problema donde pongas un script.
Genial!!! ;)
Una anotación aparte, es recomendable poner los scripts al final de la página, antes de </body></html> para hacer que la página cargue mas rápido, dado que si tienes un script muy pesado en el head, no se cargará el contenido del body hasta no se haya cargado dicho script, si lo pones al final, primero se carga y muestra la página al usuario y luego se cargan los scripts.
Si bien originalmente se ponían los scripts en el head, es una tendencia actual dejarlos para el final de manera de mejorar la experiencia de usuario.
En el caso de los estilos, es conveniente ponerlos en el head para que el contenido que se cargue del body ya esté estilizado, sino se mostrará primero de una manera y cuando llegue a cargar los estilos se modificará la forma en que se ve la página, lo que tampoco esta muy bueno para los usuarios.
Espero te sirvan la info
Saludos!
Ah, una aclaración, cuando digo llamar los css o javascript desde el body, no me refiero a escribir el código EN el body, sino a llamar a los archivos desde ahí, en el caso que recomiendo de los script, sería <script src="mi-javascript.js" ...></script>
Saludos