¿Cuál es la mejor manera de organizar muchos archivos HTML-CSS? Estoy haciendo un sitio web con alrededor de 8 páginas y estoy haciendo un archivo CSS para cada archivo HTML. ¿Eso es normal? ¿Qué es una buena estructura de carpetas?

Alguna información general que puede serle útil antes de responder la pregunta:

En el desarrollo web profesional, los archivos HTML generalmente se combinan con un servicio de enrutamiento y un lenguaje de script del lado del servidor (comúnmente PHP o Node.js). Ambos tienen el concepto de vistas o plantillas, que alimentan el HTML compilado de su navegador, puede entender que se ha visto afectado por algún nivel de lógica detrás de él (pero eso generalmente no es directamente evidente). Entonces, en el concepto general, un archivo HTML es una vista que carece de una lógica particular. Se puede usar directamente, pero una vez que te sientas cómodo con eso, debes emparejarlo con un lenguaje del lado del servidor, que es algo que abordaré más adelante en esta publicación.

Puede estructurar sus archivos HTML de la misma manera que lo haría con plantillas o vistas. Ignorar el enrutamiento sofisticado u otros marcos de estructuración pueden obligarlo a hacerlo, hay un principio simple que sigo: agrupe las páginas relevantes por contexto.

Los contextos que usualmente son:

  • el subsistema (coloca todos los archivos relacionados con un algoritmo significativo, es decir, el motor de búsqueda en la misma carpeta “motor de búsqueda”, o tiene algún tipo de calculadora que crea algunas estadísticas “stat-tracker”, etc.);
  • el tema (es decir, estoy escribiendo archivos para ayudar a administrar un producto en un sitio web, por lo que los coloco todos en una carpeta “producto”, y si estoy tratando con el cliente, tendré una carpeta “cliente”, y pronto).

Volviendo a acoplar sus páginas HTML con archivos CSS, hay un problema importante que debe evitarse.

Supongamos que tiene sus 8 páginas hechas, junto con 8 archivos CSS, y desea cambiar algo en el diseño. Tal vez desee que todos sus encabezados h1 tengan un tamaño de fuente diferente. Tal vez vas a cambiar tu color primario. Eso significa que tendría que revisar todos los archivos CSS individualmente y cambiar esa propiedad. Esto no es demasiado difícil en un proyecto pequeño, pero a medida que ganas experiencia, la cantidad de trabajo se convierte en una pesadilla. Entonces, la forma de evitar esto es confiar en el concepto de plantillas:

Cree su trabajo en torno a elementos reutilizables y mantenga un archivo maestro que incluya con su proyecto. Entonces, en lugar de style1.css, style2.css, style3.css, etc., simplemente escriba todo en style.css e inclúyalo una vez en todos los encabezados.

Pero ahora, ¿qué pasa si quieres cambiar style.css a my-cool-style.css? Aún necesitaría revisar 8 archivos HTML para hacerlo. Nuevamente, mucho trabajo cuando su proyecto se hace más grande y tampoco una cantidad insignificante en este momento. Para evitar eso, las personas generalmente crean un archivo de sitio maestro (comúnmente conocido como la plantilla maestra) que incluye los encabezados del sitio (lo que se encuentra entre , generalmente también incluye su CSS), encabezado (generalmente una barra de navegación y / o logotipo) y pie de página (generalmente enlaces a derechos de autor, etc.) de su sitio web.

Por lo tanto, en última instancia, le recomiendo que aprenda a usar dicho archivo, pero para simplificar las cosas, puede mantener su encabezado, encabezado y pie de página en 3 archivos, que incluye según sea necesario en sus páginas. Si necesita títulos dinámicos, puede lograrlo a través de un trabajo adicional, pero manteniéndolo simple, puede omitir la sección de encabezado y mantener ese manual en sus archivos.

En resumen, así es como estructuraría un sitio web muy simple usando PHP para representar a clientes y productos junto con algunas páginas ficticias:

