Te explico lo como hacer un layout básico en pocos tweets.
Hagamos este layout...
🚀 RT para salvar un colega
🧵 [1/13]
El primer paso es crear el #HTML. Es solo un padre con tres hijos. Nada fuera de lo común.
[2/13]
En el #CSS lo primero que hacemos es agregar width y height al 100% al <body> y <html> para que nuestro layout ocupe toda la página. Y bordes a los elementos hijos.
[3/13]
Para definir el grid, al padre (.page) le ponemos display: grid.
El resultado son el header, aside y main apilados uno arriba del otro ¿Por qué?, bueno porque ni él .page ni sus hijos tienen height o contenido que los haga ocupar espacio.
[4/13]
Agregamos height del 100% al .page y con esto vemos los hijos.
Por defecto el grid crea los espacios con el mismo height y el mismo width, porque eso se lo tenemos que definir con filas y columnas.
[5/13]
Primero vamos a definir columnas con la propiedad grid-template-columns: 250px 1fr.
Los valores de esta propiedad separados por espacio representan el ancho de cada columns en el grid, dos valores hacen dos columnas, tres valores, tres columnas y así.
[6/13]
La primera columna es 250px y la segunda 1fr.
fr es una unidad de CSS que significa "fracción" que representa una fracción del espacio disponible.
Por ejemplo si el .page mide 1000px como la primera columna mide 250px la segunda (1fr) va a ser 750px.
[7/13]
El resultado, todavía no es el esperado. ¿Por qué?
El grid tiene definida 2 columnas, pero tiene 3 hijos. Por lo que los dos primeros hijos (header y aside) toman las 2 primeras columnas de la primera fila, pero el tercer hijo "se va" a la segunda fila.
[8/13]
Para arreglar esto tenemos que hacer que el header ocupe las dos columnas de la primera fila
Lo hacemos con la propiedad "grid-column" el valor representa los tracks que queremos que ocupe separados por "slash", en este caso el header va del 1 al 3.
[9/13]
Ahora necesitamos que él <header> mida 100px de alto, para esto tenemos que definir filas.
La propiedad grid-template-rows nos permite definir el alto de las filas y funciona igual que las columnas, lo ponemos en 100px 1fr.
[10/13]
En el diseño tenemos "margenes" entre los elementos, para hacer esto usamos otra propiedad de grid que se llama "gap" que nos permite poner un espacio entre cada elemento del grid.
[11/13]
¡Listo! ya hiciste un layout básico con #CSSGrids.
🚨 NUNCA digas "NO" cuando en una entrevista te pregunten:
¿Tienes preguntas?
➡️ Quizás no sea una inocente pregunta y es para probar si tienes interés.
💬 Algunas ideas de preguntas, HILO 🧵
#devjobs #codenewbie #100daysofcode
¿Cuántos son en el equipo?
¿Cuál es el tech stack?
¿Usan agile, waterfall, otro?
¿Qué control de versiones?
¿Tienen unit e integration tests?
¿Cómo se componen los equipo?
¿Qué sistema de tracking usan?
¿Qué herramientas de comunicación?
¿La mayoría utiliza mac o windows?
¿Cómo evitan el burnout de los empleados?
¿Cómo miden el éxito de una persona en esta posición en sus primeros meses?
¿Cuánto tiempo pasa desde que aprueba un feature hasta que ese código llega a producción?
¿Podría nombrar tres metas de este año del equipo?
Hay 5 herramientas que yo uso en todos mis proyectos #web.
1. Iconfinder 2. Un generador de #css gradientes 3. Descargar y usar Google Fonts como Web Fonts 4. Y un lorem ipsum para imágenes 5. La mejor documentación
Acá el thread 🧵
#codenewbie #100daysofcode #webdeveloper
Para descargar iconos uso puedes descargarte los iconos en #svg o png hasta 512px y hay muchos iconos gratuitos de calidad. 1/5iconfinder.com
Nunca me he aprendido la sintaxis de #css gradients así que esta herramienta me permite generar el código con una interfaz bien bonita: 2/5cssgradient.io
🙃 ¿Te quedas pegado cuando intentas hacer un proyecto de #programacion?
😉 Te explico un método para salir de esa pega y evitar la frustración.
🧵 THREAD
🧠 Cuando no puedes arrancar es porque estás viendo la aplicación como una sola tarea gigante y tu cerebro está tratando de resolverla, pero en realidad lo que debes hacer es resolver muchas tareas pequeñas.