Construcción de Pantalla de Confirmación de Email Enviado
7/22
Recursos
Ahora construiremos la pantalla en la que el email ha sido enviado reutilizando el código. Como recomendación, empieza creando la versión responsive del proyecto.
Código HTML
<div class="login">
<divclass="form-container"><imgsrc="./logos/logo_yard_sale.svg"alt="logo"class="logo"><h1class="title">Email has been sent!</h1><pclass="subtitle">Please check your inbox for instructions on how to reset the password</p><divclass="email-image"><imgsrc="./icons/email.svg"alt="email"></div><buttonclass="primary-button login-button">Login</button><pclass="resend"><span>Didn't receive the email?</span><ahref="/">Resend</a></p></div></div>
Nuestro proyecto es responsive, es decir, se adapta a diferentes tamaños de pantalla. Para lograrlo implementamos media queries.
@media (max-width: 640px)
Los estilos que se encuentran fuera son para desktop.
Los que están dentro aplicarán cuando el viewport sea menor a 640 píxeles.
Existe otra forma de maquetaciónresponsive que es justo a la inversa. Primero pensamos en los estilos para móviles y luego vamos “subiendo” hasta llegar a web. Esto se conoce como Maquetación Mobile First. Cliquea para ir al curso.
Uso de Figma
Ingresando al diseño en esta plataforma podrás hacer clic sobre los diferentes elementos y ver su código css. Incluso se te permite copiarlo. Claro está, si deseas practicar es mejor que tú no lo memorices y escribas el código css.
Recuerda que para poder hacerlo primero debes crearte una cuenta en Figma.
Luego abre este link y selecciona la opción “Open in Editor”
Haciendo esto, también dispondrás del texto que lee el usuario.
Si te gustaría dominar esta herramienta puedes completar los siguientes cursos:
¡Hola! El problema del final del video se soluciona volviendo a darle en el icono para ver de manera “Responsive” (El icono al lado izquiero del inspector donde dice “Elemento”)
solo es cuestión de darle una vez y si sale el scroll lateral solo denle otra vez (esto le quitará la vista mobile) y le vuelven a dar para volver a activarla y ya quedaría 😄
Hola siquieres evitar tener que escribir <div class=“taat”> </div>
Con visual Estudio Code lo puedes lograr escribiendo solo
.email-image y das enter y ya se te pone solo
Intentalo y dime si te funciono 😃
Un tip útil que aprendí en el curso de Resposive desing en cuanto a figma es que puedes seleccionar y copiar los textos directamente en el lado derecho del diseño de esa forma optimizas tiempo al copiar y aseguras que queden igual 😄
Creo que una de las cosas más importantes para desarrollar como frontend developer es afinar el ojo para que al ver los diseños que te piden, ya en la mente vas estructurando e identificando que elementos y componentes vas a necesitar crear
Antes de tomar este curso ya había visto el definitivo y practico de HTML y CSS y luego el de Responsive Desing son excelentes si quieres aprender mas y me han ayudado mucho para este curso, estoy creando el proyecto utilizando un solo archivo de CSS aparte como reto personal, es complejo a veces el tema de nombrar correctamente las clases para rehusar el código que es fundamental, les comparto mi repositorio en github donde estaré subiendo todo el curso
Hola a todos, Noto que Stefany transcribe los textos ya que en el diseño entregado no permite copiar y pegar. esto podria ser algo engorroso cuando tengamos paginas com mucho mas contenido escrito. Afortunadamente como los diseños estan hechos en figma lo que se debe hacer es lo siguiente:
Logearse o crear una cuenta en figma como se ve en la imagen
Sobre el diseño en el nombre del archivo en la opcion desplegable seleccionar la opcion (Open in Editor) como se ve en la imagen
Finalmalmente una vez abra el diseño en el editor podemos ubicarnos en cada elemento y compiar el texto, como se ve en la imagen
Traté de armarlo solo antes de ver el video, hubieron cosas que fueron surgiendo y tratando de seguir un razonamiento según lo viso y lo que fui encontrando de info (en su mayoría en ingles) quedó bastante bien… luego observé la clase para pulir detalles.
Muy satisfactorio el resultado y el tiempo dedicado 😃
Así quedo mi pantalla de Email, la estoy construyendo en base a una marca que creamos con mi familia durante la pandemia (ya no trabajamos en ella pero le teníamos mucho cariño)
Hola, quiero comentar que Visual Studio tiene una extensión que se llama “live server”, esta extensión ayuda a que el proyecto html se actualice en tiempo real una ves se guarden los avances en Visual Studiio.
Solo tienen que abrir el archivo html a traves de VS, y en la parte inferior le presionan donde dice go-live
consejo para los que estamos iniciando no hagan lo de copiar y pegar es mejor hacer nuevamente nos hacer practicar y entender mas que hacemos y porque lo hacemos.
Es bueno que a las imagenes siempre le coloquen el atributo width y height con valores definidos ya que si no van a penalizar el sitio en el performance. Por ejemplo:
Esto se soluciona con el atributo height y width por valores explícitos:
<figure class="generic-image">
<img
class="generic-image__picture"src="./assets/icons/email.svg"
alt="ícono de un email"
loading="eager"width="150"height="31"
/>
</figure>
Por otro lado, el atributo loading funciona para mejorar el performance también al realizar lazy loading de las imágenes.
Otra solución muy habitual para no corregir la regla de form-container, se encapsula el div que se desea centrar (email-image) en otro div el cual se le otorga el 100% del width y se le centra el contenido, es decir el div que contiene la imagen
HTML:
Soy Novato, voy a la par de dos rutas con otros temas que he visto, pero creo que el curso, tiene algo mal y primero usar solo div, no es buena practica, segundo los estilos los están cargando todos dentro del html, cuando se deberia crear una carpeta css/style.css etc!
Yo tenía el error de que ponía porcentajes a los contenedores hijos para que me centrara el contendido supuestamente, pero en vez de ello me lo alineaba a la izquierda…entonces vi que la prof agregaba ello en pixeles y si se centraba. Más lo hacia para el responsive como los contenedores padres pero toca manejarlos manualmente con px 😅
al inicio de la clase me pareció intimidante, pero intenté trabajar el diseño, y la experiencia fue mucho mejor, la frustración es natural, pero intentar e intentar es la mejor herramienta que podemos tener.
una excelente clase, muchas herramientas super cheveres para aprender a profundidad
Me gustan mucho estas clases en cada una se aprende algo nuevo y se refuerzan tematicas… ademas de los aportes que hacen los compañeros…Es de considerar ya teniendo las bases de cada clase anterior intentar desarrollar solo el contenido de la clase actual antes de verla… Y aunque por este tipo de proyecto podemos reutilizar lineas, para adquirir las habilidades es mejor escribir nuevamente cada una.
Me gustan estas clases practicas, intentemos escribir el código sin copiar para adquirir memoria de recordación respecto a los elementos y saber en qué contextos usarlos
Estos son mis apuntes de esta clase:
*Puedes utilizar la estructura HTML y CSS de la anterior clase para agilizar su desarrollo.
Para escribir el parrafo anterior considerar las etiquetas p, span y a.
!! Faltaría centrar adecuadamente la imagen.
Con display:flex; justify-content: center; y align-items: center; podrás poner un div encima del otro, alinear los items y centrar una imagen encima de la otra.
Con form-container justify-items; center; para centrar todo lo que contiene esa clase.
Dejo mi maquetado de esta pantalla en *pass-recovery-email-sent.html* [LauMartinez-Code/yard-sale-FE at a60ef746e2976f933842e5da9fe3c3212ea975c4 (github.com)](https://github.com/LauMartinez-Code/yard-sale-FE/tree/a60ef746e2976f933842e5da9fe3c3212ea975c4)
La práctica constante es esencial para el desarrollo de habilidades. Comenzar con ejercicios guiados por el profesor y luego experimentar con estilos propios, incluso si no son muy creativos al principio, es fundamental para el aprendizaje. Esta metodología ha resultado efectiva y me ha permitido mejorar mis habilidades de manera significativa.
Entiendo que se uso el contenedor "login" porque la contraseña está relacionada a ello, pero me pregunto por qué la profe usó "form-container" como contenedor si no es un formulario
Que excelencias todas las Clases de Estefi, me encantan sus cursos, además de todo lo que aprendo con ella, me encanta su dulzura para explicar y todo el material que siempre brinda en los cursos. GRACIASS
Hola, compañeros yo estoy trabajando en cada módulo de html con su respectivo archivo de css, y solo necesitan crear un archivo con las variables del color y medidas y a medida que crean un nuevo archivo con su hoja de estilos respectivamente solo las importan los archivos y si quieren utilizar una clase ya construida previamente solo lo ponen en su elemente de html
Trate de hacer este por mi cuent antes de ver la clase. dejo el como lo hice.
**Codigo HTML **
<!DOCTYPE html><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=device-width, initial-scale=1.0"><!--Links Fuentes--><linkrel="preconnect"href="https://fonts.googleapis.com"><linkrel="preconnect"href="https://fonts.gstatic.com"crossorigin><linkhref="https://fonts.googleapis.com/css2?family=Quicksand:wght@300;500;700&display=swap"rel="stylesheet"><!--Links Fuentes--><title>Document</title><linkrel="stylesheet"href="style.css"></head><body><sectionclass="emailSent"><divclass="container"><imgsrc="../logos/logo_yard_sale.svg"alt="/"class="logo"><h1class="title">Email has been sent</h1><pclass="subtitle">
Please check your inbox for instructions on how to reset the password
</p><divclass="letterlogocontainer"><imgsrc="../icons/email.svg"alt="/"class="logoLetter"></div><inputtype="button"name="login-button"id="login-button"value="Login"><divclass="container-bottom"><pid="didnt">didn't receive the email?</p><pid="resend">Resend</p></div></div></section></body></html>
Aquí no se menciona que la función var() puede tener un fallback (valor de respaldo).
Esto es en caso de algun typo con la variable o que la variable no este definida.
Con la clase anterior me dio las bases para hacer esta esta nueva pantalla sin ver el video, me di cuenta que el resultado fue el mismo, nomas en la parte del resend email, yo use un div y un <p> que en css puse como bold, sin embargo el resultado fue el mismo.
Tener en cuenta bien donde están poniendo los diferentes elementos que permiten estilizar, ya que por error en mi caso el margin bottom del email image lo puse en .email-image img, lo cual me genero fue un corrimiento de la foto, mas no de la caja que la contenia, se va aprendido con estos errores.
Yo tuve que cambiar en la clase primary-button el width al 50% por que en 100% me cubria todo el navegador, tanto en responsive, como en escritorio
no pude colocar la imagen por que desde ubuntu arrastro la imgen y me dice que es invalida, si alguien sabe como subir imagenes desde ubuntu
Estuve intentado figma y sketch para evaluar comprar un plan… Hasta que me dí cuenta que pago una suscripción a adobe, y tengo XD para empezar a dibujar sitios sin parar!!!
Yo estoy probando algo, primero hago estilizo por mi cuenta y luego de tenerlo super bien me pongo a ver el video para ver cómo lo hace la teacher y aprender algún atributo que tal vez no sabía 😄.
En el min 9:08 busco la clase .form-container presionando CTRL + F y también yo siempre me equivocaba al poner justify-content y se debe usar el justify-items
Parecerán repetidas varias cosas en la clase, pero ayuda mucho a repasar para aprender mejor. Yo repito todo el código desde cero también para reforzar lo aprendido.
Me parece que el problema del vídeo es porque en ocasiones sucede un tipo bug con el inspector o el navegador, porque a mi no me paso ese “overflow”, a veces yo lo he solucionado recargando toda la pagina con las teclas ctrl+shift+r en ocasiones he eliminado todo el historial y también abrir la pagina en una pestaña de incógnito, ojala les sirva esto que les escribo.
<!DOCTYPE html><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=device-width, initial-scale=1.0"><linkrel="stylesheet"href="login_users.css"><linkrel="preconnect"href="https://fonts.googleapis.com"><linkrel="preconnect"href="https://fonts.gstatic.com"crossorigin><linkhref="https://fonts.googleapis.com/css2?family=Quicksand:wght@300;500;700&display=swap"rel="stylesheet"><title>Login Users</title></head><body><divclass="login"><divclass="form_container"><imgclass="logo"src="./Platzi_YardSale_Logos/logo_yard_sale.svg"alt="logo"><h3>Email has been sent!</h3><p>Please check your inbox for instructions on how to reset the password</p><div><imgclass="mail"src="./Platzi_YardSale_Icons/email.svg"alt="mail"></div><formaction="/"><inputclass="button_login"type="submit"value="Login" ><p>Didn't receive the email?<ahref="#"> Resend</a></p></form></div></div></body></html>
Asi construí esta pantalla de email, no me quedó tan semántico como a la prof pero lo hice sin mirar la clase para ver que tanto podia poder en practica (tardé medio día).
Segun mi prueba y error, solo se pueden centrar div dentro de otros div, porque estaba usando Display: grid; para centrar un span dentro de un div (obvio el display grid estaba en el div) pero no me funcionaba, sin embargo, cuando meti ese span dentro de un div, si funcionó
No soy experto pero creo que cuando usa resend en el style, tendria que ordenarlo mejor poniendolo ultimo de todo y no abajo de primary-button. saludos
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?