/www/
—— → / index.php
—— → / css / style.css
—— → / incluye / header.php
—— → / incluye / footer.php
—— → /customer/customer-page.php
—— → / customer / customer-dashboard.php
—— → / product / product-page.php
—— → / product / product-edit.php

En index.php, su página de inicio (y bueno, probablemente la mayoría de las otras páginas también), tendría algo como:
<? php include ('/includes/header.php'); ?>
// el resto de tus cosas; incluso puede ser HTML sin formato

En su header.php, tendría algo como:

Después de hacer esta configuración inicial, puede continuar escribiendo HTML sin formato siempre que lo incluya a través de este método. También puede incluir archivos .html usando PHP. Este es todo el PHP que necesitarías para ahorrarte mucho trabajo al confiar solo en HTML puro. Los archivos .php funcionan igual que los archivos .html, por lo que no está obligado a usar más de lo que he escrito anteriormente si adopta este enfoque.

Puede leer más sobre la función de inclusión aquí: incluir – Manual

Finalmente, una cosa más que me gustaría mencionar es que también puede estructurar su CSS de una manera similar si le facilita el desarrollo, pero necesitaría ensuciarse las manos con algo como SCSS para usar importaciones (¡Pero también tiene muchas otras características elegantes!). Le permitiría tener un archivo CSS maestro compilado (lo que le ahorrará dolores de cabeza al escribir encabezados) al tiempo que también tiene archivos individuales que usted, como desarrollador, puede leer rápidamente.

¡La mejor de las suertes para ti! Sé que esta respuesta puede parecer abrumadora, pero obtener un poco de experiencia con un lenguaje del lado del servidor ahora le ahorrará muchos dolores de cabeza al trabajar con HTML sin formato.

Basado en su pregunta, diría que aún no está en JavaScript, y definitivamente no es Node, Angular u otras configuraciones modernas de JS, ni probablemente PHP tampoco …

Como algunos han mencionado, la mayoría de los sitios modernos están construidos en PHP, Node (Angular, Vue, React), Ruby-on-Rails, Java y algunos otros idiomas. Si recién estás comenzando, me aventuraría hacia Node y tu elección de Angular2, Vue o React.

Aprenda Grunt, será un salvavidas para tareas automatizadas como combinar y minimizar, etc. Incluso tengo funciones de gruñido para borrar todo el caché y los registros de mis aplicaciones Yii2 cuando se desarrollan … Es como su compinche que se encargará de las tareas de PITA por usted fácilmente.

PHP es un lenguaje bastante bueno para aprender también. Aprenda los conceptos básicos y asegúrese de leer artículos / tutoriales modernos (es decir, publicados en el último año o dos si es necesario). Elija un marco, como Yii2 o Laravel. La mayoría de nosotros no escribimos el 100% del código, usamos marcos que ya tienen muchas cosas hechas (como inicio de sesión, registro, contraseña olvidada, etc.). Ahorra mucho tiempo y hace que sea mucho más fácil trabajar en el futuro. Los marcos son imprescindibles! Prácticamente cada idioma tiene un marco para elegir.

Si desea seguir con HTML / CSS 100% puro y no quiere meterse en el agua caliente en este momento … Esto es lo que haría:

Tienes que usar un motor de plantillas como Jade o Handlebars (si no estás usando cosas modernas como PHP, Node, RoR …). Nuevamente, hará la vida más fácil. Construiría plantillas y las incluiría en su archivo html. Esto requerirá que aprenda algo de JavaScript. JS se ejecuta en la parte superior de sus páginas HTML para hacer cosas geniales 🙂 Para ser honesto, vaya con Manillares porque seguirá escribiendo mucho HTML usted mismo. Jade toma el control y no aprenderá tanto HTML real de él.

¿Tiene un encabezado, barra lateral o pie de página en su página? ¿Lo repites en los 8 archivos HTML? ¿Qué pasa si necesita cambiar algo, tiene que editar los 8 archivos? Luego use un motor de plantillas para incluir la plantilla de “pie de página”. Si necesita hacer un cambio, edite solo 1 archivo y se modificará en los 8.

Aprendería SASS (así como los conceptos básicos de CSS, no puedo omitir eso). SASS es como CSS en esteroides. Mucha gente usa LESS también, pero creo que SASS es mucho mejor, en mi opinión.

¿Tienes un color de fondo? ¿Qué pasa con un buen color que te gusta usar y odias buscar el código de color todo el tiempo? ¿Qué pasa si desea cambiar la combinación de colores un año después? Con SASS, haces algo como

$ backgroundColor: # 333;
$ wrapWidth: 768px;
body {background-color: $ backgroundColor; }
.wrap {ancho: $ wrapWidth; }

Puede poner todas sus variables, o colores, en sus propios archivos como archivos de configuración. Luego inclúyalos en su archivo maestro SASS. Básicamente, divide su CSS en varios archivos para que sea más fácil de mantener. No puede hacerlo con solo CSS, por eso usamos SASS (o MENOS si es lo suyo).

Amigable para dispositivos móviles: esta ya no es una opción, sus sitios deben estar diseñados para ser aptos para dispositivos móviles, así que comience con ella. Es mucho más difícil convertirlo más tarde, solo comienza con el pie derecho. En mi opinión, olvida todo lo demás y usa Bootstrap. Es el más fácil y el mejor, en mi opinión. Bootstrap es como un marco CSS, pero con él sus sitios funcionarán en todos los dispositivos, cuando se hagan correctamente. Hay nombres de clases para aprender, y contenedores y filas, un montón de cosas “Bootstrap” que lo hacen funcionar. No es realmente difícil de aprender.

Estructura. Realmente no hay una talla única para todos. Hay algunas aplicaciones geniales, como en Yeoman, que preconfigurarán un sitio base para usted. Por ejemplo, “angular-fullstack”. Usted corre desde la línea de comando:

npm install -g yo gulp-cli generator-angular-fullstack

Instalará todo lo que necesita y poof, una pila MEAN funcional (MongoDB, Express, Angular, Node) lista para jugar. Muchos de estos tienen sus propias estructuras. Desea usar algo relativamente simple, como:

– activos
– css
– style.css
– style.min.css
– imágenes
– logo.png
– js
– script.js
– script.min.js
index.html

Agregué “style” y “style.min” para ilustrar que normalmente tenemos 2 variantes. La versión “min” se minimiza (con algo como Grunt) para uso en producción (en vivo). El no minificado es para desarrollo, por lo que podemos inspeccionar el código y encontrar errores más fácilmente porque es difícil trabajar con ellos una vez que se minifican.

Espero que te haya ayudado a guiarte. Consulte los documentos oficiales y acostúmbrese a leerlos. Use Github, hay MUCHO código allí gratis. No reinvente la rueda, si hay una biblioteca que hace lo que necesita, úsela.

Use un preprocesador como Sass o Less. Divide tu proyecto en componentes. Elija una convención de nomenclatura y úsela constantemente. Intenta evitar la duplicación de código. Si hereda una base de código, la mejorará lentamente con el tiempo. No todo sucederá de inmediato.

Sass and Less compila a CSS para que no tenga muchos problemas para venderlo. Si por alguna razón no puede, mire la convención de nombres BEM.

En cuanto a cómo cargar el CSS real, eso depende de su proyecto. Probablemente estés bien con un solo archivo main.css (preferiblemente comprimido). Hay mérito en incrustar los estilos de plegado anteriores en la cabeza, pero eso no es algo que haya visto mucho en la naturaleza.

puedes vincular un archivo de estilo a cada una de tus páginas HTML. No es necesario crear archivos CSS separados para cada archivo HTML.

Si se refiere solo a sitios web estáticos aquí, puede tener su estructura de directorios organizada de la siguiente manera,

Mala práctica


index.html
about.html
… ..
contact.html
style.css
… ..
responsive.css
script.js
… ..
main.js
img1.png
… ..
img10.png
… ..
font1.woff
font2.ttf
… ..
… ..

Buena práctica


plantillas
index.html
about.html
… ..
contact.html
bienes
css
style.css
… ..
responsive.css
js
script.js
… ..
main.js
imágenes
… ..
fuentes
… ..

Esta podría ser la estructura de directorio estándar para su sitio web HTML estático, de esta manera siempre puede extender su base de código sin tener problemas para encontrar los archivos respectivos en su directorio raíz.

Buena suerte.

Creo que al tener un CSS para cada página HTML, tendrás mucha duplicación de código. Tendría una estructura como esta

/carpeta raíz:
– HTML
– CSS
– Imágenes

Tendría un archivo CSS que controla la apariencia principal de todo el sitio, y luego, si cada página necesita algo especial, podría considerar hacer un archivo CSS para cada página o cada sección principal del sitio.

Una cosa a tener en cuenta es que cuantos más archivos tenga, más lento será el sitio web, ya que el navegador debe descargar cada archivo para crear el sitio, por lo que cuantos más archivos, más trabajo tiene que hacer el navegador (esto se mitiga un poco con HTTP2, pero ese es un tema más complejo para un día diferente).

Entonces, cuando piensa en archivos, generalmente desea hacer la menor cantidad posible, con el menor código posible y hacer el mayor trabajo posible. Agrupe la funcionalidad donde pueda, por ejemplo, usar una plantilla común para su navegación, y hacer que cada “página” use esa plantilla en lugar de duplicar esa estructura de navegación de una página a otra.

Cuando ingresa a sitios que tienen miles y miles de páginas / archivos, entonces es importante una buena organización de su sistema de archivos, y generalmente no hay una forma correcta de hacerlo (¡pero hay muchas formas incorrectas!).

Estoy siguiendo esta estructura.

Cambie el nombre de los archivos you.html a .php

ejemplo

header.html => header.php

footer.html => footer.php

index.html => index.php

incluye tu encabezado y pie de página

Este es un concepto basico

Para archivos CSS, colóquelos siempre en una carpeta llamada css. Para archivos JavaScript, colóquelos siempre en una carpeta js. Nombrar archivos CSS y JavaScript individuales para las páginas web a las que pertenecen es excelente, ya que recordará qué página posee ese archivo CSS y JavaScript. Ahora, si tiene una codificación redundante en cada archivo CSS y JavaScript, coloque ese código en un archivo CSS y JavaScript “maestro”. Luego, cualquier código CSS y JavaScript adicional que sea solo para una página web en particular, nombre ese archivo para esa página web. Los archivos HTML deben permanecer en la carpeta raíz del sitio web. Las carpetas css y js también deberían ubicarse en la carpeta raíz, con los archivos HTML. Lo mismo vale para las imágenes. Todos deberían estar en una carpeta de imágenes. ¡Espero que esto ayude!

No, uno o dos archivos css para todo el sitio es la norma más rápida, fácil e industrial.

Le recomiendo que cree, cree una “página prototipo” html con un archivo .css vinculado, luego cree un sitio en DreamWeaver, guarde su prototipo como plantilla. Cree áreas editables en la plantilla, y puede crear un sitio web con 2–200 páginas de forma rápida y sencilla.

Esto es lo que les enseño a mis estudiantes universitarios de primer semestre a hacer en mi clase de Diseño Web 1 en SUNY (State University of NY).

Hago que mis alumnos tomen todas sus notas de clase creando sus “cuadernos de diseño web”

como un sitio DreamWeaver. Puedes ver (y pedir prestado) mi ejemplo de clase en Estructura del sitio

Aquí está la estructura que enseño a mis alumnos:

¡Muchas respuestas aquí (use Dreamweaver; carpetas de nombres con nombres “CSS”, “JS”, etc.) son geniales!
Deberías usar eso que te parece más amigable.

Yo uso esta estructura:

Páginas (en la raíz del sitio):
index.html
page2.html
page3.html
etc.

Carpetas:
> compartido (todos los archivos que comparten todas o muchas páginas)
– styles.css
– scripts.js
– image.jpg

> index (con todos los archivos utilizados solo en la página index.html)
– index-styles.css
– index-scripts.js
– imageB.jpg

> página2 (con todos los archivos usados ​​solo en la página-2.html página)
– page2-styles.css
– page2-scripts.js
– imageC.jpg

> page3 (con todos los archivos usados ​​solo en page-3.html page)
etc.

Desde mi experiencia, es mejor dividir CSS en archivos de componentes. Por ejemplo, tendría un archivo navigation.css o un archivo signup.css. Crear componentes reutilizables y mantener los estilos en su propio lugar lo ayudará a construir su sitio más rápido y con menos estrés. Espero que lo muevas

Es normal si crea un sitio web con varias páginas (8 páginas) con un archivo CSS para cada archivo HTML. También puede combinar todos los archivos CSS en un archivo CSS y luego vincularlo a cada archivo HTML si lo desea o si el tamaño del archivo CSS no es grande. El ejemplo de estructura de carpetas que siempre uso al crear un sitio web:

  • index.html
  • page2.html
  • css
  • index.css
  • page2.css
  • js
    • index.js
    • page2.js
  • fuente
    • abc.ttf
    • def.woff2

    Creo que la estructura anterior es una buena manera de organizar los archivos de su sitio web y evitar confusiones al colocar los archivos que no son HTML en diferentes carpetas.

    La mejor práctica es tener 1 archivos CSS y tener todas sus páginas web para el enlace de su sitio web a esos archivos CSS. De esa manera, si necesita hacer un cambio simple, no tiene que ir a cada archivo CSS individual.

    Para ayudarlo a comprender mejor, hice un video rápido que explica en mayor detalle a continuación:

    ¡Disfrutar!

    Robin.

    No es bueno crear un archivo css separado para cada página, simplemente coloque todo el css en un archivo y puede usar comentarios para identificar páginas relacionadas con css, por ejemplo

    // La página de inicio css va aquí

    algunas reglas css

    // Acerca de la página css va aquí

    o puede usar sass Syntactically Awesome Style Sheets con sass, puede crear diferentes archivos para cada página para el desarrollo, pero para la producción solo habrá 1 archivo.

    Hay algunas buenas maneras de hacer eso.
    En primer lugar, debe tener un único archivo .css para adjuntar con estas 8 páginas html.
    Una vez que haya terminado con el archivo .css, simplemente adjunte el único archivo .css en todas las páginas utilizando el enlace rel en la parte de estilo del html
    Aquí está el concierto de mi trabajo, puedes echar un vistazo y contratarme para este tipo de trabajo.

    El objetivo de los archivos CSS es mantener el estilo centralizado, para obtener un aspecto uniforme. Con eso en mente, no necesitas muchos archivos CSS.

    ¿Estás codificando las páginas tú mismo o estás usando un CMS? ¿Por qué no usar un CMS?

    Hay muchas maneras de estructurar archivos en el desarrollo web. Mi recomendación es construir todo en un módulo. Imagine que tiene una aplicación de carpeta que tiene 8 carpetas en cada carpeta, tiene la vista (html), los estilos (css) y la lógica ( javascript)

    con este enfoque, si necesita usar cualquiera de estos 8 módulos en otro proyecto, simplemente impórtelos

    Espero eso ayude.

    No cree ningún archivo css separado para cada página html, agregue css en la página html.

    …….tu codigo…..

    ... su CSS relacionado con CSS ...

    Eso es.

    Bastante simple, solo crea un único archivo CSS y úsalo en todas las páginas web. Puede usarlo para todo su proyecto web.

    Puede usar un archivo CSS para múltiples archivos html. No es necesario crear múltiples archivos CSS. Mantener un solo archivo CSS es un mejor enfoque.