Crea más de 30 proyectos web con HTML, CSS y JavaScript | Giorgi Lomidze | Skillshare

Velocidad de reproducción


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Crea más de 30 proyectos web con HTML, CSS y JavaScript

teacher avatar Giorgi Lomidze, UI / UX Designer

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Lecciones en esta clase

    • 1.

      Introducción

      1:52

    • 2.

      Te doy la bienvenida a la clase

      1:45

    • 3.

      Configuración

      1:56

    • 4.

      Proyecto 1 - Formularios 3D

      25:24

    • 5.

      Proyecto 2 - Casa

      32:02

    • 6.

      Proyecto 3 - Barra de búsqueda

      20:42

    • 7.

      Proyecto 4 - Reloj

      21:40

    • 8.

      Proyecto 5 - Navbar

      21:25

    • 9.

      Proyecto 6 - Cargadores de sitios web

      19:20

    • 10.

      Proyecto 7 - botón de rosca

      16:40

    • 11.

      Proyecto 8 - Barra de progreso redonda

      22:25

    • 12.

      Proyecto 9 - Presentación de iconos de redes sociales

      17:09

    • 13.

      Proyecto 10 - Formularios con validación

      63:47

    • 14.

      Proyecto 11 - Calendario

      41:25

    • 15.

      Proyecto 12 - Cuenta atrás

      32:32

    • 16.

      Proyecto 13 - Tarjeta de perfil

      40:01

    • 17.

      Proyecto 14 - Menú de cuadrícula CSS

      54:49

    • 18.

      Proyecto 15 - Navegación del CSS

      16:46

    • 19.

      Proyecto 16 - Menú desplegable

      30:34

    • 20.

      Proyecto 17 - Navegación

      19:38

    • 21.

      Proyecto 18 - Navar redondo

      16:36

    • 22.

      Proyecto 19 - Menú lateral

      72:55

    • 23.

      Proyecto 20 - Menú de hamburguesas

      21:05

    • 24.

      Proyecto 21 - Botón creativo

      8:54

    • 25.

      Proyecto 22 - Presentación

      38:55

    • 26.

      Proyecto 23 - Botón de radio CSS personalizado

      11:13

    • 27.

      Proyecto 24 - Tarjeta de visita

      22:38

    • 28.

      Proyecto 25 - Tarjeta 3D

      9:09

    • 29.

      Proyecto 26 - Caja de control de CSS personalizada

      11:00

    • 30.

      Proyecto 27 - Menú de hamburguesas

      21:05

    • 31.

      Proyecto 28 - Tarjetas de precios

      21:45

    • 32.

      Proyecto 29 - botón de palanca CSS

      10:52

    • 33.

      Proyecto 30 - Galería de redes CSS

      13:43

    • 34.

      Proyecto 31 - Página de destino con formularios modales

      43:04

    • 35.

      Proyecto 32 - Página de destino animada

      19:54

    • 36.

      Proyecto 33 - botón 3D

      13:43

  • --
  • Nivel principiante
  • Nivel intermedio
  • Nivel avanzado
  • Todos los niveles

Generado por la comunidad

El nivel se determina según la opinión de la mayoría de los estudiantes que han dejado reseñas en esta clase. La recomendación del profesor o de la profesora se muestra hasta que se recopilen al menos 5 reseñas de estudiantes.

342

Estudiantes

1

Proyectos

Acerca de esta clase

Archivos de recursos

Bienvenido a la nueva clase, donde puedes aprender a crear proyectos y plantillas web hermosos y modernos, si quieres desarrollar y personalizar tu cartera, convertirte en un desarrollador experimentado y te contratarás, este es el curso adecuado para ti.

Crearemos más de 30 proyectos web diferentes y creativos con tres tecnologías básicas HTML CSS y JavaScript.

Si tienes algún conocimiento básico de estas tecnologías y todavía tienes problemas para crear tus propios proyectos web, o si quieres nivelar tus habilidades de desarrolladores y de diseñador, llega al lugar correcto.

Crearemos más de 30 proyectos web diferentes y estarán llenos de efectos y diseños modernos, agradables y hermosos.

Comenzaremos con proyectos relativamente simples y también vamos a pasar por otros avanzados.

Podemos garantizarte que guarantee el desarrollo de la web de front-end después de completar este curso.

Utilizando este curso, puedes obtener las inspiraciones que te ayudarán a mejorar tus proyectos y a personalizar tu cartera.

Al dominar estas tecnologías básicas del desarrollo de web de frontales, puedes crear temas increíbles y modernos y simplemente conseguir contratados.

Además, tendrás conocimientos suficientes para seguir y aprender otras tecnologías, como algunos marcos de vanguardia y bibliotecas, que hoy en día son muy populares y son muy demandados.

Conoce a tu profesor(a)

Teacher Profile Image

Giorgi Lomidze

UI / UX Designer

Profesor(a)

Hi,

I'm George, an UI / UX Designer, Web Developer, Founder at 'Code And Create' , and an author of several best-selling online classes.

I'm excited that I have a chance to help people to learn one of the most interesting and hottest fields in the world.

I decided to share my knowledge and experience with you and that's the main reason for being here at Skillshare.

Looking forward to seeing you inside my classes and help you to become a professional UI / UX Designer

Ver perfil completo

Habilidades relacionadas

Desarrollo Desarrollo web
Level: All Levels

Valoración de la clase

¿Se cumplieron las expectativas?
    ¡Superadas!
  • 0%
  • 0%
  • Un poco
  • 0%
  • No realmente
  • 0%

¿Por qué unirse a Skillshare?

Mira las galardonadas Skillshare Originals

Cada clase tiene lecciones cortas y proyectos prácticos

Tu membresía apoya a los profesores de Skillshare

Aprende desde cualquier lugar

Ve clases sobre la marcha con la aplicación de Skillshare. Progresa en línea o descarga las clases para verlas en el avión, el metro o donde sea que aprendas mejor.

Transcripciones

1. Introducción: Bienvenido al nuevo curso, donde podrás aprender sobre cómo crear plantillas y proyectos web modernos y hermosos. Si quieres desarrollar y personalizar tu portafolio, convertirte en un desarrollador experimentado y ser contratado, entonces este es el curso adecuado para ti. Construiremos juntos más de 30 proyectos web diferentes y creativos con tres tecnologías principales, HTML, CSS y JavaScript. Si tienes algunos conocimientos básicos de estas tecnologías. Y aún así tenemos algunos problemas para crear tus propios proyectos web. O si quieres subir de nivel a tu desarrollador y diseñadores cerca, entonces has venido al lugar correcto. Creamos este curso con el fin de brindar a los estudiantes la mejor experiencia en tres tecnologías centrales y permitirles crear los mejores proyectos modernos y creativos. Construiremos más de 30 proyectos web diferentes. Y estarán llenos de efectos modernos, bonitos y hermosos y decide. Comenzaremos con proyectos relativamente simples y también pasaremos por algunos avanzados. Podemos garantizarte que dominarás el desarrollo web front-end. Después de completar este curso. Mediante este curso, podrás obtener las inspiraciones que te ayudarán a mejorar tus proyectos y personalizar tu portafolio. Dominar solo estas tecnologías centrales de desarrollo troncal y web Puedes crear temas increíbles y modernos y simplemente ser contratado. Además, tendrás los conocimientos suficientes para seguir adelante y aprender otras tecnologías como marcos de subproblemas y bibliotecas, que hoy en día son realmente populares y muy demandadas El curso será interesante y útil. Por lo que te recomendaría que intentaras sacar el máximo provecho de este curso sin solo copiar y pegar el código Si estuviera en tus zapatos, definitivamente soñaría con un curso como este. Así que únete a nosotros 2. Te doy la bienvenida a la clase: Hola y bienvenidos al curso. Espero que este sea tu curso adecuado y disfrutes de los proyectos que estaremos construyendo a lo largo de este curso. Entonces, como ya sabrás, vamos a crear más de 30 diferentes, modernos y creativos donde estén los proyectos, esos proyectos se construirán en base a tres tecnologías centrales de desarrollo web front-end, HTML, CSS y JavaScript. Quisiera mencionar una cosa. Como dije, los proyectos se crearán en base a HTML, CSS y JavaScript. Por lo que debes tener una comprensión básica de esas tecnologías para poder seguir las conferencias y no confundirte. Los proyectos estarán llenos de diferentes técnicas y trucos modernos. Podrás aprender sobre cómo crear bonitos y hermosos efectos y animaciones, que luego podrás utilizar como inspiración para desarrollar y personalizar tu propio portafolio. Como mencioné, estaremos construyendo más de 30 proyectos. Son plantillas independientes, por lo que no es necesario que las revises en orden. Puedes construir cualquiera de los proyectos que quieras de la lista. Depende absolutamente de ti. Algunos de los proyectos son simples, pero también conocerás algunos proyectos avanzados también. Entonces incluimos todos los niveles que el desarrollador necesita. A lo largo del curso, construiremos proyectos como navegaciones, presentaciones de diapositivas, casillas de verificación personalizadas, tarjetas 3D y otros proyectos interesantes y creativos Entonces estoy seguro de que los disfrutarás. Creo que obtendrás una gran práctica y experiencia en el desarrollo web front-end en el que HTML, CSS y JavaScript son una necesidad Bien, así que sigamos adelante y comencemos. 3. Configuración: Hola y bienvenidos al curso. Nos alegra que estés aquí y esperamos que disfrutes del curso antes de que profundicemos y empecemos a crear nuestros proyectos. En primer lugar, tenemos que preparar nuestro ambiente de trabajo. Estoy seguro que la mayoría de ustedes ya están preparados para escribir el código. Si es así, entonces puedes sentirte libre de saltarte este video y saltar a los proyectos de inmediato. Pero si no, entonces ese no es el problema. Sigamos adelante y montemos algunas herramientas. A lo largo de este curso, necesitaremos dos herramientas principales, que son el navegador web moderno y un editor de texto. Como navegador web, voy a usar mayormente Google Chrome. Y también en algunos casos también necesitaremos la ayuda de Mozilla Firefox. Estoy seguro de que ya sabes cómo instalar estos navegadores web, y creo que todos ya los tienen. Pero de todos modos, veamos cómo descargarlos. Para obtener el Google Chrome, tenemos que ir a esta URL aquí y descargar el navegador web. El proceso de instalación es bastante sencillo, así que no voy a pasar por él. En cuanto al Mozilla Firefox, tienes que usar esta URL y descargar el navegador web desde aquí. Ambos enlaces se adjuntarán a esta conferencia. Bien, sigamos adelante y hablemos del editor de texto. Vamos a usar Visual Studio Code porque estos momentos es uno de los mejores editores de textos del mundo. Por supuesto, puedes sentirte libre y usar tu editor de texto favorito. Depende de ti, pero te recomiendo usar el código VS. Para poder descargar el código VS, tienes que visitar este sitio web y obtener el editor de texto ya sea para Windows o Mac o Linux. Este enlace también se adjuntará a esta conferencia. El proceso de instalación del Visual Studio Code también es muy sencillo, así que estoy seguro de que no va a tener ningún problema con él. Bien, así que una vez que instales ambas herramientas estarás bien para ir Así que vamos a saltar directamente a los proyectos 4. Proyecto 1 - Formularios 3D: Bien, entonces es momento de crear un nuevo proyecto. En este proyecto vamos a estar creando un inicio de sesión 3D y formularios de registro. Y el proyecto se va a crear en base a HTML, CSS y JavaScript. En este video, voy a repasar el proyecto y describirlo. Entonces, como puedes ver, tenemos aquí un formulario de inicio de sesión que se muestra por defecto con una imagen de fondo a pantalla completa En la esquina superior izquierda del formulario, tenemos el Batson, que está mostrando el texto. Regístrate. Si hago clic en él. Y entonces el formulario rotará en un entorno 3D. Y se mostrará el formulario de registro. Si hago clic en el botón Iniciar sesión, recuperaremos el formulario de inicio de sesión aquí Para que puedas cambiar de forma con esos botones en el espacio 3D. Bien, así que eso es todo sobre este proyecto. Espero que sea interesante y lo disfrutes. Entonces comencemos. Bien, así que estamos listos para comenzar a construir el proyecto. He creado una nueva carpeta en el escritorio llamada formularios 3D, en la que tengo otra carpeta llamada images. Incluye la imagen de fondo. Sigamos adelante y abramos esta carpeta en VS Code y luego creamos nuestros archivos de trabajo para HTML, CSS y JavaScript. Voy a llamar a los archivos index.html, luego style.css y script.js. Después abre el archivo index.html y crea un documento HTML básico. Para eso, voy a usar amidas. Tenemos que colocar un signo de exclamación y luego presionar Tab o responder Entonces aquí tenemos las etiquetas HTML básicas. Antes que nada, cambiemos el título. Voy a llamarlo formularios 3D. Y luego voy a vincular los archivos CSS y JavaScript. Vamos a abrir la etiqueta de enlace y especificar aquí en las aurículas primero atribuir la parte del archivo En cuanto al archivo JavaScript, voy a abrir la etiqueta script justo encima de la etiqueta de cuerpo de cierre. Y luego necesitamos especificar el nombre del archivo en el atributo source. Bien, por último, voy a ejecutar el proyecto al navegador usando uno de los paquetes de código VS que se llama Live Server Nos permite ejecutar la vida del proyecto y realizar las actualizaciones y cambios sin refrescar la página. Cada vez. Antes de empezar a escribir el código, voy a colocar el editor y el navegador uno al lado del otro Bien, sigamos adelante y comencemos a crear el marcado HTML Voy a abrir una etiqueta div, que va a ser el contenedor. A continuación necesitamos otra etiqueta div. Envolverá ambas formas. Entonces voy a asignar al envoltorio de formularios de clase. Este elemento constará de dos elementos diferentes. Me refiero a dos elementos formados diferentes. El primero va a ser el formulario de firma. Así que vamos a abrir la etiqueta de formulario con el formulario de inicio de sesión de clase. Entonces cada elemento de formulario incluirá un botón, encabezado y las entradas. Vamos a abrir la etiqueta de enlace va a ser el botón. Te permite asignar a la clase Regístrate, BTN. Yo usé aquí, inscríbase porque esta persona nos ayudará a navegar hasta el formulario de inscripción Bien, Siguiente necesitamos rumbo. Abramos la etiqueta de encabezado H2 con el inicio de sesión de contenido. Después de eso, voy a insertar tus elementos de entrada. Vamos a abrir la etiqueta div, que será la envoltura, está diseñada para comer envoltorio de entrada de clase. Entonces, en general, tendremos tres elementos de entrada diferentes para correo electrónico, contraseña y botón de envío. Vamos a abrir la etiqueta de entrada con un texto de tipo y con atributos de marcador de posición, tu correo electrónico Entonces voy a duplicar esta línea de código. Estos campos de entrada serán para la contraseña. Entonces cambiemos el atributo type, hazlo contraseña, y también cambiemos el valor del atributo placeholder Necesitamos de nuevo contraseña. El siguiente elemento de entrada será para el botón de enviar. Entonces se va a presentar el tipo. No necesitamos aquí los atributos de marcador de posición. En lugar de eso, necesitamos valor. Iniciar sesión. Nuevamente, Eso es todo sobre los primeros elementos de forma. Sigamos adelante y dupliquemos todo el formulario y luego hagamos algunos cambios. Necesitamos aquí el nombre de la clase, formulario de registro que el botón va a estar firmando También, cambiemos el contenido de la rúbrica. Tenemos que inscribirnos. En el caso del formulario de inscripción, tendremos cinco entradas diferentes El primero va a ser para el nombre. Entonces necesitamos aquí tu nombre. Y además tendremos una entrada para la confirmación de la contraseña. Cambiemos aquí el marcador de posición Instituto confirmar contraseña Luego, por último, cambiemos el valor del botón Enviar. Usa aquí, regístrate. Bien, sentémonos con respecto al marcado HTML. Ahora es el momento de personalizar el proyecto Abre el archivo CSS y antes que nada, crea algunos valores predeterminados y restablece estilos Voy a seleccionar cada disco usando un asterisco. En primer lugar, voy a deshacerme del margen predeterminado y el relleno. Sigamos adelante y pongamos ambas propiedades a cero. Entonces voy a hacer box-sizing border-box. Además, voy a deshacerme de los elementos subyacentes predeterminados de los enlaces. Vamos a poner texto, decoración ninguno. Y luego cambiar la familia de fuentes. Voy a usar su teléfono llamado Arial font group sensorial. A lo largo de este proyecto, vamos a utilizar RAM como unidad de medida. este momento, 1 g equivale a 16 píxeles porque el tamaño de fuente del elemento HTML es igual a 16 píxeles. Voy a convertir 1 g a diez píxeles. Y para eso, tenemos que disminuir el tamaño de fuente de los elementos HTML. Hagámoslo 62.5 por ciento. Bien, Entonces los elementos se hicieron más pequeños. A continuación voy a encargarme del contenedor. Vamos a seleccionarlo y definir su ancho y alto. Voy a establecer el ancho al 100%. En cuanto a la altura, voy a hacer que sea 100% de la ventana gráfica Por lo tanto, necesitamos aquí 100 pH. Voy a establecer la imagen como fondo de pantalla completa. Antes de eso, voy a usar la función de degradado lineal porque quiero que la imagen de fondo sea un poco más oscura. Vamos a usar aquí el valor RGBA 3177 y la opacidad 0.7. En cuanto al segundo valor RGBA va a ser el color negro con la opacidad 0.7 A continuación, voy a especificar la URL de la imagen. Tenemos la carpeta llamada images en la que almacenamos imagen llamada p2 punto PNG. La posición va a estar centrada. Y también necesitamos saber repetir. Por último, voy a establecer el tamaño del fondo para cubrir. Bien, así que aquí tenemos la imagen de fondo de pantalla completa y en realidad eso es todo con respecto al contenedor Ahora tenemos que empezar a personalizar los formularios. Creo que sería mejor si ocultamos una de las formas por un tiempo y diseñamos solo una forma Entonces sigamos adelante y ocultemos el segundo formulario de inscripción. Luego seleccione Envoltura de formularios. Voy a enviar al envoltorio en la página. Entonces pongamos su posición a absoluta. Entonces tenemos que definir propiedades superiores e izquierdas. Hagamos los dos 50%. Entonces para centrar los elementos perfectamente en la página, tenemos que usar transform translate. Tenemos que mover elementos en -50% en ambas direcciones. Estoy en los ejes x e y. Por lo que se considera un formulario se coloca en el centro de la página. A continuación, voy a personalizar el propio formulario. Así que vamos a seleccionar Forms wrapper, seguido del formulario de nombre de etiqueta. En primer lugar, como se define dentro de las alturas, voy a establecer el ancho en 50 run. La altura va a ser 35 RAM. Y también cambiar el color de fondo. Voy a utilizar aquí RGBA valor 4114108. Y luego la opacidad 0.9 a cinco. Bien, a continuación, voy a alinear los elementos dentro del formulario usando flexbox Necesitamos mostrar flex. Entonces tenemos que cambiar la dirección porque necesitamos colocar los elementos verticalmente. Entonces necesitamos flexionar dirección para ser columna. Entonces para crear algún espacio alrededor de los elementos que necesitamos, justifique el espacio de contenido alrededor. Y también para centrar los elementos horizontalmente, alinear los elementos al centro. Por último, vamos a crear un pequeño efecto de sombra. Voy a crear una sombra en los cuatro lados. Entonces voy a usar los siguientes valores. Necesitamos 0.1 RAM tres veces que el collar C, C, C. Y también voy a usar aquí el valor llamado recuadro Nos permite crear la sombra dentro de los elementos. A continuación, necesitamos -0.1 gramo dos veces. Después 0.1 corre con el mismo color CCC y con el mismo valor en conjunto. Bien, digamos respecto a los elementos de formulario por ahora, continuación, voy a iniciar los elementos individuales Empecemos con el botón de registro. Voy a seleccionarlo usando nombres de etiqueta formulario y a. vamos a definir esta posición como absoluta. Y luego establecer las propiedades superior e izquierda, ambas a ram. Se puede ver que el botón está posicionado correctamente. Sigamos adelante y estilízalo. En primer lugar, voy a cambiar el color de fondo. Hagámoslo blanco También voy a hacer que el texto negrita o usando el peso de la fuente con un valor 600. Entonces transformemos el texto en mayúsculas. Además, voy a cambiar el color. Usemos el valor RGBA 4114108. Así que crea algo de espacio entre las letras. Haz que apunte a correr. Justo después de eso, voy a crear algo de espacio dentro del botón usando padding. Vamos a establecer padding a 0.5 rem en la parte superior que un rem en el lado derecho, 0.5 rem en la parte inferior y tres rem en el lado izquierdo. Entonces finalmente, necesitamos cambiar la forma del botón usando border-radius Tomará cuatro valores diferentes. Para el radio en la esquina superior izquierda va a ser del 100%. Entonces tendremos 0.5 rem en la esquina superior derecha. La esquina inferior derecha va a ser 0.5 RAM como probablemente esquina inferior izquierda, va a ser 100%. Bien, eso es lo del botón. Sigamos adelante y personalicemos el encabezado. Seleccione la forma H2. En primer lugar, vamos a establecer el tamaño de fuente, hacer que se ejecute 2.3. Hacer el texto en mayúsculas. También crea algo de espacio entre las letras, haz que apunte a RAM, y luego cambia el color, hazlo blanco. Entonces el rubro está personalizado y ahora tenemos que encargarnos de los insumos. Sigamos adelante y seleccionemos el envoltorio de entrada. Necesitamos colocar las entradas verticalmente una encima de la otra. Así que para usar display flex y flex dirección columna. A continuación, voy a seleccionar la entrada en sí. Definamos el ancho y la altura. Voy a configurar con 225 RAM. En cuanto a la altura, va a ser de tres rampas. Y después de eso, voy a crear algo de espacio dentro y también fuera de las entradas. Vamos a usar padding con los valores 0.5 rem en la parte superior e inferior y un rem en los lados izquierdo y derecho. En cuanto al margen va a ser 0.5 rem en la parte superior e inferior y cero en los lados izquierdo y derecho. A continuación, cambiemos el color de fondo. Voy a hacerlo transparente. También. Vamos a crear borde con valores 0.1 redondo, sólido, el color blanco. Y también hacer que las entradas sean redondeadas usando border-radius con valor cinco ejecutaron las entradas todas o se ven bien, pero necesitamos agregarles un par de estilos más Cambiemos el color. Que sea blanco. También crea algo de espacio entre las letras, hazlo un punto a una RAM, y luego deshazte del valor predeterminado. Esquema. Ponlo a ninguno. Bien, así que eso es todo sobre los insumos. A continuación, voy a cambiar el color del marcador de posición. Tenemos que seleccionar primero rapero, seguido de la entrada y el marcador de posición de pseudo elementos Pongamos el color a blanco y cambiemos también el peso de la fuente. Que sea 300. Bien, por último, voy a personalizar el botón de enviar Seleccionemos entrada con un atributo type. Al principio, cambiemos el color de fondo, hazlo blanco. Entonces el color va a ser RGBA valor 4114108. Aumentemos el peso de la fuente. Hacer detectar más audaz. Establezca la forma de fuente a 900. También transforma texto en mayúsculas. M Finalmente cambió el tipo del puntero de fabricación más gruesoso. Bien, eso es. En cuanto al formulario de inicio de sesión, es personalizado Ahora tenemos que mostrar el formulario de inscripción y hacer que ambos formularios funcionen Entonces vamos al archivo index.html y mostrémoslo de nuevo el segundo formulario. cuanto a la primera forma, voy a esconder por un tiempo. Entonces, lo único que tenemos que hacer con respecto al formulario de registro es personalizar el botón Iniciar sesión Tenemos que moverlo a la esquina superior derecha del formulario. Y también tenemos que cambiar la forma del Bateson. La dirección debe ser hacia el lado derecho. Ahora mismo tenemos estilos comunes para ambos botones. Entonces voy a seleccionar ambos botones por separado y definir sus estilos individuales. En primer lugar, voy a seleccionar Inscribirse UTM Luego vamos a agarrar propiedad izquierda de los estilos comunes Además, voy a agarrar relleno y radio de borde. Entonces voy a duplicar este código. Cambiemos el nombre de la clase que necesitamos aquí, iniciar sesión, btn. También tenemos que cambiar, caducado a la derecha. Entonces necesitamos diferentes acolchados. Va a ser 0.5 ejecutó 3.5 rem, y una RAM. Y también necesitamos diferente radio fronterizo. Los valores van a ser los siguientes. 0.5 rima. Después al 100% dos veces. Y otra vez 0.5 rampa. Bien, por lo que ambos formularios están personalizados. Sigamos adelante y mostremos ambos. Entonces se puede ver que tenemos aquí ambas formas. La posición del botón no es correcta en este momento. Es porque se posiciona de acuerdo con el envoltorio de formularios y necesitamos posicionarlo de acuerdo con el elemento form. Para ello, tenemos que asignar al elemento form position absolute. Entonces ahora mismo los formularios ya no están centrados en la página. Sigamos adelante y arreglemos eso. En primer lugar, me voy a deshacer de transform translate de aquí. Y luego tenemos que ajustar las posiciones superior e izquierda. La posición superior va a ser del 50% menos la mitad de la altura de la forma. En cuanto a la posición izquierda va a ser 50% menos la mitad del ancho de la forma. Entonces necesitamos los siguientes cálculos. Vamos a usar la función calc. La posición superior va a ser del 50 por ciento -17.5 corridas, debido a que la altura es igual a 35 En cuanto a la última posición, va a ser 50% -25 RAM porque el ancho del formulario es de 50 ejecutados Bien, así como puedes ver, los elementos del formulario están centrados Ahora tenemos dos formas de posición en el espacio 3D. O sea, voy a rotar este registro para, como dije, necesitamos posicionar elementos en espacio 3D para poder crear un entorno 3D, tenemos que usar una de estas propiedades CSS llamadas prospectivas. Y voy a asignarlo al contenedor como el valor. Vamos a asignar 200 rampas. Los elementos de forma son nietos del contenedor. Y para aplicar un entorno 3D a las deformaciones, tenemos que usar otra propiedad llamada transform style with value preserve 3D, y tenemos que asignarlo a los elementos padre de las formas, que es un wrapper forms Bien, ahora es el momento de rotar el formulario de inscripción. Voy a seleccionarlo por separado. Y luego usa Transformar con la función rotate y. Y como valor te voy a pasar 270 grados. Bien, Entonces en este momento, el formulario de registro no es visible porque el formulario de registro está Y para ver mejor por qué no es visible, puedo cambiar el valor, establecerlo en 250 grados. Entonces ahora podemos ver que se gira la forma. Se puede pensar que podríamos usar aquí solo 90 grados. Pero en ese caso el contenido de la forma se giraría en sentido contrario. Entonces por eso usamos 270 grados. Bien, a continuación tenemos que mover el formulario de inscripción hacia el lado izquierdo y también recto profundamente en el espacio 3D Para mover los elementos hacia el lado izquierdo, voy a usar la función Traducir Z con valor 25 RAM. Y ahora tenemos que mover los elementos según el eje x con la rampa de valor -25 Bien, por último, volvamos aquí 270 grados. Lo único que había que hacer antes de programar los botones era rotar todo el formulario raperos probable. Entonces eso se le asigna. Transformar rotar y con el valor menos diez grados. Bien, eso es. Ahora tenemos que empezar a escribir algo de JavaScript. Tenemos que adjuntar un clic de oyentes de eventos para hacer ambos botones Pero antes que nada, voy a seleccionar ambos botones. Vamos a crear una nueva variable. Voy a llamarlo sign up btn, y después seleccionar el elemento usando el método QuerySelector Especificemos aquí el nombre de la clase, regístrate btn. Entonces voy a duplicar esta línea de código. Cambiemos el nombre de la variable. Va a estar firmando btn. En cuanto al nombre de la clase, necesitamos firmar entre ellos. Justo después de eso, adjuntemos oyentes de eventos a ambos. Comencemos con el método de registro btn add event listener con un Y la función de devolución de llamada, que se ejecutará una vez que hagamos clic en el botón Registrarse Duplicemos este código y cambiemos signo de butano en signo Bien, una vez le hicimos clic, pero como tenemos que rotar el envoltorio de fuentes, para poder hacer eso, voy a agregar una nueva clase deforms Después seleccionaremos Forms wrapper con esta clase recién creada en CSS. Y vamos a definir la rotación del elemento. En primer lugar, voy a evitar acciones por defecto de los botones de costura. Si no hacemos eso, entonces la página se desplazará hacia arriba si tenemos algún contenido adicional. Así que necesitamos pasar tus objetos de evento en ambos casos. Y entonces necesitamos e punto prevenir default. Bien, así como dijimos, tenemos que agregar una nueva clase para deformar envoltorio. En primer lugar, sigamos adelante y seleccionemos estos elementos, creamos nueva variable, llamemos envoltorio de formularios. A continuación, seleccione los elementos utilizando el método QuerySelector. Necesitamos aquí el envoltorio de formularios ClassName. Entonces agreguemos una nueva clase a estos elementos. Necesitamos envoltorio de formularios, seguido de la propiedad llamada class list, que incluye todas las clases que tiene el elemento. Entonces necesitamos un método llamado add. Y tenemos que especificar aquí el nombre de la clase. Digamos que el cambio. Bien, vamos al archivo CSS y seleccionemos envoltorio de espumas con cambio de clase Así que una vez que hacemos clic en el botón, tuvimos que rotar el envoltorio de formularios. Entonces te voy a pasar transformar rotar y con un valor de 100 grados. Entonces, si hacemos clic en el botón, entonces el formulario girará. Pero como se puede ver, ha cambiado su posición. Entonces necesitamos definir la posición de rezago. Vamos a usar de nuevo llamada función. En este caso necesitamos 50 por ciento más la mitad de la rampa de ancho 25. Ahora todo se ve bien. Tenemos que suavizar el efecto. Para ello, tenemos que usar transición con los valores transforman 0.5 s, que es la duración. Y luego a la izquierda otra vez con 0.5 s. ahora si hago clic, entonces el formulario girará suavemente. En este momento solo está funcionando el botón Registrarse. Entonces, sigamos adelante y cuidemos también el segundo botón. En el caso del segundo botón, solo necesitamos eliminar el cambio de clase del envoltorio de formularios. Entonces, sigamos adelante y agarremos esta línea de código. Pégalo aquí abajo, y cámbialo, agrega para eliminar. Entonces ahora todo estaba a la perfección y en realidad con este proyecto ya terminamos. Si crees que los formularios son más pequeños en tamaño extra grande, entonces simplemente puedes aumentar el tamaño de fuente de los elementos HTML. Vamos a cambiarlo y hacerlo, digamos 72.5 por ciento Entonces ahora creo que es mejor. Y en realidad ya terminamos. Hemos terminado de trabajar en este proyecto. Ojalá fuera interesante y útil. Entonces pasemos al siguiente proyecto. 5. Proyecto 2 - Casa: Bien, es hora de crear nuestros próximos proyectos. En este video, vamos a estar construyendo esta casa con HTML, CSS y JavaScript. Sigamos adelante y describamos los proyectos. Tenemos aquí una casa con un par de ventanas diferentes. Además, hay un techo azul y una puerta. Si hago clic en la puerta, entonces se abrirá. Y también si pongo el cursor sobre la ventana en la parte superior de la puerta, también se abrirá Entonces eso es todo respecto a este proyecto, Sigamos adelante y empecemos a construirlo. He creado una nueva carpeta en el escritorio llamada casa. Sigamos adelante y ábralo en VS Code y creamos nuestros archivos de trabajo para HTML, CSS y JavaScript. Voy a llamarlos index.html, style.css y scripts punto js. Después abre el archivo index.html y crea un documento HTML básico. Para eso, usemos una imagen. Necesitamos colocar el signo de exclamación de orina y luego presionar Tab o Enter Así que aquí vamos. En primer lugar, voy a cambiar el título. Vamos a insertar tu casa. Después vincula archivos CSS y JavaScript. Voy a abrir etiqueta de enlace. Y luego vamos a especificar aquí el nombre del archivo. En cuanto a los trabajos que archivan, voy a abrir la etiqueta script justo encima de la etiqueta del cuerpo de cierre. Y luego en atributo fuente, voy a especificar el nombre del archivo, script.js. Bien, así que todos los archivos están enlazados. Sigamos adelante y ejecutemos el proyecto al navegador. Voy a usar Live Server. Y luego coloquemos el editor y el navegador. Así. Estamos listos para comenzar a construir un proyecto. Al principio, voy a crear el marcado HTML. Sigamos adelante y abramos una etiqueta div con un contenedor de clase. Entonces voy a abrir otra etiqueta div que envolverá el contenido. Vamos a asignarle className house. Por lo que la casa constará de un par de partes diferentes. Tendremos techo, ventanas que la habitación y también la puerta. Sigamos adelante y creamos esas partes. Voy a empezar con el techo. Vamos a abrir la etiqueta div con el techo principal de la clase. Entonces voy a crear cuatro ventanas distintas. Vamos a abrir la etiqueta div. Contará con dos clases distintas. El primero va a ser ventana. Va a ser el nombre común de la clase. Y luego también necesitamos ventana superior izquierda. Duplicemos esta línea de código tres veces. Entonces la segunda ventana va a estar arriba a la derecha. Entonces tendremos ventana inferior izquierda. Y el último va a ser ventana inferior derecha. Bien, eso es lo de Windows. A continuación voy a crear la habitación que sea etiqueta VB abierta con el aula. Por lo que la habitación constará de tres partes distintas. Tendremos un techo de la habitación que la ventana y también la puerta. Abramos una etiqueta div con techo de salón de clases. A continuación, voy a crear una ventana. Vamos a abrir otra etiqueta div con una ventana superior de clase. Esta ventana tendrá dos partes distintas, la izquierda y la derecha. Así que vamos a abrir la etiqueta div con una ventana superior de clase a la izquierda. Entonces voy a duplicar esta línea de código y cambiar el nombre de clase que necesitamos aquí, ventana superior, ¿verdad? Bien, finalmente, vamos a crear una puerta. Voy a abrir la etiqueta div, que va a ser el envoltorio, llamémoslo marco de puerta. Entonces dentro de ese elemento div, voy a abrir otra etiqueta div con la puerta de clase. Y por último, necesitamos la manija de la puerta. Entonces está abierto, etiqueta div con la manija de la puerta de clase. Bien, eso es. En cuanto al marcado HTML, sigamos adelante y comencemos a escribir el CSS En primer lugar, voy a definir algunos estilos comunes y restablecer. Seleccionemos todos los elementos usando un asterisco. Voy a deshacerme de default, margin y padding. Así que pongamos ambas propiedades a cero. Y también voy a establecer box-sizing border-box. Entonces a lo largo de este proyecto, voy a usar RAM como unidades de medida. este momento un rem es igual a 16 píxeles porque el tamaño de fuente del elemento HTML es igual a 16 píxeles. Quiero convertir una RAM en diez pixeles Y para eso, tenemos que disminuir el tamaño de fuente del elemento HTML. Y tenemos que hacerlo 62.5%. Bien, sigamos adelante y cuidemos el contenedor. Voy a extenderlo a toda la página. Así que vamos a seleccionarlo y definir este ancho. Voy a hacerlo al 100%. En cuanto a la altura, va a ser el 100% de la ventana gráfica. Entonces necesitamos configurarlo a 100 vh y luego cambiar el color de fondo. Voy a usar aquí el valor RGB 103150. Y luego uno, los tres otra vez. ¿Correcto? Después de eso, seleccionemos la casa. Voy a hacer visible este elemento. Así que definamos su anchura y altura. Voy a establecer su ancho en 110 RAM. En cuanto a la altura va a ser de siete a RAM. Y también cambiar el color de fondo. Usemos U, E F, E, F, E F. Así que aquí tenemos la casa. Voy a colocarlo en el centro de la página. Y para eso, usemos una grilla CSS. Tenemos que establecer display a grid. Y luego para colocar el elemento en el centro, necesitamos usar artículos de lugar con el centro de valor. Bien, así como pueden ver, el elemento se coloca en el centro en este momento Eso es todo sobre la casa A continuación, voy a encargarme del techo principal. Entonces, sigamos adelante y seleccionemos estos elementos. En primer lugar, definamos su anchura y altura. Voy a establecer el ancho en 110%. Eso es bastante alto, va a ser minucioso a la RAM. Y luego cambiar el color de fondo. Vamos a usar de nuevo el valor RGB. Una vez que pases tu 867145. ¿Bien? Entonces el techo es factible, pero se puede ver que tenemos que cuidar su posición. Para eso, le voy a asignar una posición absoluta, que para posicionarla de acuerdo a la Casa, que es el elemento padre, voy a asignar a la casa, posición relativa. Y después de eso, definamos las propiedades superior e izquierda. Voy a poner entre los dos menos diez RAM. En cuanto a la posición izquierda va a ser menos cinco por ciento. Entonces se considera, el techo está posicionado, pero en este momento no se ve del todo bien. Tenemos que rotarlo en un entorno 3D. Entonces tenemos que crear un espacio 3D. Y para eso tenemos que usar una de estas propiedades CSS llamadas prospectivas. Vamos a configurarlo 200 RAM. Y eso es todo. Giremos el techo de acuerdo con el eje x Utilice Transformar con la función rotar x. Voy a rotar el elemento 20 grados. ¿Bien? Entonces ahora se considera que el techo se ve mucho mejor. Lo único que voy a hacer es hacer sus esquinas ligeramente redondeadas. Y también voy a agregarle un poco de efecto de sombra. Entonces usemos radio de borde. Tomará cuatro valores. La esquina superior izquierda va a ser una RAM que la esquina superior derecha también será una rem En cuanto a las esquinas inferior derecha e inferior izquierda. Voy a hacerlos 0.5 de rampa. Y también usa box shadow con los valores 0.5 gram que un rem. Rem. Y el color también. Bien, entonces el techo principal está listo y ahora tenemos que encargarnos de las ventanas Como saben, las cuatro ventanas tendrán algunos estilos comunes. Entonces voy a seleccionarlos usando la ventana común ClassName Al principio, definamos el ancho y la altura. Voy a establecer el ancho a 12 RAM. La altura va a ser de 15 RAM. En cuanto al color de fondo, voy a usar una AAA. A continuación, voy a agregar a las ventanas un borde. Vamos a asignar dos valores punto para RAM que el borde va a ser sólido. El color. Usemos 333. Después de eso, necesitamos encargarnos de las posiciones de las ventanas. Fijemos la posición a absoluta. Y después de eso, tenemos que definir posiciones para cada ventana por separado. Sigamos adelante y comencemos con la parte superior de esa ventana. Vamos a seleccionarlo. Voy a poner posición a 20 para carnero. En cuanto a la posición izquierda va a ser diez RAM Siguiente te voy a sacar de la ventana superior derecha. Así que vamos a duplicar este código. Cambia el nombre de clase que necesitamos aquí, ventana superior derecha, y también cambia la posición izquierda a derecha. A continuación viene una ventana inferior izquierda. Volvamos a duplicar en el código. El nombre de la clase va a ser ventana inferior izquierda que las dos posiciones serán 43 RAM. Necesitamos aquí posición izquierda con el mismo valor. Y por último, tenemos ventana inferior derecha. Duplicemos este código. Cambia el nombre de la clase que necesitamos aquí mismo. Y también cambiar la posición de rezago. Vamos a usar bien. Bien, Así que las cuatro ventanas están posicionadas y lo siguiente que tenemos que hacer es cuidar la forma de las ventanas superior izquierda y superior derecha. Si echamos un vistazo al proyecto terminado, verás que los lados superiores de esas dos ventanas lo rodean. Así que sigamos adelante y hagamos eso usando border-radius. Necesitamos el mismo radio de borde para ambas ventanas. El ángulo superior izquierdo va a ser del 50 por ciento. Entonces necesitamos el mismo valor para la esquina superior derecha que para las esquinas inferior izquierda e inferior derecha, serán cero. Entonces tenemos las ventanas redondeadas. A continuación, voy a crear esos marcos. Y lo haré usando los pseudo elementos después y antes En primer lugar, vamos a crear las líneas horizontales. Seleccionemos los pseudo elementos antes. Define el contenido, déjelo vacío. Después de eso, definamos ancho y alto. El ancho va a ser del 100%. En cuanto a la altura, voy a hacer punto para RAM. Y también cambia el color de fondo, hazlo un 333. Entonces ahora mismo las líneas no son visibles porque tenemos que definir esta posición. Así que pongamos la posición a absoluta. Y luego voy a definir propiedades superiores e izquierdas. La posición superior va a ser de cinco RAM. En cuanto a la posición izquierda, pongámosla a cero. Bien, entonces como pueden ver, tenemos aquí las líneas horizontales. Sigamos adelante y creamos las líneas verticales. Voy a hacer eso usando los pseudo elementos after. Copiemos este código y cambiemos antes a, después. El ancho va a ser punto cero para RAM. En cuanto a la altura, voy a hacerla cien por ciento, entonces la posición va a ser cero. Cambiemos la posición de la izquierda. Voy a lograr que sea el 50 por ciento. En realidad, necesitamos colocar las líneas verticales en el centro de la ventana. Entonces necesitamos usar aquí transformar, traducir x con valor -50% Bien, así como puedes ver, las cuatro ventanas están personalizadas y ahora tenemos que seguir adelante y cuidar la habitación Sigamos adelante y seleccionemos estos elementos y definamos su anchura y altura. Voy a poner ancho a cuatro para carnero. En cuanto a la altura, va a ser del ocho por ciento. Y luego cambia el color de fondo, hazlo blanco. El cuarto se va a colocar en el centro de la casa. Entonces, vamos a encargarnos de su posición. Fijemos la posición a absoluta. Entonces necesitamos que la posición izquierda sea del 50%. A continuación, pongamos la posición a cero. Y también para colocar el elemento en el centro al transformar, traduce X con el valor -50 por ciento Bien, así que eso es todo con respecto a la habitación por ahora. A continuación, voy a encargarme de un techo. Sigamos adelante y seleccionemos el techo de la habitación. En primer lugar, voy a definir su anchura y altura. El ancho va a ser del 110%. Entonces la altura será de 20 RAM. Y también voy a cambiar el color de fondo. Vamos a usar aquí el valor RGB 867145. Entonces como puedes ver, el techo es visible, pero tenemos que personalizarlo porque este momento no se ve bien. En primer lugar, cuidemos su posición. Voy a poner la posición a absoluta, y luego voy a definir las posiciones superior e izquierda. La propiedad superior va a ser menos diez rima En cuanto a la posición izquierda, debería ser menos cinco por ciento Después de eso, también tenemos que crear el entorno 3D para este techo. Es decir, un ambiente 3D que creamos para el techo principal de la casa. Para ellos, tenemos que usar la propiedad llamada perspectiva. Vamos a configurarlo en 100 RAM. Y luego voy a rotar el techo. Deberíamos girarlo según el eje x 40 grados. Bien. Entonces se gira el techo pero no es del todo visible. Para arreglarlo, voy a usar sombra de caja. Vamos a asignar valores 2D puntos a ram 0.5 rem, 1.5 rem, y como color voy a usar negro. Bien, Finalmente, hagamos que las esquinas de la cubierta sean redondeadas usando el radio de borde Voy a establecer el radio del borde en la esquina superior izquierda como 0.5 RAM que la esquina superior derecha también debería ser 0.5 prime. En cuanto a las esquinas inferior derecha e inferior izquierda. Vamos a ponerlos, ambos de rampa 2.3. Bien, así que finalmente, terminamos con el techo. A continuación, voy a encargarme de la ventana superior de la habitación. Sigamos adelante y seleccionémoslo. En primer lugar, definamos el ancho, altura y el color de fondo. Voy a establecer el ancho a 16 RAM que la altura va a ser 17. Ejecutar como parte el color de fondo. Vamos a configurarlo en RGB 112, luego 22.22. Entonces tenemos aquí la ventana, no se coloca correctamente en este momento. Entonces, vamos a encargarnos de su posición. Fijemos la posición a absoluta. Y luego definir las propiedades superiores y lapeadas. La posición superior va a ser 15 RAM. En cuanto al puesto de laboratorio, voy a fijarlo en 50 por ciento. Y luego para colocar la ventana perfectamente en el centro, usemos Transformar, Traducir X con el valor -50% Bien, a continuación, tenemos que hacer el lado superior alrededor de él. Y también le voy a agregar una frontera. Así que pongamos border-radius al 50%. Entonces otra vez, si 50 por ciento que cero, otra vez cero. Eso es lo que la frontera. Hagamos que sea 0.5 RAM sólida. Y como el color, vamos a usar 555. Bien, al lado de tener que personalizar a partes de esas ventanas Todos ya hemos creado dos elementos div para eso. Así que vamos a seleccionar ventana superior izquierda. Al principio. Vamos a establecer ancho y alto. El ancho va a ser 49.5%, entonces la altura será del 100% En cuanto al color de fondo, voy a usar el valor RGBA El color va a ser blanco. Es decir, necesitamos 5053 veces. Y luego vamos a disminuir la opacidad, hacerla 0.4. Después de eso, definamos la posición. Establezcamos la posición en absoluto y hagamos las propiedades superior e izquierda, ambas cero. Bien, así como pueden ver, tenemos que cambiar la forma de estos elementos Tenemos que hacerlo redondeado en la parte superior izquierda. Así que usemos border, radio superior izquierda y pongámoslo en 50 ran Por último, agreguemos un borde a estos elementos. Vamos a establecer borde 2.5 gramo sólido. Y como el color, vamos a usar 555. Bien, eso es lo del lado izquierdo. A continuación, voy a crear lo mismo en el lado derecho. Para eso, simplemente dupliquemos este código y cambiemos la izquierda en derechos en todas partes. Bien, entonces ambas partes se crean como las otras ventanas. Aquí también necesitamos las líneas horizontales. Voy a crearlos de nuevo usando los pseudo elementos antes Así que sigamos adelante y seleccionemos la ventana superior izquierda, seguida del pseudo elemento antes En primer lugar, definamos el contenido. Va a estar vacío. Entonces voy a definir la anchura y la altura. Vamos a establecer el ancho a 100% Entonces voy a establecer high 2.5 rem y también cambiar el color de fondo. Que sea 555. Eso para hacer visible el elemento de, voy a definir la posición. Fijemos la posición a absoluta. Y luego definir la propiedad superior. Va a ser del 35 por ciento. En cuanto a la posición de rezago, la voy a poner a cero. Bien, así que eso es todo sobre el lado izquierdo. Voy a crear la misma línea en el lado derecho también. Vamos a copiar este código. Pégalo aquí abajo, cambia el nombre de la clase que necesitamos escribir. Y luego cambiar la posición que necesitamos, ¿verdad? También. Entonces, eso es todo. Toda la ventana está personalizada y lo único que tenemos que hacer es crear un efecto hover Entonces, una vez que colocamos el cursor sobre los elementos de lo que debería abrir la ventana, necesitamos agregar un efecto hover de la ventana y tenemos que rotar ambos lados Sigamos adelante y comencemos por el lado izquierdo. Voy a seleccionar Ventana superior con hover. Y luego vamos a seleccionar ventana superior izquierda. Entonces necesitamos rotar el elemento de acuerdo con el eje y. Entonces necesitamos transformar rotar y. Y como valor voy a usar aquí -50 grados También para suavizar el efecto. Usemos la transición con transform 1 s. ¿Bien? Entonces consideremos que el elemento está rotando, pero eso no es lo que queremos aquí. Debe girar desde el lado izquierdo. este momento está rotando desde el centro porque el origen de la transformación está centrado por defecto, necesitamos cambiarlo y hacerla a la izquierda. Entonces voy a usar las propiedades llamadas transform origin. Y lo voy a poner a la izquierda. Ahora como puedes ver, está rotando correctamente, pero necesitamos agregar aquí una cosa más. Necesitamos rotarlo en un entorno 3D. Y para eso, volvamos a usar la perspectiva. Tenemos que asignarlo a la propia ventana. En este caso, voy a poner perspectiva a 150 rampa. Se puede ver ahora tenemos un mejor resultado. Sigamos adelante y hagamos lo mismo por el lado derecho. Voy a copiar este código. Después cambia de izquierda a derecha. Además, tenemos que deshacernos del signo menos de aquí. Entonces necesitamos cambiar el origen de la transformación. En este caso, necesitamos transformar el origen para tener razón. Y por último, usemos la transición con transform 1 s. así como puedes ver, todo funciona a la perfección y con la ventana estamos hechos. Lo único que tenemos que hacer en este proyecto es crear la puerta. En primer lugar, necesitamos crear el marco. Así que vamos a seleccionarlo y definir ancho y alto. El ancho va a ser de la marca 14. En cuanto a la altura, pongámosla en 18 RAM. Y también cambiar el color de fondo. Que sea para cuatro. A continuación, tenemos que cambiar su posición. Se debe colocar en el centro de la habitación. Así que pongamos la posición a absoluta. Entonces definió la propiedad Watson, va a ser cero. Entonces necesitamos posición de rezago. Debería ser del 50 por ciento. Y para centrarlos perfectamente, tenemos que usar transform translate x con valor -50% Después de eso, voy a agregar al marco un borde que se le asigna valores 0.6 redondo, sólido, y el color dos a dos. Y finalmente, vamos a deshacernos de la frontera en la parte inferior. Pongamos el borde inferior a ninguno. Bien, así que eso es todo con respecto al marco de la puerta. A continuación, voy a encargarme de la puerta misma. Así que vamos a seleccionar estos elementos. Definir ancho y alto. Voy a establecer ambos al 100% y también cambiar el color de fondo. Vamos a usar aquí el valor RGB 856824. Bien, entonces se considera que tenemos la puerta. Lo siguiente que tenemos que hacer es crear una manija de puerta. Entonces, sigamos adelante y seleccionemos estos elementos. Vamos a definir ancho y alto que voy a establecer con 23 RAM que la altura va a ser 0.7 rampa. Y también cambiar el color de fondo. En este caso, voy a usar 999. Entonces aquí tenemos la manija de la puerta y ahora tenemos que cambiar su posición. Fijemos la posición a absoluta. Entonces voy a moverlo hacia abajo. Así que vamos a establecer la propiedad superior a 45% de lo que la posición izquierda va a ser una ronda. Por lo que se considera que una manija de puerta está posicionada correctamente. Y lo único que tuvo que hacer es cambiar ligeramente su forma. Voy a hacerlo redondeado por el lado izquierdo. Entonces usemos border-radius con los valores 100%, 0.5 alrededor 0.5 marrón, y luego cien por ciento Y así sucesivamente, Eso es todo. Acerca de la puerta. Todo está listo para crear el efecto. Quise abrir esta puerta. Una vez que hacemos clic en la puerta. Para eso, voy a usar un poco de JavaScript. Pasemos al archivo script.js. Necesitamos agregar un evento click a la puerta. Pero antes que nada, seleccionemos estos elementos. Voy a crear nueva variable. Vamos a llamarlo puerta, y luego seleccionar los elementos div utilizando el método selector de consultas. Especificemos aquí el nombre de la clase punto. Después de eso, voy a agregar un oyente de eventos a estos elementos Así que usemos el método add event listener, que toma dos parámetros El primero es el tipo de evento que necesitamos aquí camarilla En cuanto al segundo argumento, va a ser una función callback, que se ejecutará una vez que hagamos clic en la puerta Entonces una vez que hagamos clic, voy a agregar una nueva clase a la puerta. Después usando esta nueva clase, definiremos nuevos estilos y CSS, cuales queremos que se apliquen a los elementos onclick Y luego en el siguiente click, necesitamos deshacernos de esta clase recién editada. Para eso, voy a usar uno de los métodos llamados toggle. Entonces necesitamos lista de clases de punto dor. Esta propiedad nos da todas las clases que tiene el elemento. Y entonces voy a usar el método llamado Toggle. Llamemos al cambio de nombre de clase. Eso es todo sobre el JavaScript. A continuación tenemos que escribir algunos CSS. Entonces necesitamos seleccionar una puerta con cambio de clase. Voy a rotar los elementos. Entonces necesitamos transformar, rotar según el eje y con el valor 30 grados Entonces, si hacemos clic en la puerta, entonces va a estar rotando. Pero tenemos que añadir un par de cosas a este efecto. La puerta debe girarse desde el lado derecho. También, necesitamos crear el entorno 3D y tenemos que hacer el modelo de efectos. Entonces necesitamos cambiar el origen de la transformación. Vamos a configurarlo para que escriba eso para crear espacio 3D, voy a usar perspectiva con valor cien Ren. Por último, usemos la transición con transform. Llegó 1 s. Entonces, si hacemos clic en la puerta, entonces se abrirá muy bien. Ahora tenemos que hacer lo mismo para la manija de la puerta. Voy a usar la misma técnica. Así que seleccionemos todo con el cambio de clase, seguido de la manija de la puerta. Necesitamos girar la manija de la puerta de acuerdo con el eje z. Entonces necesitamos transformar, rotar Z con un valor de 20 grados. Entonces como la puerta, tenemos que cambiar el origen de la transformación. Hagámoslo a la izquierda. Y también necesitamos hacer la transición con transformación de valor 0.5 s. así como puedes ver, todo funciona bien. Yo sólo quiero agregar aquí una cosa más. Agreguemos un poco de tiempo de retraso a la transición de la puerta porque antes que nada, quiero girar la manija de la puerta y luego abrir la puerta. Entonces agreguemos aquí 0.5 s. bien, entonces ahora todo va a la perfección. Y en realidad con este proyecto ya terminamos. Espero que lo hayan disfrutado. Entonces, sigamos adelante y comencemos a trabajar en la siguiente. 6. Proyecto 3 - Barra de búsqueda: Bien, así que sigamos adelante y empecemos a trabajar en nuestro próximo proyecto. En esta sección, vamos a estar creando una barra de búsqueda con algunos efectos de animación agradables. Sigamos adelante y describamos los proyectos. Como puedes ver, tenemos aquí un icono de búsqueda en la esquina superior derecha de la página. Si hago clic en él, entonces comenzará a moverse y animarse. Se moverá a la parte superior de la página. Entonces el campo de entrada aparecerá con la x de cierre, pero si hago clic en él, el campo de entrada se ocultará y el icono de búsqueda, volveremos a su lugar predeterminado. Entonces eso es todo sobre este proyecto. Va a ser un pequeño proyecto, pero espero que sea interesante. He creado una nueva carpeta en el escritorio llamada barra de búsqueda, que en este momento está vacía. Sigamos adelante y ábralo en código VS y creamos nuestros archivos de trabajo para HTML, CSS y JavaScript. Voy a llamarlos index.html style dot css y script.js. Bien, vamos a abrir el archivo index.html y crear un documento HTML básico Para eso, voy a usar un signo de exclamación. Entonces aquí tenemos unas etiquetas HTML básicas. En primer lugar, voy a cambiar el título. Vamos a insertar tu barra de búsqueda. Y luego voy a vincular archivos CSS y JavaScript. Vamos a abrir la etiqueta de enlace y especificar aquí la ruta del archivo. En cuanto al archivo JavaScript, voy a abrir la etiqueta script justo encima de la etiqueta de cuerpo de cierre. Y entonces necesitamos script.js y el atributo source. En realidad, además de eso, voy a traer un enlace más para Font, Iconos impresionantes. Sigamos adelante y busquemos Font Awesome, CDN, GIS. Entonces copiemos el primer enlace. Entonces necesitamos abrir la etiqueta de enlace y pegar el enlace en el atributo h reference. Entonces todo está listo. Por último, voy a ejecutar el proyecto al navegador usando un servidor en vivo. Este paquete de código VS nos permite ejecutar la vida del proyecto en el navegador. Y puedes hacer cambios y actualizaciones sin refrescar la página. Cada vez. Antes de empezar a escribir el código, voy a organizar nuestros entornos de trabajo. Coloquemos el editor y el navegador uno al lado del otro. Bien, así que finalmente, podemos empezar a escribir el código. En primer lugar, voy a crear el marcado HTML. Vamos a abrir div etiqueta Clase Buscar envoltorio de entrada. Incluirá campo de entrada de búsqueda. Así que vamos a abrir otra etiqueta div con la entrada de búsqueda de clase. Voy a pasar dos elementos distintos. El primero va a ser la entrada con el texto tipo y con el atributo placeholder con un valor, como por ejemplo para el segundo elemento, va a estar cerrando el botón X. Voy a usar aquí Fuente, Icono impresionante. Abramos I elementos. Y asignados a las clases tienen una S, f, k veces. ¿Correcto? Después de eso, necesitamos crear un icono de búsqueda. Entonces es una etiqueta div abierta con el icono de búsqueda de clases. Entonces vamos a insertar tu icono Font Awesome para las clases FAS, una búsqueda. Bien, eso es todo sobre el marcado HTML. Ahora, es el momento de personalizar esos elementos y empezar a escribir algo de CSS. En primer lugar, voy a crear algunos estilos predeterminados y restablecer. Voy a seleccionar todos los elementos usando un asterisco. En primer lugar, voy a deshacerme del margen predeterminado y el relleno. Vamos a establecer ambas propiedades a cero. Entonces voy a establecer box-sizing border-box. A lo largo de este proyecto. Voy a usar RAM como unidad de medida. este momento, 1 g es igual a 16 píxeles porque por defecto el tamaño de fuente del elemento HTML es igual a 16 píxeles. Quiero convertir 1 g en diez pixeles. Y para eso, tenemos que disminuir el tamaño de fuente de los elementos HTML y establecerlo en 62.5 por ciento Ahora, como puedes ver, todos los elementos se hicieron más pequeños. Bien, antes que nada, voy a personalizar el proyecto así Quiero decir, estilizaré y colocaré los elementos aquí en la parte superior de la página. Y luego llevaremos aquí de las animaciones. Así que sigamos adelante y seleccionemos elementos div envoltorio y definamos su ancho y alto. Voy a establecer con el 200 por ciento. Entonces la altura va a ser cinco rem. Y también cambiar el color de fondo. Voy a usar aquí RGBA valor a 55, 69 69.5 . A continuación, voy a colocar los elementos en el centro del envoltorio para eso. Usemos flexbox. Necesitamos display flex. Entonces para el centrado horizontal, voy a usar justify-content En cuanto al centrado vertical, necesitamos alinear los elementos al centro Bien, así que los elementos se colocan en el centro perfectamente Sigamos adelante y comencemos a personalizar la entrada de búsqueda. Al principio, voy a seleccionar estos envoltorios y definir el ancho. Vamos a hacer que 30 corrieran. Después de eso, voy a seleccionar el propio elemento de entrada. En primer lugar, definamos su ancho, hagamos que se ejecute 27. Y también voy a hacer transparente el color de fondo. A continuación, voy a deshacerme del borde predeterminado y dejarlo solo en la parte inferior. Entonces necesitamos una frontera ninguna. Y luego bordear abajo con los valores 0.1 RAM sólido. Y como el color voy a usar 999. Bien, después de eso, cuidemos el tamaño de la fuente. Voy a ponerla en 1.5 g. También crear algo de espacio entre las letras. Vamos a establecerlo en 0.15 redondo. También voy a deshacerme de los impagos. Esquema. Vamos a ponerla en ninguna. Después cambia el color. Usted ve aquí, 555. Y por último, voy a crear algo de espacio en el lado derecho. Vamos a establecer el margen derecho a una rampa. Bien, así que eso es todo con respecto a los campos de entrada. Sigamos adelante y arranquemos el botón X. Vamos a seleccionarlo. En primer lugar, voy a establecer el tamaño de la fuente en 1.5 gramos. Entonces voy a cambiar el color. Hagámoslo 999. Y hacer el puntero del cursor. Bien, Antes de seguir adelante y personalizar el icono de búsqueda, quiero alinear ambos elementos de verticalmente en el centro Y para eso, usemos flexbox. Necesitamos display flex y luego alinear los artículos al centro. Bien, sigamos adelante y personalicemos el icono de búsqueda. Seleccionemos sus desarrollos envoltorio. Al principio, voy a definir el tamaño de la fuente. Hagámoslo 1.5 RAM. Y luego voy a poner posición a absoluta. Vamos a colocar el icono de búsqueda frente a los campos de entrada. Voy a definir la posición de la punta como 1.7 rem. En cuanto a la posición correcta, voy a hacer un pequeño cálculo. Como saben, el ancho de la entrada de búsqueda es de 30 corridas. Para colocar el icono de búsqueda frente a las entradas de búsqueda, necesitamos agregar la mitad del ancho de la entrada de búsqueda al 50 por ciento. Entonces voy a usar una de las funciones llamadas calc. Y entonces necesitamos 50 por ciento más 15 carreras. Así que ahora como puedes ver, el icono se coloca frente a la entrada de búsqueda. Pero creo que necesitamos algo de espacio entre ellos. Entonces, en lugar de 15 RAM, usemos 16 renta. Bien, Finalmente, cambiemos el color del icono. Seleccionemos iones. Establezca su color a 999, y también cambie el cursor. Hacer un punto. Bien, así que todo está listo para crear las animaciones. Como vendiste. Por defecto, tenemos que ocultar el campo de entrada y el botón X. Y también tenemos que mover el icono de búsqueda a la esquina superior derecha de la página. Entonces sigamos adelante y hagamos eso. Voy a ocultar este envoltorio de entrada de búsqueda. Para ello, usemos opacidad con valor cero. Y también visibilidad oculta. Después se cambió la posición correcta de este icono de búsqueda. Vamos a poner bien, propiedad a tres Ran. Bien, ahora es el momento de crear animación. Echemos un vistazo al proyecto terminado. Así que una vez que haga clic en el icono, comenzará a moverse y también aumentará el tamaño. Tendremos un par de pasos diferentes durante la animación. Sigamos adelante y creamos fotogramas clave CSS. Voy a llamarlo search icon anime. Entonces de 0% a 40%, el elemento cambiará su posición superior y también el tamaño de fuente. Entonces al 0%, tendremos la Posición 1.7 ejecutada. En cuanto al 40 por ciento, tendremos dos posiciones con valor 40%. Y también el tamaño de fuente con una rampa de valor 25. Entonces de 40% a 60%, el elemento mantendrá su posición superior. Pero vamos a cambiar la posición correcta. Entonces al 60% vamos a tener, nuevamente top con 40 por ciento. Esa es probablemente la posición correcta. Tendremos el cálculo 50 por ciento más 16 rampa. Por último, del 60% al 100%, los elementos cambiarán su posición, pero mantendremos la posición correcta. Entonces al 100%, tendremos propiedad superior con valor 1.7 rem y la posición correcta con el valor anterior. Entonces los fotogramas clave CSS están listos. Ahora no hemos aplicado esta animación al elemento. Para eso, voy a usar la propiedad de animación. Tenemos que especificar aquí el nombre de los fotogramas clave, y luego la duración de la animación Va a ser 1 s. así como se puede ver que el icono se mueve y la animación funciona bien. Tenemos aquí un pequeño tema. Una vez que termina la animación el icono vuelve a su posición predeterminada. No necesitamos eso. Tenemos que mantener la posición que tenemos al 100 por ciento. Entonces para hacer eso, tenemos que usar uno de los valores llamados forward vino. Entonces ahora se puede ver que todo funciona bien. En realidad, necesitamos ejecutar esta animación una vez que hagamos clic en el icono. Entonces ahora es el momento de comenzar a escribir algo de JavaScript. Necesitamos adjuntar un oyente de eventos click al icono de búsqueda Entonces antes que nada, voy a seleccionar este icono. Vamos a crear una nueva variable y llamarla icono de búsqueda. Voy a seleccionar este elemento usando el método selector de consultas. Especificemos aquí nombre de clase, icono de búsqueda, seguido del nombre de la etiqueta. Después de eso, voy a agregar un oyente de eventos al ícono de búsqueda Tenemos que especificar aquí el evento click. Y también tenemos que pasarte una función de devolución de llamada, que se ejecutará una vez que hagamos clic en el icono Buscar Entonces, como saben, tenemos que aplicar la propiedad de animación a este icono de búsqueda. Para hacer eso, voy a agregar una nueva clase al icono de búsqueda, me refiero al elemento padre. Después seleccionaremos ese elemento usando la clase recién creada en CSS. Y aplicaremos propiedades de animación del elemento. Entonces necesitamos que busques icono, entonces tenemos que tener acceso a sus elementos padre. Así que voy a usar aquí la propiedad llamada elementos padre. A continuación necesitamos otra propiedad llamada lista de clases. Incluye todas las clases que tiene el elemento. Y entonces voy a usar método llamado add. Especificar. Aquí la clase, digamos cambio. Bien, eso es todo con respecto a JavaScript en este momento, volvamos al archivo CSS Entonces como dije, ahora necesitamos seleccionar Icono de búsqueda con un cambio de clase. Entonces tenemos que mover aquí esta línea de código. Entonces ahora si hago clic en el icono de búsqueda entonces se ejecutará la animación. Bien, a continuación tenemos que mostrar el envoltorio de entrada de búsqueda. En este momento está oculto. Entonces de la misma manera, voy a usar el cambio de clase. En primer lugar, vamos a seleccionar un rapero, crear una nueva variable y llamarlo contenedor de entrada de búsqueda. Voy a seleccionar este elemento utilizando de nuevo el método QuerySelector Especificemos aquí el nombre de la clase, el envoltorio de entrada de búsqueda. Entonces agreguemos el cambio de clase a estos elementos. Entonces necesitamos entrada de búsqueda, envoltorio, punto, lista de clases, punto, agregar con un cambio de clase. Después vuelve al archivo CSS y selecciona el envoltorio con el cambio de clase. Entonces, para mostrar el envoltorio de entrada de búsqueda, necesitamos opacidad uno y visibilidad visible. Entonces ahora si hago clic en el icono de búsqueda, entonces aparecerá la entrada de búsqueda. En este momento aparece sin ningún efecto. Entonces necesitamos usar la transición con los valores Todo lo que la duración va a ser 0.5 s Además de eso, voy a usar aquí poco tiempo de retardo 1 s. bien, Así que ahora como pueden ver, tenemos aquí un efecto mucho más agradable y genial Antes de seguir adelante y comenzar a programar el botón de cierre, quiero agregar una cosa más aquí. Una vez que se muestre la entrada de búsqueda, quiero que se enfoque automáticamente. Para eso, voy a usar uno de los métodos llamados focus. Pero en este caso necesitamos esperar 1 s para que aparezcan los elementos. Entonces, al principio, vamos a seleccionar los elementos de entrada, crear una nueva variable. Y compañeros buscan insumos. Voy a seleccionar elemento nuevo con el método QuerySelector Especificemos aquí las entradas de búsqueda de nombre de clase, seguidas de la entrada de nombre de etiqueta. Entonces voy a usar un método llamado set time out. Se necesitan dos parámetros. El primero es una función de devolución de llamada. Insertemos tu enfoque de punto de entrada de búsqueda. En cuanto al segundo argumento va a ser la cantidad de tiempo. En este caso. Como decíamos, necesitamos un segundo, así que voy a pasar aquí mil milisegundos. Entonces ahora si mostramos la entrada de búsqueda, entonces se enfocará automáticamente. Ahora tenemos que seguir adelante y hacer que el botón X funcione. Una vez que hacemos clic en él, tenemos que ocultar el envoltorio de entrada de búsqueda. Y también tenemos que volver a mover el icono de búsqueda a su posición predeterminada. En primer lugar, vamos a seleccionar el botón X. Voy a crear nueva variable. Llamémoslo cerrar icono. Y luego seleccionar los elementos usando el método QuerySelector. Quiero especificar aquí el nombre de la clase, las entradas de búsqueda, seguido del nombre de la etiqueta I. Después de eso, tenemos que adjuntar click event listener al icono Especificemos aquí el tipo de evento click. Y también necesitamos una función de devolución de llamada. Así que una vez que hacemos clic en el botón que tenemos que eliminar el cambio de clase del envoltorio de entrada búsqueda y el icono de búsqueda también. Entonces voy a agarrar esas dos líneas, pegarlas aquí, y luego cambiarme en in para quitarlas. Entonces ahora si hago clic en el botón X, entonces los elementos se ocultarán y también el icono de búsqueda, volveremos a su lugar inicial. En realidad, todo funciona bien, pero necesitamos agregar algunos efectos aquí. Primero, voy a ocultar elementos con alguna transición. Así que usemos la transición con el envoltorio de entrada de búsqueda. Vamos a asignar valores de verdad todos y 0.5 s. Ahora como puede ver, los elementos se esconden sin problemas. A continuación, voy a encargarme de este icono de búsqueda. Vamos a crear una animación separada en que definiremos el movimiento del icono hacia el lado derecho. Vamos a crear nuevos fotogramas clave CSS. Voy a llamarlos búsqueda, icono y M2. Tendremos dos pasos diferentes, 0% y 100%. Al 0%, necesitamos definir la posición correcta. Y tenemos que instituir el cálculo, 50 por ciento más 16 RAM. Eso es para el 100%. Tenemos que definir la posición correcta como tres rondas. Por último, apliquemos esta animación al icono de búsqueda. Utilice la propiedad de animación con el valor es icono de búsqueda y m2. Después 0.5 s. y también necesitamos adelante. Bien, así como puedes ver, todo funciona a la perfección. Y en realidad con este proyecto ya terminamos. Espero que hayan disfrutado de este video y aprendan algunas cosas nuevas. Sigamos adelante y nos encarguemos del próximo proyecto. 7. Proyecto 4 - Reloj: Bien, así que es hora de seguir adelante y comenzar a construir nuestro próximo proyecto En este video, vamos a crear un reloj con HTML, CSS y JavaScript. Va a ser un reloj estándar, que probablemente tengas en casa en la pared. Aquí tenemos números para horas y también tres flechas diferentes que indican las horas, minutos y segundos. Bien, sigamos adelante y comencemos a crear un proyecto. Tengo una nueva carpeta en el escritorio llamada reloj, que ahora mismo está vacía. Vamos a abrirlo en código VS y crear nuestros archivos de trabajo para HTML, CSS y JavaScript. Voy a llamarlos index.html, style.css y scripts punto js. A continuación, abra el archivo index.html y cree un documento HTML básico. Para eso, necesitamos colocar aquí un signo de exclamación y luego golpear Tab o Enter Entonces aquí tenemos las etiquetas HTML básicas. Lo primero que voy a hacer es cambiar el título. Vamos a insertar tu reloj. Y luego voy a vincular archivos CSS y JavaScript. Vamos a abrir la etiqueta de enlace en el elemento head y especificar aquí la parte del archivo CSS. En cuanto al JavaScript, voy a abrir la etiqueta script justo encima de la etiqueta de cuerpo de cierre. Y luego necesitamos especificar la ruta del archivo en los atributos de origen. Bien, entonces estamos listos para comenzar. Lo último que voy a hacer es ejecutar el proyecto al navegador. Para eso, voy a usar uno de los paquetes de código VS llamado servidor en vivo. Nos permite ejecutar el proyecto en vivo en el navegador y realizar cambios y actualizaciones sin actualizar la página cada vez. Bien, por último, coloquemos el navegador y el editor uno al lado del otro, así. Y empezar. Voy a crear el marcado HTML. Entonces lo vamos a darle estilo. Quiero decir, vamos a hacer que los elementos se vean como el reloj. Y luego haremos que funcione usando JavaScript. Así que sigamos adelante y comencemos a crear el marcado HTML. Abramos la etiqueta profunda, que va a ser el contenedor. Incluirá todo el contenido. Entonces voy a abrir otra etiqueta div dentro del contenedor que está asignado al reloj de clase. El reloj constará de dos partes distintas, pero tendremos los números y las flechas. Es una etiqueta div abierta con los números de clase. Tendremos cuatro números diferentes. Vamos a abrir la etiqueta div con la clase 12. Y como el contenido, vamos a instituir tu 12. Entonces voy a duplicar esta línea de código tres veces y luego cambiar los nombres de las clases y también el contenido. Necesitamos tres. Después 6.9. Eso es lo de los números. Vamos a abrir la etiqueta div, que va a ser la envoltura de las flechas. Tendremos tres flechas distintas. Vamos a abrir la etiqueta div con la hora de clase. Entonces voy a duplicarlo dos veces y cambiar los nombres de las clases. Necesitamos aquí, minutos y segundos. Bien, eso es todo con respecto al marcado HTML. Ahora mismo tenemos aquí solo los números. Así que sigamos adelante y comencemos a personalizar el reloj. En primer lugar, voy a traer el enlace para las fuentes de Google. Voy a usar una de las fuentes de Google lo largo de este proyecto. Así que sigamos adelante y visitemos el sitio web de Google Fonts. Después busca una de las fuentes llamadas concert one. Entonces en estos momentos tenemos aquí un texto como ejemplo, pero nos interesan los números. Así que simplemente podemos cambiar la oración en números y ver cómo se ve la fuente. Seleccionemos el estilo. Para vincular los pons, tenemos dos opciones diferentes Puedes agarrar este enlace y pegarlo en el elemento head, o puedes hacer clic en Importar, tomar esta URL y pegarla en el archivo CSS. Bien, así que una vez que se selecciona la fuente, a continuación, voy a restablecer algunos estilos predeterminados Seleccionemos todos los elementos usando un asterisco y deshagamos de default, margin y padding. Voy a establecer ambos a cero y también cambiar la familia de fuentes para cada elemento Vamos a usar aquí están Cuckoo concepto de fuente un curso Bien, así como pueden ver, ahora los números se ven de una manera diferente Entonces voy a este proyecto, voy a usar la RAM como unidad de medida. este momento, 1 g equivale a 16 píxeles porque el tamaño de fuente del elemento HTML es igual a 16 píxeles. Quiero convertir una RAM en diez píxeles. Por lo tanto, tenemos que disminuir el tamaño de fuente de los elementos HTML Y que sea 62.5 por ciento Entonces, como pueden ver, los números se hicieron más pequeños. A continuación, voy a encargarme del contenedor. Vamos a seleccionarlo. Y antes que nada, definamos su anchura y altura. Voy a establecer el ancho al 100 por ciento. En cuanto a la altura, voy a hacer que sea 100% de la ventana gráfica Entonces necesitamos 100 vh. A continuación, voy a colocar el contenido del contenedor en el centro. Y para eso, usemos flexbox. Tenemos que configurar la pantalla para flexionar. Y luego para el centrado horizontal y vertical, necesitamos justificar el centro de contenidos y también alinear los elementos al centro Bien, así que ahora el contenido se coloca en el centro y podemos personalizar el propio reloj Sigamos adelante y seleccionemos Reloj y definamos su ancho y alto. Voy a ponerlos a los dos en 45. Corre. También cambia el color de fondo. Voy a hacerlo gris usando el color ACA, CAC. A continuación, voy a hacer redondear el reloj. Para ello, tenemos que usar border-radius con valor 50%. Entonces vamos a crear un pequeño borde. Vamos a establecer su ancho en 0.5 RAM, luego hacerla sólida. En cuanto al color, vamos a usar 777. Y por último, vamos a crear un pequeño efecto de sombra. En los cuatro lados. Use box-shadow con los valores 0.5 gram dos veces que una RAM Y como el color, vamos a usar 555. Y entonces voy a colocar aquí -0.5 rem dos veces una habitación. Y del mismo color. Bien, vamos a verlo con respecto al reloj. A continuación, voy a encargarme de los números. Seleccionemos el elemento div envoltorio y definido dentro de height. En este caso, necesitamos heredar el mismo ancho y alto del elemento padre, que es un reloj Entonces necesitamos establecer ancho y alto, ambos para heredar ¿Bien? Después de eso, voy a seleccionar todos los elementos div dentro de los números. Entonces al principio vamos a posicionar los números. Vamos a establecer la posición en absoluto. Entonces para posicionar los números de acuerdo con el elemento padre, necesitamos establecer la posición de los números en un relativo. Y después de eso, aumentemos el tamaño de fuente de los números. Hazlo 2.5 rem. Bien, así que ahora voy a posicionar cada uno por separado. Sigamos adelante y comencemos con el 12. Se va a colocar en la parte superior del reloj. Así que vamos a seleccionarlo y establecer es a la posición 21 correr. Entonces tenemos que centrarlo horizontalmente. Para eso, voy a establecer la posición izquierda en el 50 por ciento. Y luego para un centrado perfecto, hay que usar Transform con la función translate x Y tenemos que traducir los elementos en -50%. ¿Bien? A continuación tenemos tres. Vamos a seleccionarlo. En caso de tres, necesitamos la posición correcta para ser una RAM. Y luego tenemos que censurar los elementos verticalmente. Por lo que tenemos que establecer la posición en el 50 por ciento. Y en este caso necesitamos transformar, traducir y -50%. Sigamos adelante y nos ocupemos del resto de los números. El siguiente son seis. En este caso, necesitamos poner alguna posición para ser una sola carrera. Entonces vamos a agarrar esas dos líneas de aquí. En cuanto al último número, que es nueve, necesitamos la posición izquierda para ser una RAM. Y entonces necesitamos esas dos líneas aquí también. Bien, así que los cuatro números están posicionados. A continuación, voy a cambiar el color. Hagámoslo blanco. Y también crear un poco de efecto de sombra. Usa sombra de texto con los valores apuntando a RAM tres veces. Y el color también. Eso es todo respecto a los números. Sigamos adelante y nos ocupemos de las flechas. En primer lugar, definamos este ancho y alto como números. Voy a heredar ancho y alto del reloj. Vamos a ponerlos a ambos para heredar. A continuación, voy a definir la posición. Hagámoslo absoluto. En este caso, el elemento saltará del flujo normal de la página. Y para posicionarlo de acuerdo con el elemento padre, necesitamos posicionarlo relativo para el reloj. A continuación, definamos las propiedades top y lag las voy a poner a cero las dos. ¿Deberíamos colocar las flechas en el centro del reloj? Y para lograrlo, voy a utilizar de nuevo flexbox Necesitamos display flex y luego justificar centro de contenido y alinear el centro de elementos. Bien, eso es todo sobre el envoltorio. A continuación, voy a crear este pequeño círculo. Se va a crear usando el pseudo elemento before. Así que vamos a seleccionar flechas seguidas del pseudo elemento antes Vamos a vaciar el contenido. Luego se definió el ancho y la altura y también el color de fondo. Voy a establecer ancho y alto a 2.5 RAM. En cuanto al color de fondo, va a ser blanco. Entonces aquí tenemos los elementos, ahora mismo tiene la forma del cuadrado. Entonces hagámoslo un círculo. Y también hagamos un poco de efecto de sombra. Pongamos también el radio del borde al 50 por ciento, la sombra. Usemos sombra de caja con los valores apuntando a RAM dos veces. Después 0.5 RAM. Y como el color, vamos a usar 777. Bien, digamos de un círculo. Sigamos adelante y nos ocupemos de las flechas. este momento no son visibles porque solo tenemos los elementos div vacíos. Sigamos adelante y seleccionemos todos los elementos div dentro de las flechas. En primer lugar, como se define ancho y alto, y también el color de fondo. Voy a establecer con 2.7 rem. Entonces la altura va a ser 12. Ejecutar como parte el color de fondo, voy a usar color f, f, f 0, f phi. Entonces ahora los elementos son visibles. A continuación, voy a encargarme de sus posiciones. Voy a colocarlos en el centro de este círculo. Así que pongamos la posición a absoluta. Y luego definir la posición inferior, haciendo 50%. Después de eso, voy a agregar un poco de efecto de sombra a las flechas. Usemos sombra de caja. El valor es punto a ejecutar dos veces, luego 0.5 RAM, y el color 777. Bien, por último, cambiemos la forma de los elementos para que se vean como las flechas. Voy a hacer eso usando border-radius. Entonces el radio fronterizo toma cuatro valores diferentes. Las esquinas superior izquierda, superior derecha serán del 100%. S4, las esquinas inferior derecha e inferior izquierda, voy a hacerlas ceros Entonces como puedes ver, ahora, los elementos se parecen a las flechas. En este momento vemos aquí solo una flecha, pero se muestran las tres flechas. Se colocan uno encima del otro. Lo siguiente que voy a hacer es colocar las flechas detrás de este círculo. Y para eso podemos usar la propiedad z-index con algún valor mayor que cero, digamos diez ¿Correcto? Después de eso, voy a personalizar las flechas por separado. Empecemos por los segundos, porque se coloca encima del resto de las flechas. Voy a cambiar el color de fondo. Vamos a establecerlo para C, F, E seis. Ahora mismo, no se cambia nada. Y sucede porque ya hemos cambiado el color de fondo de las flechas cuando las seleccionamos usando la etiqueta div. Y tiene una mayor precedencia. Para sobrescribir este estilo, necesitamos seleccionar el elemento usando los elementos del padre Me refiero a flechas. Entonces ahora se cambia el color de fondo. Además de eso, voy a rotar la flecha. Usemos Transformar con la función rotate. Y voy a rotar la flecha. Adiós, digamos 270 grados. este momento, la flecha se gira desde el centro porque por defecto el origen de la transformación se establece en el centro. En este caso, necesitamos hacer el origen de la transformación en el centro inferior. Ahora como puede ver, el problema está arreglado. A continuación, vamos a encargarnos de la hora probable. Segundo, necesitamos seleccionarlo usando el elemento padre porque vamos a disminuir su altura. Vamos a establecer su altura en diez RAM. Y también voy a rotar la flecha. Vamos a girarlo 90 grados. Bien, así que finalmente, el reloj está personalizado y todo está listo para hacer el trabajo Como dijimos, vamos a hacer eso usando JavaScript. Así que sigamos adelante y abramos el archivo script.js. Lo primero que voy a hacer es seleccionar las tres flechas. Así que sigamos adelante y creamos una nueva variable. Voy a llamarlo Nuestro. A continuación, seleccione la flecha utilizando el método selector de consultas. Especificemos aquí el nombre de la clase hora. Entonces voy a duplicar esta línea de código dos veces. Cambiemos el nombre de la variable que necesitamos minutos. Y también necesitamos aquí minuto de clase Y luego necesitamos aquí segundo y el nombre de la clase. A ver, instituir un segundo también. Bien, después de eso, voy a crear una función. Vamos a llamarlo fecha fijada. Dentro de esa función, lograremos trabajar las flechas correctamente. Y luego llamaremos a esta función después de cada segundo usando el método set interval. En primer lugar, voy a crear una variable que nos dará el estado actual. Voy a llamarlo. Ahora. Debe ser igual a nueva fecha. Veamos en la consola o esta variable nos da, voy a ejecutar console.log. Ahora. A continuación voy a llamar a esta función. Pero con el método de intervalo establecido. En realidad, este método nos permite ejecutar la función con algunas integrales. Se necesitan dos argumentos. El primero es el nombre de la función. En nuestro caso, es fecha fijada. En cuanto al segundo argumento es la cantidad del intervalo expresado en milisegundos. En nuestro caso, van a ser mil milisegundos. Inspeccionemos la página y cambiemos a la pestaña Consola. Entonces, como pueden ver, estamos consiguiendo aquí la fecha y hora actuales y también la zona horaria después de cada segundo. Bien, a continuación tenemos que definir los segundos, minutos y horas por separado. Así que vamos a crear una nueva variable. Voy a llamarlo obtener segundo. Para obtener los segundos de la hora actual, tenemos que usar uno de los métodos de fecha incorporados llamado get seconds. Entonces necesitamos ahora punto obtener segundos. Si comprobamos esta variable en la consola, entonces obtendremos segundos. De la misma manera, tenemos que definir minutos y horas. Así que vamos a duplicar esta línea de código dos veces y luego cambiar los nombres de las variables y también los nombres de los métodos. Necesitamos. Obtener minutos y obtener horas. Bien, entonces se crean las tres variables. Como puedes ver, nuestro reloj tiene la forma del círculo y el tamaño del círculo es igual a 360 grados. Necesitamos convertir segundos, minutos y horas en grados para definir las porciones del momento de cada flecha. Sigamos adelante y comencemos con estos segundos. Voy a crear una nueva variable. Vamos a llamarlo, digamos segundo grado. Entonces, para convertir segundos en grados, necesitamos usar la siguiente fórmula. Tenemos que dividir la cantidad actual de segundos, Bye 60, porque tenemos 60 s. y luego tenemos que multiplicarlo por 360. Bien, entonces ahora todos o ellos pueden hacer que mueva la segunda flecha Para eso tenemos que rotarlo en segundo grado. Así que necesitamos un segundo punto estilo dot transform igual a rotar función. Y como valor, tenemos que pasar aquí. Segundo grado seguido de los grados. Entonces como puedes ver, ahora, si la flecha se mueve después de cada segundo y nos muestra los segundos actuales. De la misma manera tenemos que convertir minutos y horas. Duplicemos esta línea de código dos veces. Entonces necesitamos minutos. Titulación. Entonces se pone minuto. A continuación necesitamos nuestro grado. Y consigue nuestro en este caso, tenemos que dividirlo por 12 porque general tenemos 12 h. bien, finalmente, necesitamos definir los valores de la función rotate para los minutos y las horas. Duplicemos esta línea de código dos veces. Necesitamos aquí estilo minucioso. Y también tenemos que aprobar tu minuto de grado. Eso es por la hora. Aquí tenemos dos caminos, nuestro grado. Bien, así se puede ver que tenemos aquí una hora actual y el reloj está funcionando perfectamente 8. Proyecto 5 - Navbar: Bien, así que es hora de seguir adelante y comenzar a construir nuestro próximo proyecto En este video, vamos a estar creando una barra de navegación. De un vistazo, el proyecto parece sencillo, pero será realmente interesante y ojalá aprendas algunas cosas nuevas. Bien, sigamos adelante y describamos el proyecto. Como puedes ver, tenemos aquí un par de elementos de navegación diferentes. Están representados por los iconos Font Awesome. Por defecto, el primer ítem tiene un color diferente con diferente fondo y también con diferente forma. Una vez que haga clic en otros elementos que van a cambiar esos colores y forma con bonitos efectos. Sigamos adelante y comencemos a construir el proyecto. He creado una nueva carpeta en el escritorio llamada navbar, que ahora mismo está vacía Sigamos adelante y lo abrimos en VS Code y luego creamos nuestros archivos de trabajo. El primero va a ser index.html. Entonces necesitamos style.css y script.js. A continuación, abra el archivo index.html y cree un documento HTML básico. Para eso voy a usar amidas. Coloquemos aquí un signo de exclamación y luego presionemos Tab o enter Aquí tenemos las etiquetas HTML básicas. Antes que nada, cambiemos el título. Voy a pasar tu navbar. Entonces voy a vincular archivos CSS y JavaScript. Vamos a abrir la etiqueta de enlace y especificar aquí el nombre del archivo de este usuario. En cuanto al JavaScript, voy a abrir la etiqueta script justo encima de la etiqueta de cuerpo de cierre. Y luego tenemos que especificar la ruta del archivo en el atributo source. Bien, además de eso, voy a traer un enlace más para los iconos Font Awesome Sigamos adelante y busquemos Font Awesome. Cdn JS Después copia el primer enlace desde aquí. Abra la etiqueta de enlace en el elemento head y pegue el enlace CDN en el atributo de referencia h Bien, ya casi estamos listos para empezar a escribir el código. Vamos a ejecutar el proyecto al navegador. Para eso voy a usar uno de los paquetes de código VS se llama Live Server. Nos permite ejecutar el proyecto en vivo al navegador y realizar cambios y actualizaciones sin actualizar la página cada vez. Por último, coloquemos el editor y navegador uno al lado del otro. Así. Y empezar. Voy a empezar a crear el marcado HTML. Vamos a abrir la etiqueta de navegación HTML5 con una clase. Ahora para dentro de ese elemento, tendremos siete elementos de navegación diferentes. Vamos a abrir la etiqueta de enlace con la clase ahora por enlace. Por lo que el elemento de cada enlace incluirá Fuente, Icono impresionante. Abramos elemento I con las clases FAS en una casa. Después duplica esta línea de código seis veces y cambia los nombres de clase de los iconos Font, Awesome. El segundo va a ser cámara. Entonces tendremos calendario fuera. El siguiente va a ser campus. Entonces tendremos libro. El siguiente icono va a ser cámara retro. Y finalmente vamos a tener auriculares. Bien, así que eso es todo con respecto al marcado HTML por ahora, vayamos al archivo CSS y personalicemos el principio de elementos Voy a crear algunos estilos predeterminados y restablecer. Sigamos adelante y seleccionemos cada elemento usando un asterisco En primer lugar, voy a deshacerme del margen predeterminado y el relleno. Vamos a establecer ambas propiedades también. Cero. Entonces necesitamos dimensionamiento de cajas, border-box. Además, voy a deshacerme de los estilos predeterminados de los elementos de enlace usando decoración de texto, ninguno. Entonces, a lo largo de este proyecto, vamos a usar RAM como unidad de medida. este momento, 1 g es igual a 16 píxeles porque el tamaño de fuente del elemento HTML es igual a 16 píxeles. Por defecto, voy a convertir 1 g en diez píxeles. Y para eso, necesitamos disminuir el tamaño de fuente del elemento HTML. Vamos a establecerlo en 62.5 por ciento. Bien, después de eso, voy a seleccionar unos elementos de cuerpo y definir su anchura y altura Voy a establecer el ancho al 100%. La altura va a ser el 100% de la ventana gráfica, me refiero a 100 vh Y también cambiar el color de fondo. Voy a utilizar el valor RGB 19124826. A continuación, voy a colocar la siesta o en el centro de la página. Podemos hacerlo de un par de maneras diferentes. En este caso, voy a usar una grilla CSS. Necesitamos rejilla de exhibición Y luego colocar los artículos en el centro. Entonces, como puedes ver, los ítems están centrados tanto horizontal como verticalmente. Entonces veamos acerca de los elementos del cuerpo. A continuación, voy a personalizar la napa. En primer lugar, se define su anchura y altura. Voy a establecer el ancho a 70, corrió. Para la altura, van a ser diez RAM. Además de eso, voy a asignarle un color de fondo temporal para ver cómo se ve la barra de navegación Así que al revés en color a gris claro CCC. este momento los elementos de navegación terminaron en la esquina superior izquierda de la barra de navegación Tenemos que enviarles. Y para eso, usemos flexbox. Necesitamos display flex. Entonces para el centrado horizontal, necesitamos justify-content Pongamos la dirección vertical. Necesitamos alinear los artículos al centro. Bien, eso es lo de la barra de navegación. Siguiente Voy a personalizar ahora por enlace. Al principio, definamos el ancho y la altura. El ancho va a ser tan RAM como por la altura, voy a ponerla al 100%. Además, cambiemos el color de fondo. Voy a usar de nuevo el valor RGB 222-23-3181 y deshacerme del color de fondo temporal del Napa Bien, a continuación tenemos que posicionar los elementos de navegación. Voy a colocarlos horizontalmente en el centro y abajo abajo en la parte inferior de la napa. Para eso, vamos a utilizar de nuevo flexbox. Necesitamos mostrar flex y luego alinear los elementos con un flex de valor y también justificar el centro de contenido. Además de eso, voy a crear algo de espacio en la parte inferior usando relleno. Vamos a colocar la parte inferior del acolchado en una rampa. ¿Verdad? Eso es todo sobre el link napa. Sigamos adelante y los clientes, la fuente, iconos impresionantes. Seleccionemos elementos. En primer lugar, voy a aumentar el tamaño de la fuente. Vamos a establecerlo a 2.5 marca y luego cambiar el color, hazlo 333. Bien, así que el número está casi personalizado y ahora tenemos que hacerlo funcionar Echemos un vistazo a los proyectos terminados. El semicírculo, que ves con el elemento de navegación de actina creado usando antes del pseudo elemento creado usando antes del pseudo Entonces ahora voy a crear este elemento. Seleccionemos ahora tirando con antes de pseudo elementos. En primer lugar, necesitamos definir el contenido. Va a estar vacío. Después defina ancho y alto. El ancho va a ser diez. Corre. En cuanto a la altura, voy a convertirlo en un Tran. Y también le voy a asignar algún color de fondo temporal. Digamos rojo. Bien, así que aquí tenemos antes pseudo elementos. A continuación, voy a cambiar su posición. Fijemos su posición a absoluta. En realidad, necesitamos posicionar este elemento de acuerdo con el vínculo navajo Así que vamos a asignar a cada posición relativa. A continuación, necesitamos definir las posiciones superior e izquierda. La posición superior va a ser del -100%. Esa es probablemente la posición izquierda. Voy a ponerla a cero. Y finalmente, cambiemos la forma del pseudo elemento before usando border-radius Tomará cuatro valores. El primero va a ser la esquina superior izquierda. Pongámoslo a cero. Entonces la esquina superior derecha va a ser cero. esquina inferior derecha será de cinco RAM, mientras que la esquina inferior izquierda, también va a ser de cinco primos Bien, así que ahora estamos listos para hacer que una app funcione. Para eso. Voy a usar algunos JavaScript que tenemos que adjuntar ahora edificios clic evento. En primer lugar, seleccionemos todos conocemos Berlín's. Voy a crear una nueva variable. Llamémoslo parpadea y seleccionamos todos los enlaces usando el selector de consultas. Todos los métodos. Necesitamos especificar aquí el nombre de la clase ahora por enlace. A continuación tenemos que mirar a través de los enlaces, en realidad el método query selector all devuelve un objeto similar a una matriz llamado node list Tenemos que revisar esta lista y adjuntar un oyente de eventos a cada enlace Para mirar a través de la lista, voy a usar uno de los métodos de ayuda de matriz llamado forEach Este método funciona bien con la lista de nodos. No tenemos que transformarlo en la matriz. De lo contrario, si usas otro método de ayuda de matriz o si quieres mirar a través de la HTMLCollection que al principio, donde tienes que transformarlo en una matriz Bien, vamos a usar forEach método. Tenemos que pasar una función de devolución que tomará un parámetro Va a ser el elemento actual en el bucle A continuación, necesitamos adjuntar un oyente de eventos a cada enlace Vamos a especificar aquí el tipo de evento clic y también pasarle una función de devolución que se ejecutará una vez que hagamos clic en el enlace Así que una vez que hacemos clic en el ítem, tenemos que movernos antes del pseudo elemento hacia abajo. Voy a agregar una nueva clase al enlace. Después seleccionaremos antes de ver la isla con esta clase y definir el movimiento del elemento con CSS. Entonces agreguemos una nueva clase al enlace. Necesitamos aquí la propiedad de lista de clases, que incluye todas las clases que tiene el animal. Entonces debería ser seguido por el método add. Y tenemos que especificar aquí el nombre de la clase. Digamos que el cambio. Bien, vamos al archivo CSS y seleccionemos antes pseudo elemento con el cambio de clase y definamos la posición superior Y es -30%. Bien, entonces ahora si hago clic en el elemento de navegación entonces antes pseudo elemento se moverá hacia abajo, en realidad tenemos aquí un pequeño problema Si hacemos clic y otro elemento de navegación que el anterior, así los brazos se moverán hacia abajo, pero el anterior mantendrá su posición. Entonces tenemos que arreglarlo. Necesitamos reemplazar el nombre de clase del elemento link con Napa link. Nuevamente OnClick. Para eso tenemos que mirar a través de los enlaces y definir el nombre de la clase como enlace napa. Entonces necesitamos, de nuevo para cada método con una función de devolución de llamada con un enlace de parámetro Entonces tenemos que definir className. Y debería ser igual al enlace NOPAT. Bien, así como pueden ver, ahora el problema está arreglado A continuación, voy a cambiar el color de los iconos y también el color de fondo. Por lo que necesitamos seleccionar un enlace de Albert con cambio de clase. Vamos a definir el color de fondo. Voy a utilizar aquí el valor RGB 185-19-7147. A continuación, voy a seleccionar iones de nuevo con cambio de clase. Vamos a definir el color. Va a ser blanco. Y también aumentar el tamaño de la fuente, que sea 3.5 rem. Entonces como puedes ver, los elementos de navegación cambian sus colores y tamaño. Una vez que hacemos clic en ellos, echemos un vistazo al proyecto terminado. Entonces, una vez que hacemos clic en el elemento de navegación que sus hermanos, cambiamos el radio del borde. Entonces ahora tenemos que encargarnos de eso. Como el cambio de clase. Voy a agregar una nueva clase a los elementos hermanos del ring Y luego definiremos estilos y CSS. Por lo que necesitamos vincularles la propiedad llamada elementos anteriores hermano. Entonces otra vez, tenemos que usar propiedad de arrendamiento de clase. Bueno, el método add, y voy a especificar aquí el nombre de la clase. Digamos prev, EL cambio. Me refiero al cambio de elemento previo. Duplicemos esta línea de código. En lugar de hermano anterior, necesitamos el siguiente elemento hermano Y también cambiar el nombre de la clase. Necesitamos el siguiente cambio de elemento. Bien, vamos al archivo CSS y seleccionemos eNobe o enlace con esas clases recién agregadas Entonces tenemos que establecer aquí frontera, arriba a la derecha, radio a 1.3 rem. Duplicemos este código. Cambiar el nombre de la clase, necesitamos el siguiente cambio de elemento. Y en este caso necesitamos verter el radio superior izquierdo con el mismo valor. ¿Bien? Entonces, para ver mejor si el radio de frontera funciona bien, vamos a deshacernos de este color de fondo rojo temporal y usar el color que es el mismo que el color de fondo del elemento body Bien, Entonces ahora el radio del borde es visible, pero como puedes ver, necesitamos ajustar la posición de los pseudo elementos anteriores a la ligera porque las esquinas del ítem no se ven del todo bien Para hacer eso al principio, voy a aumentar ligeramente el ancho de los pseudo elementos antes Vamos a establecerlo en diez puntos para RAM. Y luego tenemos que mover los elementos hacia el lado izquierdo. Entonces cambiemos la posición que estoy en la propiedad de la izquierda. Necesitamos punto menos para correr. Bien, entonces ahora como pueden ver, tenemos un resultado mucho mejor. En realidad, aquí hay un pequeño problema. Si hacemos clic en el primer elemento, entonces el border-radius del siguiente elemento en el trabajo Porque aquí tenemos un error. Si inspecciono la página y luego cambio a la pestaña de la consola, verá el error diciendo que no se puede leer la lista de clases de propiedad de null. Ocurre porque el primer ítem no tiene al hermano anterior Y el mismo problema que tenemos con el último ítem. No tiene el siguiente elemento hermano. Para arreglarlo, voy a crear nuevos elementos en HTML. Quiero decir, esos elementos que tenemos frente al primer ítem y al final del número. Entonces vamos a abrir la etiqueta div con una clase ahora por enlace Luego copie esta línea de código y peguela abajo. Entonces ahora tenemos que hacer un par de cosas porque los elementos de navegación no se ven bien al principio, aumentan el ancho de la Navbar Vamos a configurarlo en 90 RAM. Y luego necesitamos deshabilitar los eventos de puntero para aquellos recién creados los elementos Porque una vez que hacemos clic en ellos, entonces tenemos los mismos efectos que los elementos de navegación. Seleccionemos desarrollos usando pseudo-clases de primer hijo, último hijo, y luego asignarles eventos puntero Bien, entonces ahora todo funciona bien. Solo necesitamos agregar un par de efectos diferentes a la barra de navegación. En primer lugar, hagamos que los efectos más suaves dentro de un par de transiciones. Eso primero, agreguemos una transición a los iconos Font Awesome. Necesitamos los siguientes valores. Color 0.4 s, y luego tamaño de fuente con la misma duración. A continuación, agreguemos la transición a antes de pseudo elementos con el cambio de clase En este caso, necesitamos top 0.2 s. Además de eso, necesitamos hacer la transición para el pseudo elemento before por defecto En este caso, necesitamos top con una duración 0.4 s, y luego color de fondo con una duración 0.4 s. Y también necesitamos aquí un poco de tiempo de retardo, 0.4 s. Bien, a continuación necesitamos hacer la transición para el elemento anterior y siguiente hermanos. En este caso, necesitamos border-radius con una duración 0.45 s. Ahora, como puede ver, tenemos resultados mucho mejores A continuación, voy a usar transición para siesta o enlace. Necesitamos aquí border-radius, 0.2 s. además de eso, necesitamos aquí desbordamiento oculto porque si le hicimos clic antes pseudo elemento en la parte superior del elemento de navegación, entonces se moverá hacia abajo. No necesitamos eso. Entonces usemos desbordamiento oculto. Bien, entonces ahora el problema está arreglado. A continuación, voy a agregar un poco de efecto de sombra a la barra de navegación Vamos a usar box-shadow con valores 0.3 RAM tres veces, y el color AAA A continuación, necesitamos un radio fronterizo para los desarrollos. Es decir, el inicio y el final de la novela. En este momento son seleccionados juntos. Entonces voy a seleccionarlos por separado. Después agrégueles. El radio para el primero va a ser 0.5 rem 00.5 Roma. En cuanto al segundo va a ser 0.5 rem, 0.5 gram. Y luego otra vez cero. Se aplica el radio fronterizo. Pero ahora los rincones de la Napa son visibles por el efecto de sombra. Entonces necesitamos un radio fronterizo para los navajos también. Vamos a ponerla en rampa de 0.5. Bien, lo último que voy a hacer es hacer que el primer elemento de navegación esté activo por defecto Porque si vuelvo a cargar la página, entonces no tendremos ningún elemento activo. Para ello, tenemos que asignar a la primera clase de desarrollo, cambio de elemento previo. Y además de eso tenemos que asignar a la primera clase de elemento link, cambiar a la segunda clase de elemento link. Cambio de elemento siguiente. Ahora se considera si vuelvo a cargar la página que el primer elemento de navegación estará activo por defecto Bien, así que finalmente terminamos, hemos terminado de trabajar en ese proyecto. Sigamos adelante y comencemos a construir el siguiente. 9. Proyecto 6 - Cargadores de páginas web: Bien, es hora de seguir adelante y crear nuestro próximo proyecto. En esta sección, vamos a estar creando un par de cargadores css diferentes Dichos cargadores se utilizan antes de cargar la página web. Y hoy en día puede encontrarlos en cada sitio web moderno. Bien, sigamos adelante y profundicemos en nuestro proyecto. Entonces en general tenemos tres cargadores diferentes. Vamos a describirlos rápidamente. El primer cargador consta de nueve puntos. Se colocan en tres líneas diferentes, y cada punto tiene una animación. Hay escalas y las opacidades van aumento con algunos intervalos Quiero decir que la duración de la animación para cada punto es diferente. Segundo cargador, tenemos cinco líneas diferentes durante la animación. Sus tamaños están aumentando con diferentes tiempos de retardo. En cuanto al tercer cargador , consta de cinco círculos diferentes. Cada círculo tiene una animación agradable. Esas cosas más ligeras se crean usando los pseudo elementos Bien, así que eso es lo que vamos a crear en este video Usaremos HTML y CSS. Así que comencemos. He creado una nueva carpeta en el escritorio llamada css loaders. En este momento está vacío. Sigamos adelante y ábralo en código VS y creamos nuestros archivos de trabajo para HTML y CSS. El primero va a ser index.html. En cuanto al segundo va a ser style.css. A continuación, voy a abrir el archivo index.html y crear un documento HTML básico. Para eso, necesitamos colocar aquí un signo de exclamación y luego presionar Enter o tab Bien, así que aquí tenemos las etiquetas HTML básicas. Al principio, cambiemos el título. Necesitamos usar cargadores css. Entonces voy a vincular el archivo CSS. Para eso. Vamos a abrir la etiqueta de enlace y especificar aquí la ruta del archivo. Bien, entonces ahora tenemos que ejecutar el proyecto al navegador y luego comenzar a escribir el código Para abrir el proyecto en el navegador, voy a usar uno de los paquetes de código VS llamado servidor en vivo. Nos permite ejecutar el proyecto en vivo al navegador. Bien, finalmente, coloquemos el editor y el navegador uno al lado del otro Así, y empieza. Entonces voy a comenzar con el primer cargador, quiero decir, esos puntos marrones. Así que sigamos adelante y antes que nada, creamos el marcado HTML Voy a abrir la etiqueta div con un contenedor de clase. Incluirá la totalidad de los contenidos. Entonces voy a abrir otra etiqueta div con el cargador de clases uno. Entonces en general tendremos nueve puntos. Y los voy a crear usando elementos div con los puntos de clase. Bien, así que eso es todo sobre el marcado HTML. Ahora mismo, no hay nada visible en la página porque solo tenemos las etiquetas div vacías. Ahora podemos empezar a escribir el CSS. En primer lugar, voy a crear algunos estilos de reset. Seleccionemos todos los elementos usando un asterisco. Voy a deshacerme del margen predeterminado y el relleno de cada elemento. Entonces pongámoslos a cero a ambos. A lo largo de este tutorial, voy a usar la RAM como unidad de medida. ¿Correcto? Ahora una RAM equivale a 16 píxeles porque por defecto, el tamaño de fuente de los elementos HTML es igual a 16 píxeles. Quiero convertir una RAM en diez píxeles. Y para eso, tenemos que disminuir el tamaño de fuente de los elementos HTML. Vamos a establecerlo en 62.5 por ciento. Bien, a continuación voy a tomar aquí del contenedor. Vamos a seleccionarlo y definir su ancho y alto. Voy a establecer el ancho al 100%. En cuanto a la altura, va a ser el 100% de la ventana gráfica. Y también vamos a configurar display a flex. Ahora mismo, voy a colocar el primer cargador en el centro. Pero luego una vez que creamos el resto de los cargadores, cambiaré ligeramente el diseño del flex para centrar los elementos que necesitamos para justificar el centro de conferencias y alinear los elementos Centro. Bien, así que eso es todo sobre el contenedor. A continuación voy a seleccionar y personalizar el propio cargador. Así que vamos a seleccionarlo y establecer su ancho en 20 ran. Bien, siguiente, sigamos adelante y personalicemos a los adultos. Establecer ancho y alto, ambos de ellos 23 RAM. Entonces los voy a hacer redondeados usando border-radius con un valor del 50 por ciento También cambia el color de fondo. Que sea un cinco a un, a un. Siguiente. Voy a crear algo de espacio alrededor de los puntos usando margen. Vamos a configurarlo en 1.6 RAM en los cuatro lados. Y finalmente, cambia la opacidad, hazla 0.6. Entonces ahora los puntos son visibles, pero tenemos que alinearlos de la manera correcta. Para eso, usemos el flexbox. Voy a configurar display a flex Entonces para alinear los elementos son tres líneas. Tenemos que envolverlos. Entonces necesitamos flex wrap con el valor rap. Y luego voy a centrarlos usando justify-content center centrarlos usando justify-content Entonces como puedes ver, los puntos están alineados. Entonces ahora es el momento de crear la animación. Lo haremos usando fotogramas clave CSS. Echemos un vistazo al proyecto terminado. Como puedes ver durante la animación, los adultos son cada vez más grandes y también la opacidad en los cuestionarios Sigamos adelante y creamos los fotogramas clave CSS. Voy a llamarlo animate loader one. Entonces, durante la animación, necesitamos aumentar la escala de los elementos. Entonces al 0%, voy a establecer la escala de transformación en uno. Entonces al 50 por ciento, voy a incrementar la escala y también a aumentar la opacidad Entonces necesitamos transformar la escala con un valor de 1.5. Y la opacidad va a ser del 100%. Quiero decir, al final de la animación, necesitamos disminuir la escala. Y también necesitamos disminuir la opacidad. Bien, entonces se crean los fotogramas clave y ahora tenemos que aplicar estas reglas a los elementos Para eso, tenemos que usar una propiedad de animación. Como decíamos, necesitamos diferentes duraciones de animación para los adultos Entonces voy a seleccionarlos usando el enésimo selector hijo. Seleccionemos el primero. Luego usa la animación. Tenemos que pasar aquí un par de valores diferentes. El primero va a ser el nombre de la carga de animación de fotogramas clave. El que necesitamos para duración va a ser 1.5 s. y también necesitamos infinito porque la animación debería correr infinitamente Entonces como se consideró, el primer punto ya está animando. Duplicemos este código ocho veces porque en general tenemos nueve puntos. Y luego cambiar los números de los enésimo selectores hijos y también las Para el segundo necesitamos 1.3 s. Entonces el siguiente va a ser 1.7 s. A continuación tenemos el cuarto elemento. La duración va a ser de 1.1 s. entonces la siguiente va a ser 0.9, luego 0.7. El siguiente debería ser 0.5 s. Para el octavo ítem, voy a usar 1.3 s. Y para el último punto, la duración va a ser de 1.5 s. Bien, así que finalmente, tenemos aquí una bonita carga de animación Veamos sobre el primer cargador. Sigamos adelante y nos ocupemos del siguiente. Al igual que el cargador anterior. Al principio, voy a crear el marcado HTML. Entonces en general vamos a tener cinco líneas. Al principio, vamos a abrir la etiqueta div con el cargador de clases a que va a ser el envoltorio. Y después de eso, crea cinco líneas usando nuevamente etiquetas div. Entonces se crea el marcado. Sigamos adelante y comencemos a escribir el CSS. Seleccionemos carga de envoltura o dos y fijemos su ancho en rampa 25. A continuación voy a darle estilo a las líneas como primero. Definamos ancho y alto. El ancho va a ser 1.5 RAM. En cuanto a la altura, van a ser cinco rem. A continuación, cambiemos el color de fondo. Hazlo 41, 69e1. Y también hacer las líneas ligeramente redondeadas usando border-radius con valor uno RAM Entonces se puede ver que las líneas son visibles. En este momento los cargadores se colocan demasiado cerca unos de otros. Quiero crear algún espacio entre ellos. Entonces, sigamos adelante y cambiemos el valor de la propiedad justify content para el contenedor. Hagámoslo espaciado de manera uniforme. Entonces ahora es mejor. A continuación, voy a colocar las líneas una al lado de la otra. Para eso. Usemos display flex. También. Voy a crear espacio entre ellos usando justificar el espacio de contenido de manera uniforme. Y también quiero centrarlos verticalmente. Para eso, necesitamos alinear los artículos al centro. Bien, entonces las líneas están alineadas de la manera correcta. Y ahora tenemos que crear la animación. Entonces durante la animación, voy a aumentar la altura de las líneas. Y las animaciones para cada línea tendrán un tiempo de retardo diferente. En primer lugar, necesitamos crear un CSS keyframes. Voy a llamarlo carga animada o dos Así que cero por ciento, la altura va a ser de cinco RAM, que es la predeterminada Entonces al 50 por ciento, la altura va a ser de 18 RAM. Y luego al final de la animación, quiero decir, al 100 por ciento, la altura va a ser de nuevo cinco. Bien, entonces se crean los fotogramas clave. Ahora necesitamos aplicar esas reglas a las líneas. Seleccionemos alianza con los selectores secundarios enésimo. Selecciona el primero. Entonces voy a duplicarlo cuatro veces y cambiar los números 1-5. Entonces necesitamos ejecutar la animación para la línea media sin tiempo de demora. Es decir, para la tercera línea. Entonces necesitamos animación con un nombre de los fotogramas clave animar carga o dos que la duración va a ser 0.5 s. y nuevamente necesitamos infinito Entonces necesitamos un tiempo de retardo similar para la segunda y cuarta líneas. Entonces copiemos esta línea de código y asignémosla a la segunda y cuarta línea. Y también agregar tiempo de retardo, que va a ser 0.3 s. En cuanto a la primera y quinta líneas, necesitamos que el tiempo de retardo sea igual a 0.6 s. Bien, entonces se considera un cargador, funciona bien con una animación agradable De hecho, con un segundo cargador, ya terminamos. Sigamos adelante y creamos un tercero. Como de costumbre, voy a comenzar con el marcado HTML. Tenemos que abrir la etiqueta div con el cargador de clases tres. Y entonces voy a pasar aquí cinco etiquetas div con el círculo de clase. Bien, así que eso es todo sobre el marcado HTML. Sigamos adelante y comencemos a escribir CSS. Voy a seleccionar tu envoltorio. Las cargas son tres. Vamos a establecer su ancho en cuatro para correr. Después selecciona y personaliza los círculos. En primer lugar, como se define dentro de la altura, voy a establecer ambos para que caigan RAM de lo que necesitamos para hacer redondeado el elemento. Usemos border-radius, 50 por ciento. Y también, voy a cambiar el color de fondo. Va a ser el color de fondo temporal. Hagámoslo gris claro. Entonces aquí tenemos estos círculos. Vamos a alinearlos usando flexbox. Necesitamos display flex. Y luego tenemos que crear algún espacio entre los círculos usando justificar el espacio de contenido de manera uniforme. Bien, entonces los efectos de animación se crearán usando fotogramas clave CSS, y antes de pseudo elementos Entonces esos elementos de animación estarán antes de pseudo elementos, antes de que los creemos, voy a agregar a cada círculo su propio color Así que vamos a seleccionarlos usando enésimo selector hijo. El primer color de fondo va a ser 9o6d. Duplicemos este código cuatro veces y cambiemos los números y los colores. El segundo color de fondo va a ser F9, C7 para f. entonces tendremos f8961 El cuarto color de fondo va a ser f37 22c. Y el último va a ser F9 por 346. Bien, ahora tenemos que crear los pseudo elementos antes Así que vamos a seleccionar círculo, seguido de antes. En primer lugar, necesitamos definir el contenido. Va a estar vacío. Entonces definamos ancho y alto. Voy a ponerlos a ambos al 100%. Y también necesitamos definir la posición. Hagámoslo absoluto. Posición relativa para el elemento padre, porque el círculo debe alinearse de acuerdo con el elemento padre. Después de eso, hagamos el redondeo de los elementos usando border-radius con valor 50 por ciento Y también fijemos la opacidad, hazla Entonces ahora mismo los elementos no son visibles porque no tienen los colores de fondo. Si les asignamos algún color de fondo temporal, digamos gris claro, entonces los verás con claridad. Bien, entonces ahora voy a asignar a cada pseudo elemento el color de fondo adecuado En realidad, podemos tomar todo este código de aquí. Y luego tenemos que agregarles solo el selector antes. Entonces ahora todo está listo y podemos crear la animación. En primer lugar, definamos los fotogramas clave CSS. El nombre va a ser animate loader tres. Entonces tenemos que aumentar la escala de los pseudo elementos y luego tenemos que ocultarlos. Los pasos deben ser los siguientes. Al cero por ciento, necesitamos escala para ser uno. Después, suma el 50 por ciento. La escala va a ser 2.5. El siguiente paso va a ser el 75%. Y nuevamente, necesitamos que la escala sea 2.5. Y después de eso, necesitamos ocultar los elementos. Entonces, al ocho por ciento, voy a poner la opacidad a cero Y también al final de la animación, al 100%, la opacidad va a ser cero Bien, así que eso es todo sobre estos fotogramas clave CSS. Ahora tenemos que usar la propiedad de animación. Vamos a asignarlo a los pseudo elementos antes. Necesitamos aquí el nombre animate loader tres. La duración va a ser de 2 s. también, voy a usar aquí una de las funciones de sincronización de animación está fuera, y luego otra vez infinita. Entonces se considera que la animación funciona. Lo único que tenemos que hacer es agregar diferentes tiempos de retardo a los elementos. Entonces, para el segundo antes de los pseudo elementos, necesitamos que el retardo de animación sea 0.2 s. Vamos a copiar esta línea de código Para el siguiente elemento, necesitamos 0.4 s, luego 0.6 s. y para el último elemento necesitamos 0.8 s. Bien, así que eso es todo sobre el tercer cargador Y en realidad ya terminamos. Se crean los tres cargadores 10. Proyecto 7 - botón de ondulación: Bien, así que sigamos adelante y empecemos a trabajar en nuestro próximo proyecto En esta sección, vamos a crear un botón con bonitos y geniales efectos de hover Una vez que colocamos el cursor sobre el botón, entonces el círculo amarillo se expandirá a todo el fondo No importa de qué lado se ciernen. El botón de. Este elemento amarillo aparecerá por todos lados. Bien, así que estamos listos para comenzar a crear el botón. He creado una nueva carpeta en el escritorio llamada botón de repo, que en este momento está vacía Vamos a abrirlo en VS Code y crear nuestros archivos de trabajo para HTML, CSS y JavaScript. Después abre el archivo index.html y crea el documento HTML básico. Necesitamos colocar el signo de exclamación de orina y luego presionar Tab o Enter Entonces aquí tenemos las etiquetas HTML básicas. Al principio, cambiemos el título. Voy a colocar tu botón de reporte y luego vincular los archivos CSS y JavaScript. Voy a abrir etiqueta de enlace en los elementos de cabeza. Y luego tenemos que especificar la ruta del archivo. En cuanto al JavaScript, voy a abrir la etiqueta script justo encima de la etiqueta de cuerpo de cierre. Y tenemos que especificar aquí la ruta del archivo JavaScript. Bien, entonces estamos listos para comenzar a escribir el código. Antes de eso, voy a ejecutar el proyecto al navegador. Para eso, voy a usar uno de los paquetes de código VS llamado servidor en vivo. Nos permite ejecutar el proyecto en vivo al navegador y realizar los cambios y actualizaciones sin actualizar la página. Cada vez. Coloquemos el editor y el navegador uno al lado del otro, así, y comencemos Entonces voy a comenzar con el marcado HTML. Vamos a abrir la etiqueta div con un contenedor de clase. Este elemento contendrá todo el contenido. Me refiero al botón. El botón se creará utilizando los elementos de enlace. Vamos a abrirlo con la clase btn y luego pasar año elemento span con un contenido Explora. Bien, así que eso es todo sobre el marcado HTML. Empecemos a escribir el CSS. En primer lugar, voy a definir algunos estilos comunes y restablecer. Seleccionemos cada elemento usando un asterisco. En primer lugar, voy a deshacerme del margen predeterminado y el relleno de todos los elementos. Pongamos a ambos a cero. También, voy a hacer box-sizing, border-box. Entonces vamos a deshacernos de los valores predeterminados subrayados del elemento de enlace usando decoración de texto ninguno. Y también, voy a cambiar la familia de fuentes. Vamos a configurarlo en Courier New monospace. Bien, entonces estos estilos se aplican a los elementos a lo largo de este proyecto, voy a usar RAM como unidad de medida Por defecto, 1 g equivale a 16 píxeles porque el tamaño de fuente del elemento HTML es igual a 16 píxeles. Quiero convertir 1 g a diez píxeles. Y para eso, tenemos que disminuir el tamaño de fuente del elemento HTML. Vamos a establecerlo en 62.5%. Entonces, como puedes ver, el tamaño de fuente del elemento link se hizo más pequeño. Sigamos adelante y comencemos a trabajar en el contenedor. En primer lugar, voy a definir su anchura y altura. Vamos a establecer con el 200 por ciento. En cuanto a la altura, voy a hacer que sea el 100% de la ventana gráfica Entonces necesitamos cien vh y también cambiar el color de fondo. Hazlo gris oscuro usando 262626. Bien, siguiente, voy a colocar el botón en el centro Y para eso, voy a usar flexbox. Necesitamos display flex. Entonces para el centrado horizontal, voy a establecer justify content to center Eso es para el centrado vertical. Necesitamos alinear los artículos al centro. Por lo que se considera botón se coloca en el centro y ahora es el momento de personalizarlo. Seleccionemos BTN. Y antes que nada, definamos esta posición. Voy a hacerlo absoluto. Entonces voy a definir el ancho y alto para los Bateson Hagamos a ambos 18 RAM. Entonces voy a cambiar el color de fondo. Vamos a usar 90 E 0 E. Y también hacer que el botón sea redondeado usando border-radius, 50 por ciento Bien, entonces lo siguiente que voy a hacer con respecto al botón es crear un borde. Vamos a establecer su ancho para que apunte a RAM de lo que el estilo va a ser punteado En cuanto al color, voy a hacerlo blanco. Bien, eso es. Respecto al botón. A continuación, voy a tomar aquí de este elemento span. En primer lugar, voy a colocarlo en el centro para eso. Vamos a usar de nuevo Flexbox. Voy a agarrar esas tres líneas y pegarlas aquí. Por lo que este panel está centrado. Sigamos adelante y estilízalo. Seleccione btn span. Al principio, voy a establecer su posición en relativa. Después cambia el color, hazlo blanco. También voy a aumentar el tamaño de la fuente, que sea 1.8 redondo. Entonces voy a hacer que el teléfono sea más audaz. Vamos a establecer el peso de la fuente en 600. También transforma texto en mayúsculas. Y por último, crear algún espacio entre las letras. Vamos a establecer el espaciado a punto para correr. Bien. Entonces este elemento span está personalizado y tendré que crear un efecto hover Echemos un vistazo al proyecto terminado. Entonces, una vez que pasemos el cursor sobre el botón, entonces el círculo amarillo cubrirá el contenido Aparece desde el lado exacto donde ingresemos el mouse creará este efecto usando animaciones JavaScript y CSS. Pasemos al archivo script.js y comencemos a escribir el código. Lo primero que tenemos que hacer es conseguir las coordenadas del cursor dentro del botón. Es decir, necesitamos medir la posición superior e izquierda del cursor desde los bordes superior e izquierdo del botón. Antes de hacer eso, necesitamos seleccionar un botón en sí. Así que vamos a crear una nueva variable. Voy a llamarlo btn. Y luego seleccione el botón usando el método selector de consultas. Necesitamos especificar aquí el nombre de la clase BTN. Después de eso, tenemos que adjuntarle un oyente de eventos con un mouse enter events Además, tenemos que pasar aquí la función callback, que se ejecutará una vez que pasemos el cursor sobre el botón En realidad el ratón entra en metal, dispara sólo una vez cuando pasamos el cursor sobre el elemento Entonces como decíamos, tenemos que conseguir las posiciones superiores izquierdas del cursor dentro del botón Para obtener estas posiciones, necesitamos usar decline x y client. ¿Por qué propiedades? Nos dan las posiciones superior e izquierda del cursor medidas desde los bordes superior e izquierdo de la ventana gráfica Para obtener la posición del cursor dentro del botón, necesitamos encontrar la diferencia entre las propiedades declive x e y y la posición superior izquierda del cursor Entonces para que sea más comprensible, sigamos adelante y escribamos el código. Al principio, voy a pasar objeto de evento de orina. A continuación, te voy a mostrar cómo obtener la información sobre los elementos. Para ello, podemos usar uno de los métodos llamados get bounding client rect Corremos por la consola y veamos qué nos da este método. Voy a pasar aquí e punto, punto objetivo, conseguir cliente delimitador Derecha. Entonces voy a inspeccionar la página y cambiar a la pestaña de la consola. Entonces, si pongo el cursor sobre el botón, entonces obtendremos un objeto llamado dumb Si lo dejé caer, aquí encontrarás un par de propiedades diferentes. Tenemos las posiciones en las que estoy, abajo, izquierda a derecha y arriba. También tenemos aquí la anchura y altura del elemento. Además de eso, puedes ver aquí x e y propiedades. Y en realidad son las mismas que las propiedades izquierda y superior. Podemos usar esos valores para calcular la izquierda en posiciones del cursor. Dentro del botón. Para eso, voy a crear una nueva variable. Vamos a llamarlo a la izquierda. Entonces necesitamos aquí e punto cliente X, y tenemos que restarle. No apuntas al punto, obtienes los puntos rect del cliente delimitadores a Comprobemos en la consola lo que nos da la variable izquierda. Cuando coloquemos el cursor sobre el botón, obtendremos la posición izquierda del cursor Pero ahora dentro del botón. Quiero decir que se mide desde el borde izquierdo de la caja. ¿Bien? De la misma manera, necesitamos definir las dos posiciones. Simplemente podemos duplicar este código, luego cambiar el nombre de la variable que necesitamos top. Y también necesitamos aquí cliente y en lugar de x, y necesitamos de nuevo tu top. ¿Bien? Entonces ambas posiciones están definidas y ahora necesitamos crear nuevos elementos sobre esas posiciones. Lo haremos usando uno de los métodos llamados create elements. Voy a declarar una nueva variable. Vamos a llamarlo ripple Luego abajo, necesitamos crear un nuevo div elementos. Como dije, voy a usar el método create elements. Necesitamos especificar aquí el nombre de la etiqueta div. Después de eso, necesitamos definir las posiciones superiores izquierdas de la ondulación Y usaremos los valores que aquí definimos. Entonces necesitamos aquí ripple dot, style dot, left. Y debería ser igual al valor de la variable izquierda. De la misma manera voy a definir la posición superior. Duplicemos esta línea de código y cambio carecía en la parte superior Bien, entonces se crea el elemento, pero necesitamos agregarlo al botón Para ello, tenemos que usar uno de los métodos llamados prepend Necesitamos btn punto prepend. Y tenemos que pasar aquí la variable Ripple. Ok, entonces para probar que el elemento está creando al pasar el cursor, cambiemos a la pestaña Elementos, y luego pase el cursor sobre el Entonces como puedes ver, Dede Allen se crea dentro del botón Entonces tenemos aquí izquierda y primeras posiciones. Bien, A continuación tenemos que personalizar este elemento en el archivo CSS Vamos a crear una nueva clase y llamarla ondulación. Con el fin de hacer funcionar una izquierda y dos posiciones cuando se define la posición del remolino. Hagámoslo absoluto. Luego se definió ancho y alto. Voy a ponerlos a ambos al 100%. Y también cambiar el color de fondo. Que sea E7 E 08. Bien, veamos ahora mismo los estilos de la ondulación Para aplicarlos a los elementos, tenemos que agregar esta clase a la lista de clases de elementos. Así que necesitamos volver a poner lista de clases de punto seguido del método add Y tenemos que especificar aquí repo. ¿Bien? Entonces, si pongo el cursor sobre el botón, entonces aparecerá el nuevo elemento Si paso el cursor sobre el botón varias veces, entonces se crearán los múltiples elementos Pero lo arreglaremos pronto. En primer lugar, hagamos de esto un redondeado. Usemos el radio fronterizo 50 por ciento. Y también tenemos que moverlo hacia la izquierda hacia arriba en un -50 por ciento Usemos transform. Traducir con -50%. Dos veces. Bien, entonces ahora tenemos mejores resultados y es momento de crear una animación. Entonces, por defecto, el ancho y la altura de este elemento serán cero. Una vez que pasamos el cursor sobre el botón, entonces el tamaño de la república debería aumentar con la animación Así que vamos a crear fotogramas clave CSS. Voy a llamarlo anime de ondulación. En general, tendremos dos pasos diferentes. Al cero por ciento, necesitamos que dentro de la altura sea cero. Para el 100%, debemos aumentar la anchura y la altura al 100%. Bien, entonces los fotogramas clave ya saben cómo aplicar estos estilos a los elementos usando una propiedad de animación Hagamos una pausa aquí, ripple anime también. La duración va a ser de 0.5 s. Así que ahora si pongo el cursor sobre el botón, entonces los elementos aparecerán sin problemas Pero como veis tenemos aquí un par de temas. Una vez que aparece el elemento y se incrementa su tamaño , luego en alturas. Entonces necesitamos mantener los estilos que tenemos al 100%. Para eso necesitamos usar un valor llamado forward. Entonces ahora este problema es fijo elemento ya no altura. El siguiente tema es que el tamaño del elemento no es suficiente para cubrir el fondo, por lo que tenemos que aumentarlo. Hagámoslo 200 por ciento. Entonces ahora el tamaño es dos veces mayor, pero aun así no es suficiente porque si entro al mouse y lo detengo en el borde del botón, entonces la ondulación no cubrirá. Entonces aumentemos ligeramente dentro de la altura. Voy a hacerlos 210%. Bien, entonces ahora el problema está arreglado. Lo siguiente que te voy a quitar es ocultar las partes exteriores del repo Para eso tenemos que usar desbordamiento oculto. Bien, entonces ahora tenemos un resultado mucho mejor. Lo siguiente que quiero hacer es deshacerme del repo Una vez que el ratón deja el botón, tenemos que usar uno de los eventos llamados mouse leave. Vamos a adjuntar al botón de escucha de eventos. Con ratón evento en vivo. Además, necesitamos aquí una función de devolución de llamada. A continuación, tenemos que eliminar el repo. Para eso, voy a usar el método eliminado hijo. Tenemos que especificar aquí. Bien, así que finalmente, ya terminamos. El botón funciona perfectamente. Tiene bonitos efectos y animaciones. Creo que fue interesante y diferente, y espero que te haya gustado. Ahora, es el momento de seguir adelante y empezar a trabajar en el siguiente proyecto. 11. Proyecto 8 - Barra de progreso redondeada: En este video, vamos a crear una barra de progreso con la forma de un círculo con un valor porcentual. Entonces la barra de progreso funciona en un evento de desplazamiento. Por defecto, tenemos aquí cero por ciento. Y una vez que empecemos a desplazarnos hacia abajo por la página, entonces esta línea blanca alrededor del círculo se llenará con el color rojo suavemente. Y también el valor de la persona aumentará en consecuencia. Entonces si nos desplazamos hacia arriba, el valor porcentual disminuirá y recuperaremos el borde blanco. Este proyecto forma parte de nuestro próximo curso de Udemy, en el que construiremos un sitio web completo avanzado con HTML, CSS y JavaScript desde cero Se estrenará pronto, así que estén atentos. Bien, así que eso es todo, lo que vamos a crear en este video Sigamos adelante y comencemos. He creado una nueva carpeta en el escritorio llamada barra de progreso del círculo, que ahora mismo está vacía. Sigamos adelante y ábralo en código VS. Voy a crear nuestros archivos de trabajo. El primero va a ser index.html. Entonces tendremos style.css y script.js. Después abre el archivo index.html y crea un documento HTML básico. Necesitamos usar a Ahmed, coloquemos aquí un signo de exclamación y luego golpeemos Tab o Enter Bien. En primer lugar, voy a cambiar el título. Hagamos que circule la barra de progreso. Y luego vincular archivos CSS y JavaScript. Voy a abrir etiqueta de enlace en el elemento head. Especificemos aquí la ruta del archivo. En cuanto al archivo JavaScript, voy a abrir la etiqueta script justo encima de la etiqueta de cuerpo de cierre. Y luego en el atributo source tenemos que especificar la ruta del archivo. ¿Correcto? Después de eso, voy a ejecutar el proyecto al navegador usando un servidor en vivo. Luego coloque el editor y el navegador uno al lado del otro. Bien, así que al principio vamos a crear una barra de progreso usando HTML y CSS Es decir, vamos a darle estilo así. Y luego haremos que funcione usando JavaScript. Empecemos con el marcado HTML. Voy a abrir una etiqueta div, que va a ser contenedor. A continuación necesitamos otra etiqueta div que envolverá todo el contenido que está asignado a la barra de progreso de la clase. Dentro de la etiqueta div se necesitarán cuatro elementos diferentes. Ahora mismo solo creémoslos y luego explicaremos y mostraremos por qué necesitamos esos elementos. Entonces vamos a abrir una etiqueta div con un semicírculo de clase. Después duplicarlo tres veces. En realidad, no necesitamos tocar el segundo desarrollo. El tercero va a ser un medio círculo superior. Ese es probablemente el último desarrollo. Va a ser un círculo de barras de progreso. Como el contenido. Insertemos aquí cero por ciento por defecto. Bien, así que eso es todo sobre el marcado HTML. Sigamos adelante y comencemos a escribir algo de CSS. Voy a crear algunos estilos comunes. Seleccionemos cada elemento para eso. Necesitamos usar un asterisco. Entonces, antes que nada, voy a deshacerme del margen predeterminado y el relleno de cada elemento. Pongamos a ambos a cero. Así que voy a hacer box-sizing, border-box, y luego cambiar la familia de fuentes Vamos a usar aquí helvética aérea sans-serif. Entonces los estilos comunes se aplican a los elementos. A continuación, voy a cambiar el tamaño de fuente del HTML. Porque a lo largo de este proyecto voy a usar la RAM como unidad de medida. este momento, 1 g equivale a 16 píxeles porque el tamaño de fuente del elemento HTML es igual a 16 píxeles. Quiero convertir 1 g en diez pixeles. Y para eso, tenemos que disminuir el tamaño de fuente del HTML. Hagámoslo 62.5%. Entonces puedo ver que el texto se hizo más pequeño. Bien, Siguiente, vamos a encargarnos del contenedor. Vamos a seleccionarlo. En primer lugar, definir su anchura y altura. Voy a establecer su ancho al 100%. En cuanto a la altura, voy a hacer que sea el 200 por ciento de las ventanas porque necesitamos desplazarnos hacia abajo en la página También puedo cambiar el color de fondo, hacerlo gris usando 555. Todo bien. Después de eso, voy a encargarme de la propia barra de progreso. Me refiero al envoltorio, definir su anchura y altura. Voy a hacer que ambos 40 corrieran. También cambia el color de fondo. Hazlo blanco Y luego haz que la barra de progreso sea redondeada usando border-radius con el valor 50 por ciento Entonces la barra de progreso debe colocarse en el centro y tiene que ser arreglada porque una vez que nos desplazamos hacia abajo por la página, no debería moverse. Así que vamos a establecer su posición para fijar de lo que necesitamos las propiedades superior e izquierda, ambas para ser 50 por ciento. Entonces para censurar el elemento perfectamente, tuvimos que usar Transform con la función translate Aquí tenemos dos caminos, -50 por ciento dos veces. Bien, eso es lo del envoltorio. Sigamos adelante y cuidemos el círculo de barras de progreso. Vamos a seleccionarlo. Y antes que nada, definamos su anchura y altura. Voy a establecer a ambos 239.4 RAM. Después cambia el color de fondo, va a ser negro. También hacer los elementos a su alrededor usando border-radius, 50 por ciento Luego cambia el color, hazlo blanco y aumenta el tamaño de la fuente. Hazlo foro. Bien, entonces este elemento instalado, pero tenemos que encargarnos de su posición. Se debe colocar en el centro de la envoltura. Y también tenemos que enviar a la persona a cada valor dentro del círculo. En ambos casos, voy a usar flexbox y para evitar escribir el mismo código una y otra vez, voy a crear una nueva clase Vamos a llamarlo centro y asignarle un par de propiedades y valores diferentes de flexbox El primero va a ser display flex que necesitamos. Justificar el centro de contenido para el centrado horizontal y alinear los elementos en el centro para el centrado vertical Después de eso, tenemos que asignar esta clase para que sea barra de progreso y el círculo de barra de progreso. Bien, así que ahora es se puede ver que el problema está arreglado. Entonces se prepara la barra de progreso. Tiene el aspecto predeterminado. Y ahora tenemos que hacer su trabajo. Como recuerdas, creamos un par de desarrollos diferentes. Los dos primeros desarrollos que tienen un semicírculo de clase, lograrán llenar la barra de progreso con el color rojo. Entonces lo primero que voy a hacer es esconder por un tiempo el círculo negro para poder explicar y demostrar mejor las cosas que se asignan para mostrar ninguna. Entonces el círculo negro está oculto, y ahora tenemos que encargarnos de los tres elementos div, lo que nos ayudará a que la barra de progreso funcione. Seleccionemos los tres elementos simultáneamente. Quiero decir, necesitamos medio círculo y medio círculo arriba. En primer lugar, cuidemos sus posiciones. Necesitamos posición para ser absolutos. Además, pongamos las propiedades top e left, ambas a cero. Y después de eso como definido ancho y alto, voy a establecer el ancho en 40%. En cuanto a la altura, hagámosla al 100%. Entonces en estos momentos no son factibles. Y para arreglarlo, voy a asignar a cada uno de ellos un color de fondo temporal diferente. Seleccionemos el primer semicírculo usando selector secundario enésimo y establecemos su color de fondo en verde Entonces voy a duplicar este código, cambiar el número que necesitamos aquí a S4, el color de fondo, va a ser azul. Y por último, seleccionemos la parte superior de medio círculo y fijemos su color de fondo en, digamos naranja. Bien, así que los tres desarrollos se colocan uno encima del otro Al principio, voy a hacer que la barra de progreso funcione en el hover para que sea más fácil de entender Y luego cambiaremos el hover y usaremos el evento scroll usando JavaScript. Entonces necesitamos rotar el primer semicírculo 180 grados. cuanto al segundo semicírculo, tenemos que girarlo 360 grados porque tenemos que llenar todo el círculo. En cuanto a la parte superior de medio círculo, me refiero a estos elementos naranjas, tenemos que hacerlo oculto. Entonces sigamos adelante y seleccionemos barra de progreso con hover, seguido del primer semicírculo Vamos a usar de nuevo enésimo selector hijo que necesitamos transformar con la función rotate Y como decíamos, el valor va a ser de 180 grados. Duplicemos este código. Cambia el nésimo número hijo, hazlo también. En cuanto al valor de la función de rotación, va a ser de 360 grados. Además de eso, necesitamos usar la transición para hacer que la rotación sea más suave. Entonces usemos la transición con los valores transforman. La duración para el primer semicírculo va a ser de 1 s Y también necesitamos usar aquí lineal. Entonces vamos a agarrar este código, pegarlo hacia abajo para el segundo semicírculo. Lo único que necesitamos cambiar es la duración. Hagámoslo 2 s. así que ahora si pasamos el cursor que los elementos girarán, ahora mismo vemos aquí solo elemento azul porque el verde es soltero Si hago una pausa aquí el fondo azul, entonces verás los elementos verdes. Entonces los elementos están rotando, pero de manera equivocada. Quiero decir que el origen de la transformación está configurado para censurar por defecto Pero en nuestro caso, tenemos que hacerlo bien al centro. Entonces usemos el origen de la transformación y hagamos que sea el centro correcto. Entonces en este caso, el origen de la transformación va a ser el centro del elemento. Pero del lado derecho, una vez que pasamos el cursor sobre la barra de progreso, tenemos que ocultar estos elementos anaranjados Entonces, seleccionemos la barra de progreso con la libración, seguida de la parte superior del círculo, y fijemos su opacidad a cero Entonces ahora las alturas del elemento una vez que pasamos el cursor sobre la barra de progreso Pero en realidad se esconde demasiado pronto. Tenemos que ocultarlo. Quiere que el elemento verde termine de girar. Entonces necesitamos ocultarlo después de 1 s. Vamos a usar la transición. Con opacidad. La duración va a ser 0 s. En cuanto al retraso, va a ser 1 s. Bien, entonces ahora todo funciona bien Ahora tenemos que cambiar los colores y también necesitamos hacer esos elementos a su alrededor. Los dos primeros desarrollos deben tener un color rojo. Es decir, el color B6 con cuatro ceros. En cuanto al tercer elemento va a ser blanco porque la barra de progreso en sí tiene el fondo blanco vino. Entonces ahora necesitamos ocultar esas partes exteriores de los elementos. Para ello, vamos a usar desbordamiento oculto. Ahora está oculto. Tenemos un resultado mucho mejor. Por último, tenemos que hacer visible el círculo negro. Así que vamos a eliminar display none. Ahora mismo. Ellos parte del círculo es visible porque terminó detrás de los elementos div. Para solucionarlo, usemos la propiedad index. Tenemos que asignarle algún valor superior a cero, digamos diez. Bien, ahora, si pongo el cursor sobre la barra de progreso, entonces se llenará muy bien con el color rojo Bien, así que ahora te hemos mostrado cómo crear una barra de progreso usando CSS Y ahora te vamos a mostrar cómo hacer tu trabajo en scroll usando JavaScript. Echemos un vistazo al proyecto terminado. Entonces, si me desplazo hacia abajo se llenará la barra de progreso. Y también la persona que valoras cambiará en consecuencia, que disminuirá una vez que nos desplazemos hacia arriba de nuevo a la parte superior. Primero, comentemos esos estilos. Quiero decir, estas toallas en hover. Después ve al archivo JavaScript. En primer lugar, voy a seleccionar los elementos div. Quiero decir, para los elementos div, que se colocan dentro de la barra de progreso. Sigamos adelante y comencemos con los medios círculos. Crear nueva variable y llamarla semicírculos. En este caso, estamos seleccionando dos elementos, por lo que necesitamos usar el método query selector all. Especificemos aquí el nombre de la clase, semicírculo. El siguiente elemento va a ser medio círculo superior. Así que vamos a duplicar esta línea de código. Cambiar el nombre de la variable. Necesitamos la parte superior de medio círculo. También necesitamos consultar el selector. En lugar de selector de consultas, todo método para el nombre de la clase va a ser la mitad de lo que se llama top. Duplicemos esta línea de código. Una vez más, cambiar el nombre de la variable. Va a ser círculo de barras de progreso. Y también cambiar el nombre de la clase. Necesitamos un círculo de barras de progreso. Bien, así se seleccionan todos los desarrollos. Siguiente Voy a adjuntar un evento scroll al documento. Vamos a usar el método add event listener. Necesitamos especificar aquí el evento va a ser Scroll. Y también necesitamos aquí una función de devolución de llamada que se ejecutará una vez que nos desplazemos por la página Entonces, como saben, la única rotación completa es igual a 360 grados. Tenemos que convertir la porción desplazada de la altura en grados. Antes de hacer eso, tenemos que definir un par de variables diferentes. El primero va a ser la ventana gráfica, altura de la página Vamos a crear nueva variable y llamarla ventana gráfica de página, altura Va a ser ventana en tu altura La siguiente variable va a ser la altura completa de la página. Así que vamos a crear la altura de la página. Debe ser igual a los documentos punto elementos del documento. Y entonces necesitamos la altura de desplazamiento. Entonces nuevamente, definimos aquí toda la altura de la página. Y la última variable va a ser esta parte arrastrada de la página Así que vamos a crear una nueva variable. Voy a llamarlo porción garabateada. Y debería ser igual a Ventana punto página Y offset. Bien, entonces ahora todo está preparado para convertir la altura de esta porción de crecimiento en los grados. Vamos a crear una nueva variable. Voy a llamarlo el grado de porción de desplazamiento. Y ahora tenemos que usar la siguiente fórmula. Necesitamos dividir la porción desplazada a la diferencia de la altura de la página y la altura de la ventana gráfica de la página Y tenemos que multiplicar el resultado por 360. Así que necesitamos a usted porción desplazada dividida por la diferencia de la altura de la página y la altura de la ventana gráfica de la página Tenemos que multiplicarlo por 360 grados. Sigamos adelante y veamos en la consola qué nos da esta variable. Vamos a correr a través de la consola se llama grado de porción. Entonces, inspeccionemos la página y cambiemos a la pestaña de la consola. Una vez que nos desplazemos hacia abajo por la página y vayamos al final de la misma, obtendremos los valores adecuados 0-360 grados. Bien, entonces ahora usando esta variable, rotaremos los semicírculos Entonces necesitamos recorrer ellos y rotar cada semicírculo. Estoy en el primer y segundo desarrollos dentro de la barra de progreso. Entonces, para recorrerlos, tenemos que usar uno de los métodos de ayuda de matriz llamados for-each Se necesita un parámetro, que va a ser la función de devolución Se ejecutará para cada elemento. La función de devolución de llamada en sí toma un parámetro y es el elemento actual en la lista Vamos a llamarlo elementos E L. Ahora tenemos que transformar cada elemento. Necesitamos transformar el estilo. Después abre las garrapatas hacia atrás. Necesitamos aquí rotar la función. Y como valor, tenemos que pasar el grado de porción de desplazamiento. Entonces ahora si nos desplazamos hacia abajo, entonces esta barra de desplazamiento empezará a sentirse. Una vez que alcanzamos la mitad, entonces tenemos que detener el primer semicírculo. Y también necesitamos ocultar el tercer elemento div. Estoy en el medio llamado top. Entonces necesitamos usar la declaración if donde tenemos que definir si el grado de porción Scott es mayor o igual a 180. Entonces, vamos a insertar tu condición mencionada. Si esta condición es verdadera, entonces tenemos que darle al primer semicírculo el valor fijo igual a 180 grados. Para seleccionar el primer semicírculo, tenemos que usar el índice número cero. Y entonces necesitamos transformar el estilo. Debe ser igual a rotar 180 grados. Entonces necesitamos ocultar la parte superior del medio círculo. Usemos estilo, construyamos opacidad y hagamos que sea igual a cero Entonces ahora, una vez que nos desplazemos hacia abajo, se llenará toda la barra de progreso . ¿Qué tenemos aquí? Un pequeño problema una vez que nos desplazamos hacia arriba y se llama grado de porción se convierte en menos de 180 grados. Tenemos que mostrar la parte superior trasera de medio círculo. Así que tenemos que crear la declaración else. Entonces tomemos esta línea de código, péguela aquí, y cambiemos este valor, conviértalo en uno. Así que ahora es se puede ver que todo funciona a la perfección. Lo único que hay que hacer es hacer que el valor porcentual funcione. En este caso, tenemos que convertir grados en un valor porcentual. Vamos a crear una nueva variable. Voy a llamarlo porción de desplazamiento por ciento. Entonces en este caso tenemos que dividir el grado de porción desplazada por 360 grados, y luego tenemos que multiplicarlo por 100 ¿Bien? Ahora tenemos que mostrar este valor como el contenido de la barra de progreso un círculo. Entonces usemos barra de progreso un círculo con contenido de texto. Después abre los backticks. Inserte aquí, porción desplazada presente, seguida del signo porcentual Entonces ahora mismo el valor porcentual funciona, pero aquí tenemos los decimales Para deshacernos de ellos, tenemos que usar uno de los métodos llamados Math.floor. Entonces ahora como puedes ver, todo funciona a la perfección. Y en realidad con el proyecto, ya terminamos 12. Proyecto 9 - Presentación de iconos de redes sociales: En este video, vamos a estar construyendo una presentación de diapositivas de los íconos de las redes sociales Va a ser una pequeña, pero creo que va a ser interesante antes de empezar a crear el proyecto, voy a describirlo. Entonces tenemos aquí una imagen de fondo a pantalla completa y un par de iconos de redes sociales bastante agradables Se están moviendo con algunas integrales. Y el icono en el centro se está volviendo más ligero. Para el resto de los iconos, son más oscuros por defecto. Entonces como dijimos, vamos a construir este proyecto con HTML, CSS y JavaScript. Entonces espero que todos ustedes ya conozcan los fundamentos de esas tres tecnologías. He creado una nueva carpeta en el escritorio llamada slideshow, en la que tengo otra carpeta para las imágenes Sigamos adelante y abramos esta carpeta y código VS. Voy a crear nuestros archivos de trabajo. El primero va a ser index.html. Entonces tendremos style.css y script.js. Vamos a abrir el archivo index.html y crear un documento HTML básico. Para eso, voy a usar Emmet. Necesitamos colocar aquí un signo de exclamación y luego golpear Tab o Enter Bien, después de eso, cambiemos el título. Eso parece algunos íconos de las redes sociales. Entonces voy a vincular archivos CSS y JavaScript. Vamos a abrir la etiqueta de enlace en el elemento head y especificar la ruta del archivo CSS. En cuanto al JavaScript, voy a abrir la etiqueta script abajo, justo encima de la etiqueta del cuerpo de cierre. Especifique aquí la ruta del archivo JavaScript. Después de eso, vamos a ejecutar el proyecto al navegador. Para eso, voy a usar un servidor en vivo, que nos permite ejecutar el proyecto en vivo en el navegador usando un servidor local. Y finalmente, coloquemos editor de texto y el navegador uno al lado del otro Así, y empieza. Así que estamos listos para crear un marcado HTML. Vamos a abrir la etiqueta div, que va a ser el envoltorio del contenido. Vamos a asignar a la presentación de diapositivas de la clase. En general, tendremos cinco iconos de redes sociales diferentes. Serán representados por las imágenes, y también serán envueltos por los elementos de enlace. Entonces es etiqueta de enlace abierto con un enlace de presentación de diapositivas de clase que instituye aquí e imagen Voy a seleccionar imagen llamada slideshow IMG one. Duplicemos el elemento de enlace cuatro veces y luego cambiemos rápidamente los números de los nombres de las imágenes. Bien, así que eso es todo sobre el marcado HTML. Todo está preparado y ahora podemos escribir algunos CSS. En primer lugar, voy a personalizar y aerear los íconos. Y después de eso, haremos que la presentación de diapositivas funcione usando JavaScript. Al principio, vamos a crear algunos estilos comunes y reiniciemos. Seleccionemos todos los elementos usando un asterisco. En primer lugar, voy a deshacerme del margen predeterminado y el relleno de cada elemento. Entonces pongámoslos a cero a ambos. Además, necesitamos dimensionamiento de cajas, border-box. Y voy a deshacerme de los estilos predeterminados de los enlaces. Usemos texto-decoración, ninguno. Entonces a lo largo de este proyecto, voy a usar una rampa como unidad de medida. Por defecto, 1 g equivale a 16 píxeles, porque el tamaño de fuente del elemento HTML es igual a 16 píxeles. Voy a convertir uno corrió en diez píxeles. Y para eso voy a disminuir el tamaño de fuente de los elementos HTML. Hagámoslo 62.5%. Bien, así que eso es todo sobre los estilos comunes. Vamos a seleccionar un envoltorio div elementos. En primer lugar, voy a definir, podemos escondernos, hagamos con el 100%. En cuanto a la altura, voy a fijarla al 100% de la ventana gráfica A continuación, voy a establecer la imagen como fondo de pantalla completa Pero antes de eso, usemos la función llamada gradiente radial. función de degradado radial establece la transición de color desde el centro. Entonces voy a especificar aquí dos colores diferentes. El primero va a ser 483 veces y la opacidad, 0.9 a cinco Eso es para el segundo color. Voy a insertar aquí color negro con la opacidad 0.9 a cinco Después de eso, definamos la URL. Voy a seleccionar imagen llamada bg dot PNG. También necesitamos aquí centrados en la posición y no repetir. Por último, definamos el tamaño del fondo. Hagámoslo cubrir Así que como pueden ver, tenemos aquí una imagen de fondo a pantalla completa A continuación, voy a colocar el icono uno al lado del otro para eso. Usemos flexbox. Necesitamos display flex. Y después de eso, alineemos los iconos y centremos verticalmente. Use alinear elementos. Centro. Además, vamos a crear algo de espacio en los lados izquierdo y derecho usando relleno. Voy a ponerla a cero y después a correr. Bien, veamos sobre el envoltorio. Cuidemos los íconos. Voy a disminuir su tamaño. Vamos a seleccionarlo primero enlace de presentación de diapositivas y hacer su ancho 20% Después de eso, tenemos que definir el ancho de la propia imagen. Entonces, seleccionemos elementos IMG y fijemos el ancho al 100 por ciento Entonces en este caso, la imagen ocupará el 100% del ancho del elemento padre. ¿Correcto? Eso es todo sobre el CSS. Por ahora. Tenemos que hacer que la presentación de diapositivas funcione usando JavaScript. Entonces es abrir este archivo script.js. En primer lugar, voy a seleccionar tus elementos div wrapper. Me refiero a la presentación de diapositivas, vamos a crear una nueva variable y llamarla presentación de diapositivas A continuación, seleccione el elemento utilizando el método selector de consultas. Tenemos que especificar aquí el nombre de la clase. Presentación de diapositivas. Bien, déjame decirte cómo vamos a hacer que funcione esta presentación de diapositivas Eliminaremos el primer icono de la lista, y lo volveremos a agregar a la lista como el último. Eso lo haremos con algunos intervalos y también con algunas transiciones suaves. Eso es todo sobre el proceso de la presentación de diapositivas. Como decíamos, necesitamos algunos intervalos. Y para eso voy a usar uno de los métodos incorporados llamado Set Interval. Se necesitan dos argumentos. La primera es una función de devolución de llamada, que se ejecuta después de cada intervalo En cuanto al segundo argumento, va a ser la cantidad del intervalo en sí. Vamos a cambiar las imágenes después de 3 s. Así que voy a pasar aquí 3,000, 3,000 milisegundos, lo que equivale a 3 s. Bien, así como dijimos, tenemos que quitar el primer icono y luego agregarlo a la lista como el último Entonces, antes que nada, seleccionemos el primer icono. Voy a crear nueva variable. Vamos a llamarlo primer icono. Voy a seleccionar el primer icono usando una de las propiedades llamadas primer elemento hijo. Quiero decir, va a ser el hijo de esta presentación de diapositivas. Entonces ahora se selecciona el primer icono, y para poder eliminarlo de los elementos div wrapper, voy a usar uno de los métodos dome llamado remove child. Entonces necesitamos presentación de diapositivas. A continuación, retire niño. Y como argumento, tenemos que pasar tu primer ícono. Como se puede ver después de cada 3 s, el icono. Entonces quitando, como decíamos, tenemos que volver a agregarlos a la lista. Y para eso, voy a usar otro método domo llamado append child Por defecto, agrega un elemento como último hijo. Entonces necesitamos presentación de diapositivas seguida del método append child. Y como argumento, tenemos que pasar aquí otra vez por un segundo. Bien, entonces como pueden ver, la diapositiva muestra todas las obras. Pero hay que agregarle un par de efectos diferentes. Lo primero que voy a hacer es eliminar el primer icono sin problemas con un efecto fade. Para ello, voy a crear una nueva clase en CSS. Vamos a llamarlo se desvaneció. Por lo que esta clase incluirá dos estilos. Para desvanecer los elementos, necesitamos hacer que la opacidad y el ancho, ambos sean cero. Así que pongamos la opacidad y el ancho a cero. Y además de eso, tenemos que usar transición para el primer icono. Para seleccionar el primer icono, voy a usar f selector hijo. Tenemos que especificar aquí uno. Y luego vamos a insertar tu transición con una duración de 0.5 s de opacidad con la misma duración Eso es todo sobre el CSS. Volvamos al archivo JavaScript. Ahora, tenemos que agregar clase desvanecida al primer icono. Entonces necesitamos aquí primer icono, seguido de la propiedad llamada class list, que nos da todas las clases del elemento. Entonces necesitamos usar el método llamado add. Y tenemos que especificar aquí el nombre de la clase se desvaneció. Ahora el icono se está quitando pero sin ningún efecto de fundido porque el efecto de transición necesita algo de tiempo. En realidad la mitad del segundo Tenemos que esperar la mitad de este segundo antes de eliminar el elemento de la lista. Para hacer eso, voy a usar uno de los métodos llamados setTimeout Nos permite ejecutar la función una vez con algún tiempo de retardo. Entonces este método toma dos argumentos. El primero es una función de devolución de llamada. Interfiquemos esas dos líneas. En cuanto al segundo argumento, va a ser un tiempo de retraso. En este caso, necesitamos la mitad de los segundos 500 milisegundos. Entonces ahora el icono se está quitando con un bonito efecto de fundido. Ahora tenemos que volver a agregarlo a la lista con un efecto fade. Para ello, tenemos que eliminar la clase fade out de los elementos. Necesitamos primer icono, seguido de la propiedad class list. Y entonces tenemos que usar el método llamado remove. Especificemos aquí el nombre de la clase fade out. Ahora el icono se agrega a la lista, pero sin ningún efecto de fundido. Porque de nuevo, tenemos que esperar la mitad del segundo. Así que necesitamos usar de nuevo la función de tiempo de espera establecido que inserte esta línea de código dentro de la función y también especifique el tiempo de retardo, 500 milisegundos Entonces ahora, todavía no tenemos aquí el efecto fade porque necesitamos definir la transición para el último icono. Vamos al archivo CSS. En realidad, necesitamos la misma transición que usamos para el primer icono. Entonces voy a agregar aquí solo el selector para el quinto icono. Entonces ahora mismo, todo funciona bien y podemos seguir adelante y encargarnos del segundo efecto. Es decir, tenemos que hacer que los íconos sean más oscuros por defecto. Y luego tenemos que hacerlos más ligeros una vez que ocupen el tercer lugar, en lo mínimo, como es en el proyecto terminado. En primer lugar, hagamos que todos los íconos sean más oscuros. Para eso, voy a usar una de las propiedades CSS llamada filter con una función llamada brillo. Vamos a insertar tu 0.1. Por lo que este valor significa que el elemento mantiene sólo el diez por ciento de su brillo predeterminado. Después de eso, voy a crear una nueva clase y CSS, que incluirá el mayor brillo. Y añadiremos esta clase al elemento usando JavaScript. Vamos a llamar a esta clase de luz que utilizar de nuevo filtro, donde la función de brillo como el valor de interés para usted, 1.5. Bien, volvamos al archivo JavaScript. Ahora tenemos que seleccionar el tercer icono y tenemos que agregarle una luz de clase recién creada. Vamos a crear una variable y llamarla tercer icono. Para poder acceder al tercer icono, voy a usar una propiedad llamada niños. Y luego entre corchetes, tenemos que especificar el número de los elementos. En este caso necesitamos tres. Entonces ahora hemos seleccionado el elemento y necesitamos agregarle luz de clase. Entonces necesitamos aquí icono de pie, punto, lista de clases, punto add. Y tenemos que especificar aquí el nombre de clase light. Ahora como puedes ver, el icono se está volviendo más ligero, pero mantiene el brillo. Entonces no necesitamos eso. Tenemos que quitar de nuevo la luz de clase. Tenemos que eliminarlo del hermano anterior del tercer icono Porque una vez que se mueve, entonces ya no es el tercer icono de la lista, sino el segundo que necesitamos aquí a través del icono punto, elementos anteriores hermanos, seguido de la propiedad class list Entonces necesitamos un método llamado remove. Y otra vez, clase como Bien, así que ahora todo funciona bien. Solo necesitamos agregar una transición a este efecto. Vamos al archivo CSS. Seleccione el tercer icono. Usa de nuevo enésimo selector hijo que transición Instituto con filtro 0.5 s. bien, así que ahora tenemos resultados mucho mejores Puedo, se está volviendo más oscuro sin problemas. Pero como puedes ver, necesitamos la transición una vez que el ícono se vuelve más ligero también. Entonces agreguemos una transición al filtro de luz de clase como la duración. Especificemos aquí 1.5 s. bien, entonces ahora todo estaba bien. Y antes de terminar este tutorial, voy a hacer una cosa más. Si vuelvo a cargar la página que los cinco iconos serán más oscuros. No necesitamos eso. Necesitamos que tu tercer icono sea más ligero por defecto. Y para ello, voy a agregar luces de clase al tercer icono y al archivo HTML. Bien, eso es. Por último ya terminamos. Hemos terminado de trabajar en los proyectos. Nuevamente, fue una pequeña, pero espero que haya sido interesante. Y lo disfrutaste. Nos vemos la próxima vez. 13. Proyecto 10 - Formularios con validación: Bien, así que es momento de empezar a trabajar en nuestro próximo proyecto En este video, vamos a estar construyendo formularios de inicio de sesión y registro. Hoy en día, hicimos formularios de inicio de sesión y registro en casi todos los sitios web. Entonces este tipo de proyectos te va a ser interesante y útil porque cuando trabajes en tus proyectos, debes saber cómo lidiar con estas cosas. Antes de comenzar a escribir el código, sigamos adelante y describamos el proyecto. Entonces aquí tenemos dos botones diferentes, inicia sesión y regístrate en la esquina superior izquierda de la página. Entonces tenemos aquí el rubro. Por defecto muestra el inicio de sesión pero lo programará usando JavaScript. Luego abajo, teníamos un par de campos de entrada y un botón de enviar. Por defecto, se muestran campos de entrada para iniciar sesión. Pero si hago clic en el botón Registrarse, entonces obtendremos aquí los campos de entrada para el registro. Además de eso, el proyecto incluye una validación de formulario. Por ejemplo, si vivo los campos de entrada vacíos y hago clic en el botón enviar, entonces obtendremos los mensajes de error diciendo que se requieren correo electrónico y contraseña. Si siento, por ejemplo, una de las entradas, digamos la contraseña y haga clic en el botón de enviar. Entonces el campo de entrada obtendrá un borde verde, lo que significa que hemos ingresado los datos válidos y el InputField Bien, Así que el proyecto va a responder a diferentes tamaños de pantalla. Si inspecciono la página y cambio al modo responsive, encontrarás que el proyecto responde. Construimos este proyecto para un tamaño de pantalla extra grande. Estoy en el tamaño de pantalla con 1920 piezas de ancho y 1080 pixeles de alto. Entonces, si estás usando un tamaño de pantalla relativamente más pequeño que el proyecto, puede que no te veas del todo bien durante el tutorial, pero no te preocupes al final del día, lo haremos receptivo. Mientras tanto, puede cambiar al modo de respuesta, establecer el ancho y la altura para el tamaño de pantalla extra grande. Y sígueme. Como dijimos, el proyecto se va a construir en base a HTML, CSS y JavaScript. Entonces espero que ya conozcas algunos conceptos básicos de esas tres tecnologías. Creo que estamos listos para comenzar. He creado una nueva carpeta en el escritorio llamada inicio de sesión, formulario de registro, que ahora mismo está vacía Sigamos adelante y ábralo en código VS y creamos los archivos de trabajo para HTML, CSS y JavaScript. Necesitamos index.html, luego style.css y script.js. A continuación, abra el archivo index.html e inserte aquí el documento HTML básico. Para eso, voy a usar un animado. Coloquemos aquí un signo de exclamación y presionemos Tabulador o respuesta Bien. Sigamos adelante y cambiemos el título. Te voy a insertar iniciar sesión, inscribirte formulario. Y luego después de eso, vinculemos los archivos CSS y JavaScript. Voy a abrir la etiqueta de enlace, especificar la ruta del archivo CSS. Entonces para vincular el archivo JavaScript, voy a abrir la etiqueta script a la derecha, sobre el cuerpo y el atributo source. Vamos a especificar la ruta del archivo. Por último, voy a ejecutar el proyecto al navegador. Para eso, usemos uno de los paquetes de código VS que se llama Live Server. Nos permite ejecutar el proyecto mintió al navegador y hacer actualizaciones sin actualizar la página cada vez. Para que puedas instalar y utilizar este paquete. Bien, coloquemos el editor y los navegadores uno al lado del otro, Y empezar. Como de costumbre, voy a empezar a crear el marcado HTML. Entonces vamos a abrir la etiqueta div, que va a ser el contenedor. Entonces voy a insertar tu elemento de encabezado H1 con un encabezado de clase. El rubro constará de dos elementos de span diferentes. Vamos a abrirlo con el encabezado de la clase, abarcar uno, instituir el signo de texto, y luego crear un segundo elemento span con encabezados de clase para insertar aquí Eso es todo sobre el rubro. A continuación, voy a crear botones. Entonces vamos a abrir la etiqueta div, que va a ser la envoltura de los botones. Voy a asignarle botones de clase. Después inserte los auriculares y elementos con el signo de clase en BTN Vamos a insertar tu inicio de sesión. Entonces voy a duplicar esta línea de código y cambiar el nombre de la clase. Tenemos que registrarnos e inscribirnos. A continuación, voy a crear un formulario, pero antes de eso, vamos a insertar aquí una etiqueta div que va a ser el fondo del formulario. Me refiero al triángulo como la clase científica para g. Entonces voy a abrir la etiqueta de forma. Tendrá dos clases distintas. El primero se va a formar. cuanto al segundo, vamos a insertar tu inicio de sesión En general, tendremos un solo elemento de formulario con cuatro campos de entrada diferentes. Y lograremos mostrar, iniciar sesión e inscribir partes usando JavaScript como etiqueta div abierta, que será el envoltorio del campo de entrada y párrafo. Vamos a asignarle envoltorio de entrada de formulario de clase. Usaremos el párrafo para mostrar un mensaje de error. Vamos a insertar aquí elemento de entrada con texto tipo. Además de eso, voy a agregarle un par de atributos asignados a las entradas de formulario de clúster. Entonces necesitamos el id, que va a ser username. Ahora, por último, usemos un atributo de marcador de posición que devaluará tu nombre Bien, eso es todo sobre el elemento input. Vamos a crear el párrafo con el mensaje de clase. Por defecto, voy a insertar aquí mensaje de error. Pero eventualmente definiremos los mensajes de error de JavaScript. Entonces se crea el primer campo de entrada. Sigamos adelante y dupliquemos el elemento tres veces y luego hagamos algunos cambios. Para la segunda entrada, necesitamos correo electrónico de identificación. También cambia el atributo de marcador de posición, ingresa tu dirección de correo electrónico. A continuación, tendremos entrada para la contraseña. Entonces cambiemos el tipo, hagamos una contraseña, hagamos una contraseña, y también cambiemos los atributos de ID y marcador Necesitamos una contraseña para ambos. ¿Bien? La última entrada va a ser para la confirmación de la contraseña. Entonces voy a hacer de nuevo el tipo de entrada, contraseña. En cuanto a la identificación va a ser pasaporte a. Por último cambiar el atributo placeholder, voy a hacer que confirme contraseña ¿Bien? El último elemento que vamos a crear en el documento HTML va a ser un botón submit. Así que vamos a abrir elemento de entrada con tipo submit. También agregue aquí el valor enviar. Y por último, usa tu formulario de clase btn. Bien, así que eso es todo con respecto al marcado HTML. Ahora tenemos que empezar a escribir el CSS. En primer lugar, vamos a crear algunos estilos de reset y comunes. Seleccionemos cada elemento usando un asterisco y eliminemos el margen predeterminado y el relleno. Voy a ponerlos a cero a ambos . Además de eso, vamos a establecer box-sizing border-box, y también se deshace del contorno predeterminado de cada elemento Vamos a establecer esquema a ninguno. A continuación, voy a cambiar la familia de fuentes. A lo largo de este tutorial, vamos a utilizar una de las fuentes de Google. Así que vayamos al sitio web de Google Fonts y busquemos una fuente llamada en escalera de consola. Después selecciona todos los estilos diferentes aquí. Agarra el enlace y pegarlo en el elemento head. Vamos a cambiar la familia de fuentes. Eso es inseguro en la escalera de consola y el monoespacio. Eso es una tontería sobre los estilos comunes y reset. Voy a usar RAM como unidad de medida en este proyecto. este momento, un rem equivale a 16 píxeles porque el tamaño de fuente del elemento HTML es igual a 16 píxeles. Por defecto, quiero convertir una RAM en diez píxeles. Y para eso, tenemos que disminuir el tamaño de fuente de los elementos HTML. Hagámoslo 62.5%. Entonces, como puedes ver, los elementos se hicieron más pequeños. Sigamos adelante y cuidemos el contenedor. Vamos a seleccionarlo. Y al principio definieron el ancho y la altura, voy a establecer con el 200 por ciento. En cuanto a la altura, voy a fijarla al 100% de la ventana gráfica Entonces voy a centrar el contenido. Y para eso, usemos flexbox. Tenemos que cambiar la dirección. Hagámoslo columna. Y luego para colocar el contenido en el centro, necesitamos justify-content center y align items center ¿Bien? Por lo que los elementos se colocan en el centro y con el contenedor estamos hechos. Sigamos adelante y personalicemos el encabezado. En primer lugar, cuidemos su posición. Voy a moverlo hacia arriba. Así que vamos a asignar a una posición absoluta. Y luego definir la posición superior, hacerla cinco rampa se considera, se posiciona el rumbo, y ahora voy a darle estilo al principio. Vamos a cambiar el tamaño de fuente, que sea siete RAM. Entonces voy a hacer la fuente más ligera usando el peso de la fuente 300. También cambia el color, hazlo Tres y cinco, tres y cinco A continuación, voy a crear algo de espacio entre las letras usando espaciado entre letras una habitación. También crea algún efecto de sombra. Usando sombra de texto. Vamos a asignar valores de verdad 0.2, 0.2, 0.5 RAM, y el color AAA. Ahora mismo, eso es lo del rubro. Sigamos adelante y personalicemos los botones. Al principio, voy a definir sus posiciones. Así que vamos a seleccionar elementos div envoltorio, que tiene los botones de nombre de clase, y establecer su posición en absoluto. Y luego definir las propiedades superior e izquierda. Voy a ponerlos a ambos en cinco rampas. Por lo que las casillas se colocan en la esquina superior izquierda de la página Y a continuación, los voy a colocar verticalmente en una columna. Para eso, usemos flexbox. Necesitamos display flex y flex direction columna. Bien, sigamos adelante y seleccionemos botones. Estoy en el elemento botón en sí. En primer lugar, voy a definir la anchura y la altura. Hagamos con diez RAM. En cuanto a la altura, voy a configurarlo para RAM. Y también cambia el color de fondo, hazlo blanco. Después de eso, cambiemos el tamaño de fuente. Voy a llegar a Ram. También cambia el color. Vamos a usar de nuevo color F cero, tres-cinco, tres-cinco. Entonces me voy a deshacer del borde predeterminado. Vamos a ponerla en ninguna. Además, voy a hacer las esquinas de las cajas alrededor de ellos usando border-radius con un valor de cinco rem A continuación, vamos a crear algo de espacio entre las letras usando espaciado entre letras 0.1 RAM. Entonces voy a crear un pequeño efecto de sombra. Entonces usemos tanto shadow con los valores 0.3, 0.3 RAM que 0.8 rem, el color E. Entonces necesitamos algo de espacio en la parte superior e inferior de los botones. Entonces usemos margin con los valores uno, RAM y cero. Y por último, vamos a cambiar el tipo de curso va a hacer que apunte. ¿Bien? Entonces los botones están estilizados y ahora tenemos que cuidar la forma Sigamos adelante y seleccionémoslo. Voy a hacer elemento de forma flexible contenedor. Entonces necesitamos display flex. Y también voy a cambiar la dirección. Vamos a establecer la dirección flexible para llamar. A continuación, cuidemos el envoltorio de entrada de formulario. Pero antes de eso quiero ocultar esos párrafos por un tiempo Así que vamos a seguir adelante y seleccionarlos y asignarles mostrar ninguno. Después de eso, vamos a seleccionar el envoltorio de entrada de formulario. Voy a crear algo de espacio en la parte superior e inferior usando margen. Vamos a establecerlo en 1.5 rem y cero. Bien, sigamos adelante y seleccionemos el elemento de entrada en sí. Y definir para el ancho y altura de caída. Voy a establecer el ancho a 50 RAM como altura total. Hagámoslo cinco RAM. También cambia el color de fondo, hazlo blanco. Entonces voy a aumentar el tamaño de la fuente. Hagámoslo 1.7 rem. Luego crea algo de espacio en los lados derecho e izquierdo dentro de las entradas usando padding, Hagámoslo 0.2 ram. Y por último, vamos a crear algo de espacio entre las letras usando menos puntos de espaciado para rampa. Entonces esos eran los estilos comunes de las entradas. Las entradas y el botón de enviar. Ahora voy a seleccionar la entrada de formulario en sí. Vamos a crear alguna sombra usando sombra de caja con el punto de valores que ejecutamos. Corrimos 0.5 rem. A continuación tenemos que llamar o E. Y también voy a agregar aquí un valor más. Quiero crear sombra dentro de la entrada. Y para eso tenemos que usar valor llamado recuadro. A continuación, cambiemos el color. Ves tu color 888. Bien, después de eso, vamos a deshacernos del borde predeterminado para todos los elementos de entrada Entonces voy a poner la frontera a ninguna. Y también voy a hacer esquinas redondeadas usando border-radius sea el valor de cinco rem ¿Bien? Así que ahora mismo, los elementos de entrada tienen una sombra de caja dentro de los campos, y voy a crearla fuera del elemento también Para ello, asignemos la propiedad box shadow al envoltorio de entrada de formulario. Son los mismos valores de verdad, 0.5 RAM tres veces. Y el color es decir Y además de eso, necesitamos para el radio con el valor cinco rampa. Ahora, cada campo de entrada tiene una sombra de caja dentro y fuera, lo que los hace lucir bien Vamos a seguir adelante y encargarnos de este botón de enviar vemos aquí solo el texto enviar. Entonces sigamos adelante y seleccionemos este elemento. Y al principio, crea sombra usando sombra de caja. Te voy a pasar valores 0.5 rem, 0.5 RAM, una RAM, y el color D, D, D. Además, cambiemos el color del texto. Vamos a usar de nuevo el color rojo al 03535. A continuación voy a crear algo de espacio en la parte superior e inferior usando margen. Vamos a ponerlo en dos ram y cero. Así que vamos a crear algo de espacio entre las letras. Utilice puntos de espaciado lateral para correr. Y luego hacer que la fuente en negrita esté usando font-weight bold. El botón de enviar se ve bien. A continuación, quiero crear un pequeño efecto hover. Voy a aumentar ligeramente las sombras masivas una vez que coloquemos el cursor sobre el botón Así que seleccionemos Formar btn con hover. Y asignado caja de dientes sombra, donde los valores 0.5 RAM, 0.5 RAM a RAM, y el color d, d, d. ¿Bien? Entonces lo último que tenemos que hacer antes de agregar la funcionalidad a nuestro proyecto es crear un fondo. Como saben, tenemos un elemento div vacío en el documento HTML con el formulario de clase PG. Entonces sigamos adelante y seleccionemos este elemento. Y al principio, pongamos su posición a absoluta. Entonces voy a establecer ancho y alto, ambos a 65 RAM. También usa aquí caja sombra con 1.5 redondo tres veces y el color ddd Por último, quiero rotar este elemento 45 grados y creará un efecto de triángulo. Entonces usemos Transformar con la función rotate e insertando aquí 45 grados. Entonces como puedes verlo, ya terminamos con los antecedentes. En realidad. Ahora mismo tenemos un pequeño problema aquí. No puedo enfocarme en los insumos. Entonces para arreglar eso, vamos a asignar al elemento formulario la propiedad de índice Z con algún valor mayor, digamos 100. Bien, entonces ahora el problema está arreglado y en realidad con esta Tailandia, terminamos por ahora Necesitamos agregar alguna funcionalidad al proyecto. Antes de empezar a escribir algo de JavaScript, quiero hacer un par de cosas y CSS. Una vez enfocamos las entradas, entonces quiero aumentar la sombra de caja dentro del campo de entrada Entonces voy a seleccionar entrada de formulario con un enfoque pseudo-clase Y luego inserta tu sombra de caja con los siguientes valores. Cinco rampa, 0.5, rem una RAM que el color E. Y también necesitamos aquí el valor en conjunto. Después usa transición. Quiero asignar propiedad de transición a todos los elementos de entrada incluyendo el botón de enviar porque también tiene un efecto de sombra de caja en sin embargo, se define transición con los valores box shadow y 0.3 s. Bien, entonces ahora tenemos un efecto mucho mejor. Voy a cambiar el curso de tipo para el botón de enviar. Entonces hagámoslo puntero. Bien, ahora es el momento de agregar alguna funcionalidad al proyecto Echemos un vistazo a la versión terminada. Por cierto, no tenemos aquí el fondo del triángulo porque el proyecto terminado es todo nuestro responsive. Voy a programar esos dos botones. Como puedes ver por defecto, el botón de inicio de sesión tiene un color de fondo diferente Y una vez que hagamos clic en el botón Registrarse, entonces los colores de fondo cambiarán. Además de eso, la segunda parte del rubro está cambiando en consecuencia. Y también los campos de entrada adecuados para mostrar OnClick. Vamos a hacer esas tres cosas. Al principio, deshagamos del color de fondo blanco predeterminado de esos botones. Luego selecciona el botón de inicio de sesión y cambia el color de fondo Voy a usar tu color E7, E7, E7. Después selecciona el botón Inscribirse y haz que sea color de fondo blanco. Bien, ahora voy a cambiar los colores de fondo onclick Pasemos al archivo script.js. Así que tenemos que adjuntar a ambos botones oyentes de eventos con el evento click Después una vez que hagamos clic en el botón Registrarse, necesitamos agregar al contenedor una nueva clase la cual será utilizada en CSS Vamos a definir nuevos estilos con la ayuda de esta clase. Entonces, antes que nada, sigamos adelante y seleccionemos contenedor. Voy a crear un nuevo contenedor variable. Y luego seleccione contenedor usando el método selector de consultas. Tenemos que especificar aquí el contenedor de clase. Después de eso, voy a seleccionar el botón de registro y adjuntarlo y el oyente de eventos Así que sigamos adelante y utilicemos de nuevo query, seleccionemos un método y especifiquemos aquí el nombre de la clase, regístrate btn Luego adjuntarlo en el oyente de eventos con un evento de clic. Y también tenemos que pasar aquí la función callback, que se ejecutará una vez que hagamos clic en el botón Cuando hacemos clic en el botón Registrarse, entonces tenemos que agregar al contenedor una nueva clase. Entonces necesitamos aquí contenedor, seguido de la propiedad class list, que almacena todas las clases que tiene el elemento. Entonces para agregar la clase al contenedor, voy a usar un método llamado add. Dentro de los paréntesis. Tenemos que especificar el nombre de la clase. Vamos a llamarlo cambio. Bien, vamos al archivo CSS y seleccionemos el botón de registro, pero con el cambio de clase Y luego establece el color de fondo en E7, E7, E7. Entonces ahora si hago clic en el botón Registrarse, entonces su color de fondo cambiará. Pero en realidad no es suficiente. Como ves, el botón Iniciar sesión todavía tiene el color de fondo gris. Así que volvamos al archivo JavaScript. Ahora tenemos que adjuntar al botón Iniciar sesión y al oyente de eventos Y tenemos que quitar el cambio de clase del contenedor. Así que sigamos adelante y seleccionemos el botón Iniciar sesión usando el método QuerySelector y luego adjuntamos a él el oyente de eventos Hagamos una pausa aquí, haga clic en el evento y también la función de devolución Entonces como dijimos, tenemos que quitar clase cambiada en el contenedor. Sigamos adelante y agarremos esta línea de código. Y en lugar de método llamado add, usemos remove. Después ve al archivo CSS. A diferencia del botón Registrarse, seleccione el botón de inicio de sesión con la clase, cambie y establezca su color de fondo en blanco Ahora, como pueden ver, todo se ve bien. Los colores de fondo están cambiando. Lo único que tuvo que hacer es agregar un efecto de transición a los botones. Entonces usemos transición con color de fondo y con la duración 0.3 s. bien, entonces ahora tenemos un efecto mucho mejor A continuación, voy a encargarme del rumbo. Una vez que pudiéramos hacer botones, deberíamos cambiar la segunda parte del encabezado en consecuencia. Al principio, voy a cambiarlo sin ningún efecto. Y luego una vez que logramos cambiar el contenido, entonces agregaremos algunos efectos agradables. Vamos al archivo JavaScript. Y si primero, seleccionemos el segundo elemento span en el encabezado. Voy a crear nueva variable. Vamos a llamarlo Encabezados Segunda parte. Y luego seleccione elementos span usando el método QuerySelector. Hagamos una pausa aquí. Nombre de clase encabezado abarcan dos. Entonces para cambiar el contenido de los elementos, voy a usar una de las propiedades llamadas text content. Entonces necesitamos arenque engendrar dos, seguido de la propiedad textContent, y tenemos que asignarle arriba Vamos a copiar este código. Pégalo abajo y cámbialo hacia arriba a E. Así que si hago clic en los botones, entonces el contenido cambiará en consecuencia. Todo funciona bien. Y ahora como dije, voy a agregar algunos efectos agradables a este cambio. Volvamos a echar un vistazo al proyecto terminado. Entonces cuando hago clic en los botones, entonces el cuadro blanco se mueve de derecha a izquierda y crea un bonito efecto. Esta caja blanca va a ser el después de que sean los pseudo elementos En primer lugar, vamos a crear estos elementos. Necesitamos escondite dos, seguido de los pseudo elementos F2 Al principio, definamos un contenido. Voy a hacerlo vacío. Y luego establecer la posición en absoluto. Voy a definir la posición de este elemento de acuerdo a su padre, que es el elemento span en sí mismo. Así que voy a asignar al elemento span posición relativa. Después defina el ancho y alto de la caja. Voy a establecer ambos al 100% y también darle algunos fondos temporales diferentes al color blanco porque quiero hacer visible la caja. Vamos a usar aquí color gris claro. Entonces ahora la caja es visible. Y a continuación voy a definir su posición Por defecto, la voy a colocar del lado derecho. Vamos a establecer la posición correcta en -100%. Bien, así que cuando haga clic en el botón Inscribirse, este cuadro debería moverse hacia el lado izquierdo Y para lograrlo entonces voy a utilizar de nuevo el cambio de clase. Seguido de los encabezamientos abarcan dos con después de pseudo elementos Para mover los elementos, voy a fijar la posición correcta 200 por ciento. Ahora, si hago clic en los botones entonces la caja se moverá. Vamos a agregarle un poco de transición. Vamos a asignarle, ¿verdad? Y 0.6 s. Ahora la caja se mueve con una transición suave. Se puede ver cuando el cuadro se mueve hacia el lado izquierdo, luego termina encima del rumbo. Estoy en el primer elemento span. Así que tenemos que arreglar eso y podemos manipular con la propiedad z-index Seleccionemos el primer elemento span, que tiene la clase heading spine one, y establecemos la propiedad index en diez. Bien, entonces ahora el problema está arreglado y lo único que hay que hacer es agregar algún tiempo de retraso antes de que se cambie el continente. Porque ahora mismo al principio el contenido está cambiando y luego la caja se está moviendo. Y en realidad no se ve bien. Voy a crear delay usando una de las funciones incorporadas llamada setTimeout Vamos al archivo script.js e insertemos aquí. Establecer tiempo de espera. Esta función toma dos argumentos. La primera es la función callback, que se ejecuta después de algún tiempo Y la cantidad de estos tiempos va a ser el segundo argumento. Ejecutemos esta línea de código. En cuanto al tiempo de espera, es necesario especificarlo en milisegundos Entonces vamos a insertar un año, 200. Vamos a copiar este código y pegarlo aquí abajo. Voy a cambiar a E. Así que ahora si hago clic en los botones, entonces el efecto funcionará bien. Lo único que tuvo que hacerlo para deshacerse de este color temporal y entrevistar color blanco. Bien, entonces ahora tenemos un efecto agradable y genial. Bien, entonces con el rubro ya terminamos y ahora tenemos que encargarnos de los campos de entrada Por defecto, necesitamos mostrar las entradas de correo electrónico y contraseña n. Una vez que podríamos estar botón de registro, entonces tenemos que mostrar de nuevo el nombre y el apellido más. Así que sigamos adelante y ocultemos el primer y el último campo de entrada. Voy a seleccionarlos usando el selector f child. En realidad va a seleccionar el envoltorio de entrada de formulario. Necesitamos aquí F niño uno. Después duplique este selector y cambiando el número. Inserte aquí para. Entonces para ocultar esos elementos, voy a usar visibilidad oculta y opacidad cero Entonces, como puedes ver, las entradas están ocultas, pero ahora el botón de enviar está demasiado lejos de esas entradas. Entonces, vamos a encargarnos de eso. Voy a poner posición a relativa. Y luego con el fin de mover el elemento arriba de la posición superior con un valor menos seis. Ahora, cuando hacemos clic en el botón Registrarse, pero tenemos que hacer un par de cosas. Tenemos que mostrarlo de nuevo. La primera y la última entrada. Voy a duplicar este código. Entonces agreguemos a ambos selectores el cambio de clase. Entonces necesitamos cambiar los valores. En lugar de visibilidad oculta, necesitamos visibilidad visible y opacidad uno Además de eso, necesitamos mover este botón de envío de nuevo a su posición predeterminada. Entonces, seleccionemos el botón Enviar con cambio de clase y configuración posicionados en una rampa. Entonces, si hacemos clic en el botón Inscribirse, entonces todo va a funcionar bien. Ahora para que este cambio sea más agradable, tenemos que usar la transición Al principio. Vamos a agregar una transición a los raperos de entrada Necesitamos tus valores todos y 0.3 s. Entonces necesitamos hacer la transición con el cambio de clase. Y también necesitamos que uses algún tiempo de retraso. Entonces, cuando hagamos clic en el botón Registrarse, entonces esta transición funcionará. Y una vez que hagamos clic en el botón Iniciar sesión, entonces esta transición funcionará Bien, así que con los campos de entrada, terminamos. Agreguemos una transición al botón de enviar. Por defecto, voy a establecer la transición a la cima. Entonces la duración 0.3 s, y también el tiempo de retardo 0.3 s. Y también necesitamos la transición aquí con el valor es superior y 0.3 s. así que si hago clic en el botón Registrarse, entonces sometemos el botón se moverá sin problemas. Pero una vez que haga clic en el botón Iniciar sesión, entonces no tendremos ningún efecto de transición. La razón es que usamos transición con elementos de entrada. Y en realidad este selector tiene la mayor precedencia Así que voy a deshacerme de la transición de aquí y agregar box-shadow abajo abajo en ambos casos Entonces ahora si pruebo, entonces todo va a funcionar perfectamente. Bien. Entonces lo siguiente que tenemos que hacer es validar todos esos campos de entrada. En primer lugar, voy a seleccionar los cuatro elementos de entrada y almacenarlos en las variables. Sigamos adelante y creamos la primera variable, que va a ser username. Como recuerda, los elementos de entrada tienen los ID. Entonces voy a seleccionar nombre de usuario usando el método get element by ID. Tenemos que pasar el nombre de usuario ID. Duplicemos esta línea de código tres veces y cambiemos los nombres de las variables y también los ID. El segundo va a ser el correo electrónico. Entonces tendremos contraseña y contraseña también. Bien, al principio vamos a comprobar si los campos de entrada están vacíos o no Voy a crear una función. Sigamos adelante y llamémoslo verificar campos obligatorios. Voy a usar aquí la función de flecha. Esta función tomará un parámetro que va a ser una matriz, e incluirá todas las amplitudes Entonces como parámetro, voy a insertar su matriz de entradas. Entonces, para verificar si los campos de entrada están vacíos o no, al principio necesitamos recorrer la matriz. Y para eso, voy a usar uno de los métodos de ayuda de matriz llamados para H. Se necesita un argumento que va a ser la función de devolución Esta función en sí toma un parámetro y voy a pasar tu entrada. Va a ser el elemento de entrada actual Durante el bucle. Bien, entonces ahora necesitamos verificar si el valor de la entrada está vacío o no Entonces necesitamos usar declaraciones if else. Y como condición, voy a pasar aquí, entrada punto valor triple igual a cadena vacía. En realidad, el valor de entrada no es suficiente aquí porque si ingresamos algo en los campos de entrada con un espacio en blanco, entonces este espacio en blanco será reconocido como la parte del valor que no necesitamos Entonces para evitar este tipo de cosas, quiero decir, para ignorar los espacios en blanco, podemos usar uno de los métodos llamados trim ¿Bien? Entonces, si esta condición es verdadera, entonces tenemos que mostrar un mensaje de error. Sólo pongamos aquí el comentario. Y si es falso, entonces necesitamos unas declaraciones else en las que tengamos que cambiar el color del borde de las entradas a verde. Entonces instituyamos un éxito por un tiempo. Entonces para hacer esas dos cosas, voy a crear dos funciones distintas. Empecemos con el mensaje de error. Voy a crear una nueva función. Vamos a llamarlo error. Tomará dos parámetros. El primero van a ser los elementos de entrada. En cuanto al segundo, va a ser un mensaje. Así que ahora necesitamos acceder al envoltorio de entrada de formulario, que es un elemento padre de la entrada. Añadiremos una nueva clase al envoltorio. Y con la ayuda de esta nueva clase, quien logrará mostrar un mensaje de error. Bien, sigamos adelante y creamos una variable. Voy a llamarlo envoltorio de entrada. Entonces, para obtener acceso al envoltorio de entrada, necesitamos entrada seguida de la propiedad llamada elemento padre. Ahora tenemos que añadir una nueva clase al envoltorio de entrada. Y para eso, voy a usar una de las propiedades llamadas className Vamos a insertar tu clase. Digamos error. En realidad, este elemento tiene su propia clase, que es un envoltorio de entrada de formulario. Si vivimos aquí solo un error, entonces sobrescribirá la clase existente Entonces para evitarlo, vamos a insertar aquí formulario capaz de rapero también. Bien, a continuación voy a seleccionar el párrafo. Podemos hacerlo usando documento, pero en este caso, bajo el primer párrafo encontrado se seleccionará. Entonces, en lugar de documentos, voy a usar un envoltorio de entrada seguido del método selector de consultas. Dentro del paréntesis, tenemos que especificar la clase del mensaje de párrafo Bien, ahora necesitamos cambiar el contenido del mensaje de error Para ello, vamos a usar la propiedad textContent y debería ser igual al mensaje La función para el mensaje de error está lista. Podemos llamarlo abajo dentro de la declaración if. Se deben tomar dos argumentos. El primero va a ser el insumo también. El segundo va a ser el mensaje. Así que vamos a abrir las garrapatas de nuevo porque voy a usar los literales de plantilla Entonces te voy a pasar El ID de la entrada. Como saben, las cuatro entradas tienen los ID. Entonces debe ser seguido por el texto que se requiere. ¿Bien? Para poder ejecutar este código, tenemos que llamar a esta función. Y debería suceder una vez que enviemos el formulario. Por lo tanto, necesitamos adjuntar al formulario elementos de escucha de eventos con un evento submit Al principio, seleccionemos el elemento form. Vamos a crear una nueva variable y seleccionar los elementos del formulario utilizando el método selector de consultas. Después adjunto a él y oyente de eventos. Voy a pasar su evento de envío. Y también la función callback, que se ejecutará una vez que enviemos el formulario Al principio, vamos a ejecutar algo a la consola, digamos presentado. Entonces, si hago clic en el botón enviar, entonces nos enviaremos en la consola. Pero como puedes ver, está parpadeando. Y sucede porque por defecto, botón Enviar vuelve a cargar la página Para evitar este comportamiento, tenemos que usar un método llamado prevent default, y tenemos que adjuntarlo al objeto event. Así que vamos a pasar incluso objetos, y luego usar el método prevent default, que se adjuntaría al objeto event. Ahora, si hago clic en el botón enviar, entonces se solucionará el problema. Así que ahora podemos llamar a la función check required fields. Debería tomar un argumento que va a ser una matriz de campos de entrada. Entonces pasemos las cuatro entradas. Nombre de usuario, correo electrónico, contraseña y contraseña también. Bien, entonces en este momento no veremos los mensajes de error porque tenemos que escribir algunos CSS. Ahora mismo, los párrafos están ocultos, así que voy a hacerlos visibles. Vamos a deshacernos de mostrar ninguno. Entonces vemos aquí mensajes de error codificados. Y si hago clic en el botón enviar, entonces obtendremos los mensajes de error, que acabamos de definir desde el JavaScript. Si ingreso algunos caracteres en una de las entradas, entonces obtendremos un mensaje de error del campo de entrada vacío. Sigamos adelante y personalicemos el párrafo. En primer lugar, voy a fijar su posición a absoluta. Entonces para posicionar el párrafo de acuerdo con el envoltorio de entrada, vamos a asignarle posición relativa. Y luego agregar algunos estilos más al párrafo. Voy a definir la posición izquierda y llegar a RAM. Después cambia el tamaño de fuente, hazlo un punto a la RAM. Además, voy a hacer la carpeta de fuentes usando font-weight 700 Luego crea algo de espacio entre las letras usando el espaciado entre letras. 0.1 RAM. También transforma texto en mayúsculas. Luego crea algo de espacio en la parte superior del elemento usando margen superior un rango. Y por último, cambia el color, hazlo F5, F5, E5 Bien, entonces el párrafo está personalizado. Por defecto, debe estar oculto y necesitamos mostrar mensajes de error en Enviar. Entonces vamos a ocultar los párrafos usando visibilidad oculta y opacidad a cero Entonces ahora por defecto, los mensajes de error están ocultos y para poder mostrarlos, tenemos que usar error de clase. Seguido del mensaje. Tenemos que pasar aquí, visibilidad visible, y también opacidad uno Por último, usemos la opacidad del Instituto de Transición y la duración 0.3 s. Entonces, si hago clic en el botón enviar, entonces obtendremos nuestros mensajes con buena transición En realidad, tenemos aquí un pequeño problema como lo veo para el último elemento de entrada, tenemos un mensaje de error diciendo que se requiere contraseña. Y en realidad no tiene sentido. Quiero cambiar este mensaje. Para eso, necesitamos usar otra sentencia if en la que tenemos que verificar si el ID de la entrada es igual a contraseña también. Entonces pongamos aquí esta condición. Entonces si esto es cierto, entonces tenemos que llamar a la función llamada error. Tenemos que pasar tus entradas y el mensaje de error. Se requiere la confirmación de la contraseña. A continuación, necesitamos usar la declaración L. Y tenemos que pasar aquí esta línea de código. Ahora bien, si probamos que todo va a funcionar bien. Ahora mismo con los mensajes de error ya terminamos. Sigamos adelante y cuidemos el éxito. Si ingresamos algunos datos en los campos de entrada, entonces tenemos que hacer que el borde de la entrada sea verde. Para eso, voy a usar la técnica similar. Vamos a crear una nueva función llamada éxito. Tomará un parámetro uno que va a ser la entrada. Así que de nuevo, tuvimos que acceder al envoltorio de entrada y agregarle una nueva clase. Vamos a crear un envoltorio de entrada variable, que debe ser igual al elemento padre del nodo de entrada. Entonces tenemos que añadir una nueva clase del envoltorio de entrada. Necesitamos el nombre de clase de punto envoltorio de entrada. Y nuevamente, tenemos que pasar aquí dos clases. El primero es la clase del envoltorio de entrada, me refiero al envoltorio de entrada de formulario. Y entonces tenemos que pasar tu éxito. Bien, vamos al archivo CSS y seleccionemos el elemento de entrada con un éxito de clase y le demos un borde verde. Hagamos una pausa aquí. 0.1 corrió sólido, el color para 14. Proyecto 11 - Calendario: Bien, así que sigamos adelante y nos ocupemos de nuestros próximos proyectos En esta sección, vamos a estar creando el calendario. Entonces tenemos aquí un fondo oscuro a pantalla completa y en el centro de la página, vemos el calendario Nos muestra el mes actual con la fecha actual. Abajo, tenemos los días de semana seguidos de todo el mes. Se puede ver que se destaca el día actual del mes. Además, tenemos aquí dos flechas. Si hacemos clic hacia abajo, entonces navegaremos a las matemáticas siguientes y anteriores Para que puedas consultar cualquiera de las fechas en el futuro o en el pasado. Bien, así que eso es lo que vamos a crear. He creado una nueva carpeta en el escritorio llamada calendar. Sigamos adelante y ábralo en código VS. Voy a crear los archivos de inicio para HTML, CSS y JavaScript. Llamémoslos index.html. Después style.css y script.js. Después abre el archivo index.html y crea el documento HTML básico. Voy a usar animate. Coloquemos aquí el signo de exclamación y pulsemos Enter o tab Aquí vamos. Sigamos adelante y cambiemos el título. Voy a insertar tu calendario. Entonces voy a vincular los archivos CSS y JavaScript al HTML. Vamos a abrir la etiqueta de enlace y especificar la ruta del archivo. En cuanto al JavaScript, voy a abrir la etiqueta script justo encima de la etiqueta de cuerpo de cierre. Y luego tenemos que indicar ruta del archivo en atributo fuente. Por último, voy a lanzar el proyecto al navegador. Para eso, voy a usar uno de los paquetes CSS llamado servidor en vivo. Nos permite ejecutar el proyecto a la vida del navegador y realizar los cambios y actualizaciones sin refrescar la página cada vez, recomiendo descargar e instalar este paquete. Bien, por último, voy a colocar el editor y el navegador uno al lado del otro, el editor y el navegador uno al lado del otro, así. Y empezar. Primero, voy a crear el marcado HTML. Usaremos algunos datos estáticos, pero finalmente, crearemos esos datos a partir de JavaScript dinámicamente. Vamos a abrir la etiqueta div, que va a ser el contenedor. Entonces necesitamos otro default, el calendario mismo. Por lo que el calendario constará de tres partes principales. Tenemos un mes en curso con ese fondo verde. Entonces tendremos los días de la semana y finalmente los días del mes. Así que vamos a abrir la etiqueta div. Voy a asignarle la boca de clase. Al principio voy a instituir la flecha izquierda. Debe estar representado por el icono Font Awesome. Entonces necesitamos traer el Font Awesome CDN. Así que sigamos adelante y busquemos Font Awesome CDN JS. Ve al primer enlace, luego selecciona CSS y toma el enlace desde aquí. Necesitamos abrir la etiqueta de enlace en el elemento head y pegar el enlace como el valor del atributo h reference. Bien, entonces vamos a abrir el elemento I con las siguientes clases. Necesitamos F a, S, F un ángulo a la izquierda. Además de eso, voy a asignarle otra clase para JavaScript. Vamos a llamarlo preparación. Quiero decir anterior. A continuación necesitamos el elemento div, que incluirá el nombre del mes y también la fecha en que se le asigna a la fecha de la clase. Entonces voy a pasar su elemento de encabezado H1 con el contenido puede que vaya seguido del párrafo donde tendremos día laborable, viernes, entonces debería ser seguido por el mes 29 de mayo, y luego necesitamos año 2020 Así que de nuevo, ahora mismo esas son las fechas codificadas, pero las haremos dinámicas más adelante A continuación, necesitamos insertar aquí otra flecha. Estoy en la flecha derecha para los próximos meses. Entonces voy a abrir I elemento con la clase es FAS, FAA ángulo, ¿verdad Y también tenemos que escuchar la clase a continuación. Bien, entonces ya está lista la primera parte del calendario. Pasemos a la siguiente parte. Tenemos que crear los días de la semana. Así que vamos a abrir la etiqueta div, que va a ser la envoltura. Vamos a asignar dos días de la semana y luego insertarte los siete días de la semana. Voy a insertar tu etiqueta div con un contenido. Dom domingo Luego duplicarlo seis veces y cambiar los días de la semana. Necesitamos lunes, martes. Entonces tendremos miércoles, jueves, viernes y finalmente sábado. Bien, entonces con la segunda parte, ya terminamos. Sigamos adelante y creamos la tercera parte en la que tendremos los días del modelo actual. Vamos a abrir la etiqueta div con los días de clase. Entonces antes que nada, voy a insertar aquí un par de días del mes anterior. Vamos a abrir la etiqueta div con una preparación de clase, fecha y posterior 26. Después duplica este elemento div cuatro veces y cambia las fechas. Necesitamos 27. A continuación tendremos 28, luego 29.30. Bien. El siguiente son los días del uno al 31. No voy a escribir cada fecha por separado. Entonces para que este proceso sea simple, voy a usar m it, necesitamos la etiqueta div, luego un asterisco, y 31 Y luego tenemos que insertar signo de dólar dentro de las llaves rizadas Entonces aquí vamos. Tenemos los números del uno al 31. Además de eso, voy a instituir un par de días a partir del próximo mes. Entonces, vamos a crear desarrollos con la próxima fecha de clase , instituir uno, luego duplicarlo cinco veces y cambiar los números del dos al seis. Bien, en realidad, con el marcado HTML, ya terminamos. Ahora tenemos que empezar a personalizar el calendario. En primer lugar, vamos a crear algunos estilos de reset y comunes. Voy a seleccionar cada elemento usando un asterisco. Entonces vamos a deshacernos del margen predeterminado y relleno de los elementos. Voy a ponerlos a cero a ambos . Además de eso, voy a establecer box-sizing border-box. A continuación, voy a definir la familia de fuentes. A lo largo de este proyecto, utilizaremos una de las fuentes de Google. Así que vayamos al sitio web de Google Fonts. Después busca arenas movedizas. Voy a seleccionar esos diferentes estilos. Después agarra el enlace y pegarlo en el elemento head. A continuación, definamos font-family para cada elemento. Voy a ponerla en arenas movedizas. San-serif. Bien, así que eso es todo sobre el reset y los estilos comunes. Como puedes ver, se aplican a todos los elementos de la página. A lo largo de este proyecto voy a utilizar una RAM como unidad de medida. este momento, un rem es igual a 16 píxeles porque el tamaño de fuente del elemento HTML es igual a 16 píxeles. Quiero convertir 1 g en diez pixeles. Y para eso, tenemos que disminuir el tamaño de fuente de los elementos HTML. Hagámoslo 62.5%. Entonces, como puedes ver, los elementos se hicieron un poco más pequeños. Bien, entonces ahora es el momento de trabajar en el contenedor. Quiero expandirlo a toda la página. Así que vamos a seleccionarlo y definir el ancho y alto. Voy a establecer con el 200 por ciento. En cuanto a la altura, hagámosla al 100% de la ventana gráfica. Entonces voy a cambiar el color de fondo. Usemos tu color 12121. Y también cambiar el color del texto, hacerlo claro usando el color E. A continuación, voy a colocar el calendario en el centro de la página. Y para eso, usemos flexbox. Necesitamos display flex. Entonces para el centrado horizontal, voy a usar justify-content En cuanto al centrado vertical, necesitamos alinear los elementos al centro Muy bien, eso es lo del contenedor. A continuación voy a personalizar el calendario. Estoy en los elementos de tubo que envuelve el contenido del calendario. En primer lugar, voy a definir ancho y alto. Vamos a configurar con 245 RAM. En cuanto a la altura. Hagamos 50 para rampa. También voy a cambiar el color de fondo. Vamos a llegar a cinco veces y luego siete, va a ser el color oscuro. Y luego pongamos box shadow a 0.5 rampa tres rem y el valor RGBA con un color negro y con opacidad 0.4 Bien, así que con el elemento calendar div, ya terminamos. Sigamos adelante y personalicemos las partes individuales de la misma. Voy a empezar por la boca Vamos a seleccionarlo y al principio, definir el ancho, hacerlo al 100%. Entonces voy a establecer la altura a 12 RAM y cambiar el color de fondo. Hazlo 16756. Bien, a continuación voy a usar flexbox para colocar los elementos horizontales en una fila y también para centrarlos verticalmente. Usemos display flex. Entonces con el fin de crear algún espacio entre los elementos, vamos a utilizar justificar el espacio de contenido entre. Y también necesitamos alinear los artículos al centro. Bien, después de eso, voy a crear algo de espacio en los lados derecho e izquierdo dentro de los elementos Para eso, vamos a usar padding y ponlo a cero en la parte superior e inferior y para correr por los lados izquierdo y derecho. Además, necesitamos alinear el texto en el centro. Y finalmente usar sombra fiscal con los valores 0.3, 0.5 RAM, y el valor RGBA con color negro y con la opacidad Bien, así que a continuación voy a darle estilo a los elementos individuales del elemento div boca Sigamos adelante y comencemos con las flechas. Seleccione el elemento I. Establezca su tamaño de fuente en 2.5 rem. Y también hacer puntero del cursor. A continuación tenemos la prenda de rubro H1, que nos muestra el mes en curso. Entonces sigamos adelante y seleccionemos este elemento. Voy a cambiar su tamaño de fuente. Hagámoslo tres RAM. Además, hagamos que la fuente sea un poco más clara, fijemos el modo de fuente en 400 que transformar el texto en mayúsculas A continuación, voy a crear el espacio entre las letras. Hagamos que apunte a rampa. Y finalmente crear algo de espacio en la parte inferior usando margen inferior con el valor una rampa. Sigamos adelante y por último, diseñemos el párrafo. Lo único que entonces voy a hacer es aumentar el tamaño de la fuente. Así que vamos a seleccionarlo y establecer el tamaño de fuente en 1.6 rampa. Bien, así que eso es todo sobre la primera parte del calendario Pasemos a los días de la semana. Voy a establecer con el 200 por ciento. Entonces aumenta la altura, hazlo cinco rem. Y también vamos a crear algo de espacio usando relleno. Voy a ponerla a cero en el extremo superior e inferior. Punto para corrió por los lados derecho e izquierdo. A continuación, voy a colocar los días de la semana horizontalmente en fila y también para centrarlos verticalmente. Entonces necesitamos display flex y align items center. Bien, entonces con el elemento div wrapper, ya terminamos. A continuación, personalicemos ellos mismos los días de la semana. Voy a seleccionar elementos div. Al principio, cambiemos el tamaño de la fuente. Voy a configurarlo en 1.5 RAM. Entonces vamos a burlarnos, un poco más ligeros usando el font-weight 400 Y crea algo de espacio entre las letras usando espaciado entre letras 0.1 rampa. ¿Verdad? Ahora voy a definir el ancho de cada elemento div. Como saben, el ancho del calendario es igual a 45 rem. Creamos un poco de relleno dentro de los días de la semana div id es igual a 2.4 RAM en ambos lados. Quiero decir, en los lados derecho e izquierdo, quiero hacer que el ancho de cada elemento div sea una séptima parte de todo el ancho Entonces voy a usar la función calc. Y necesitamos dividir 44 puntos para carnero por 744.2. Rem es la diferencia entre el ancho y el relleno. Ojalá tenga sentido para ti. Bien, entonces a continuación necesitamos centrar el contenido de cada elemento div. Y para eso, usemos flexbox. Voy a configurar display a flex. Entonces necesitamos justificar el centro de contenidos y alinear los elementos al centro. Por último, vamos a crear un pequeño efecto de sombra. Usa sombra de texto con los valores 0.3, 0.5 rem, valor RGBA con un color negro y con la opacidad Bien, así que eso es todo sobre los días de la semana. Sigamos adelante y nos ocupemos de los días del mes. En primer lugar, seleccionemos el elemento div wrapper, que tiene días de clase. Vamos a establecer con el 200 por ciento. Entonces voy a poner display a flex Porque quiero envolver los días. Entonces usemos flex wrap con el value rap. Y finalmente, vamos a crear algo de espacio usando el relleno. Hagamos que apunte a RAM en los cuatro lados. A continuación, voy a personalizar el día mismo. Así que vamos a seleccionar elementos div. En primer lugar, pongamos el tamaño de fuente en 1.4 rampa. Entonces usa margen, hazlo 0.3 RAM en los cuatro lados. Después de eso, definamos el ancho de los elementos HTML. Voy a usar la misma técnica que usamos los días de semana. Entonces quiero colocar siete días en cada línea. Vamos a usar de nuevo la función calc. Tenemos que dividir el ancho del calendario entre siete, pero tenemos que excluir el margen y el relleno. Si restamos dos, el ancho, el margen y el relleno, obtendremos 40 puntos por rampa El margen en cada lado es igual a 0.3 rampa. Entonces el monto del margen va a ser 0.3 multiplicado por 14, porque en general tendremos siete días. Es igual a 4.2 RAM. Y luego tenemos que sumar al punto de valor para la renta, el monto del relleno. Tenemos que dividir 40 puntos para RAM por siete. Entonces voy a establecer la altura a cinco rem. Entonces voy a centrar el contenido. Así que vamos a establecer la propiedad display para flexionar y usar justify-content center y alinear items center Además, voy a crear un pequeño efecto de sombra. Usemos sombra de texto con los valores 0.3 ejecutó 0.5 RAM y RGBA con un color negro y con la opacidad Bien, así que los días están personalizados y continuación voy a darle estilo a las fechas anteriores y siguientes Lo único que voy a hacer es disminuir la opacidad de ellos. Así que sigamos adelante y seleccionemos a ambos. Y establece la opacidad a 0.5. Bien, entonces lo siguiente que voy a hacer es destacar el día actual del mes. Al principio, vamos al archivo HTML y asignemos hoy a la clase de fecha actual. Después selecciónala y cambia el color de fondo. Voy a hacerlo 16756. Bien, entonces lo último que voy a hacer es crear un pequeño efecto hover Una vez que pasemos el cursor sobre los días, voy a cambiar el color de fondo También mostrar el borde y hacer el puntero del cursor. Quiero hacer eso por todos los días del mes excepto el actual. Así que vamos a seleccionar elementos div con hover. Entonces debería ser seguido por el selector de notas. Es la función. Y tenemos que pasar aquí div con la clase hoy. Bien, hagamos que el color de fondo sea 62626. Luego se define borde con los valores punto para correr sólido y la columna 777. Y finalmente hacer que el cursor apunte. Además, usemos la transición solo para el color de fondo. Necesitamos aquí, el color de fondo y la duración 0.2 s. bien, con el CSS, ya terminamos Y ahora es el momento de agregar algo de JavaScript a nuestro calendario y hacerlo funcionar. A lo largo de esta parte, estaremos trabajando con el objeto de fecha con bastante frecuencia. Utilizaremos un par de métodos diferentes para manipular la fecha. En primer lugar, quiero mostrar el mes actual dinámicamente usando JavaScript. En este momento, es Mayo lo especificamos desde el archivo HTML? Al principio voy a crear un objeto de fecha. Entonces para hacer eso, tenemos que usar la función constructor del objeto date. En general, el objeto date devuelve la fecha y hora actuales. También especifica la zona horaria de los navegadores y devuelve estos datos como una cadena de texto completo. Sigamos adelante y creamos los objetos de fecha. Voy a crear una nueva variable, date, que debería ser igual a la nueva función constructora de fecha. Después corre hacia la consola. Entonces, si inspecciono la página y reviso la consola, obtendremos la fecha y hora actuales seguidas de la zona horaria de los navegadores. Entonces como decíamos, lo primero que vamos a hacer es mostrar el mes actual usando JavaScript. Para obtener el mes actual, es necesario utilizar uno de los métodos de objetos de fecha llamados get month. Así que vamos a crear una nueva variable. Voy a llamarlo matemáticas. Debe ser igual al punto de fecha. Consígalo, mamá. Entonces ejecuta las matemáticas a la consola Como puedes ver, tenemos aquí un valor numérico para que en realidad este es el número índice de la boca actual. Ahora es mayo, que es el quinto mes del año. Pero por eso, las polillas tienen números de índice de base cero Obtener método matemático devuelve cuatro, que es el número de índice del quinto mes. Bien, entonces para mostrar el mes actual en la página, tenemos que usar el método get y tenemos que manipular con esos números de índice En primer lugar, voy a crear una nueva matriz en la que guardaré los 12 meses del año. Así que vamos a crear una nueva variable, que va a ser una matriz. Y luego pasar aquí los nombres matemáticos. El primero va a ser enero. Entonces lo voy a duplicar 11 veces. Y luego cambiar los nombres. Necesitamos febrero, marzo, abril, luego tenemos mayo, junio, julio, agosto. El siguiente va a ser septiembre, octubre, noviembre, diciembre. Entonces se crea la matriz, como saben, los elementos en las matrices tienen los números de índice basados en cero Aquí. Cada mes tiene los números de índice adecuados de cero a 11. Ahora voy a seleccionar las prendas de encabezado H1, que deberían mostrar el mes actual. Así que vamos a seleccionarlo usando el método QuerySelector. Necesitamos especificar aquí el nombre de la clase, fecha y luego la etiqueta H1. Entonces se selecciona el encabezado y ahora necesitamos cambiar su contenido. Para hacer eso, voy a usar una de las propiedades DOM llamada innerHTML Ahora tenemos que usar nuestras matemáticas de matriz y especificar el número de índice Si pongo aquí el número de índice manualmente, digamos cuatro. Y luego deshazte del contenido del elemento heading de HTML. Volveremos a ver mayo en la página. Si cambio el número de índice y escribo cinco, entonces obtendremos junio. Entonces, para mostrar la boca adecuada, tenemos que usar el método get. Necesitamos fecha punto, consigue más. Entonces como puedes ver, tenemos aquí, nuevamente mayo, pero ahora se muestra dinámicamente usando JavaScript. Bien, sigamos adelante y mostremos la fecha. Por lo que voy a seleccionar el párrafo que muestra la fecha, vamos a seleccionarlo usando el método QuerySelector Entonces, para poder cambiar el contenido del elemento, necesitamos la propiedad innerHTML Entonces ahora voy a usar uno de los métodos llamados a date string, que devuelve la fecha actual en un formato legible. Entonces necesitamos aquí fecha punto a fecha cadena. Si elimino el contenido de HTML, entonces obtendremos exactamente el mismo resultado en la página. Bien, así que con la primera parte del calendario ya terminamos Hemos mostrado con éxito la boca y la fecha dinámicamente con la ayuda de JavaScript. Ahora es el momento de pasar en exhibición los días. No vamos a tocar los días de la semana, se mostrarán desde HTML porque creo que es suficiente para mostrar los días que voy a usar for loop. En primer lugar, vamos a crear una variable. Días. Voy a usar let keyword. Y hagamos que sea una cadena vacía. Así que voy a recorrer los números del uno 31 y mostrarlos como el contenido del elemento days div. Vamos a usar for-loop. Tenemos que crear aquí la variable I, que va a ser el contador. Entonces necesitamos una condición. Debería ser menor o igual a uno. Entonces necesitamos I más más el operador de incremento. Como los contenidos. Voy a instituir días seguidos del operador plus equals. En realidad, este operador hace exactamente lo mismo que la siguiente expresión. Por ejemplo, x más es igual a diez medias x es igual a x más diez Así que ahora tenemos que crear un elemento div y pasar la variable I como el contenido de la misma. Vamos a abrir backticks e insertar u etiqueta div. Su contenido va a ser la variable I. Por último, tenemos que cambiar el contenido del elemento div wrapper. Voy a crear una nueva variable, llamémosla Mark days. A continuación, seleccione el elemento div días utilizando el método QuerySelector. Y luego abajo, cambie el contenido de esta variable usando la propiedad innerHTML Entonces necesitamos la boca tes dot html interno, que debe ser igual a días. Entonces como pueden ver, tenemos aquí los números del uno al 31. Si voy al archivo index.html y quito todo el contenido de aquí, entonces nada va a cambiar, volveré a obtener números del uno al 321. Así que a partir de ahora se muestra el contenido del elemento days div desde JavaScript. En realidad, tenemos que hacer aquí un par de cosas. Ya no vemos los días siguientes anteriores, y además los números no coinciden con los días de la semana. Además de eso, aquí definimos el número de días en un mes como 31. Pero como ustedes saben, algunos de la misa tienen la de hoy y algunos de ellos aunque a uno. Entonces, en lugar de usar aquí solo 321, necesitamos definir la fecha de finalización para cada mes. Vamos a crear una nueva variable. Voy a llamarlo el último día. A continuación, vamos a crear un objeto de fecha y definir el año y mes actuales. Así que tenemos que usar aquí obtener método de año completo. Necesitamos fechas punto obtener año completo, seguido del método date dot get. El primer método nos dará el año en curso. En cuanto al segundo método , nos dará montura actual. En cuanto al día, voy a fijarlo a, digamos uno. Ahora vamos a ejecutar esta variable al navegador y ver qué tenemos. Entonces como pueden ver, tenemos aquí el 1 de mayo de 2020s. Ahora cambiemos uno a cero y verifiquemos el resultado. En este caso, tenemos aquí el 30 de abril de 2020. Entonces cuando especificas el día como cero, entonces obtienes el último día del mes anterior. En nuestro caso, necesitamos obtener el último día del mes en curso. Por lo tanto, solo necesitamos agregar uno a la función get. Ahora, como pueden ver, tenemos aquí el último día del mes en curso. Entonces, en lugar de usar aquí el número codificado, simplemente podemos insertar el último día Pero ahora mismo no podemos hacer eso porque la variable del último día devuelve toda la fecha y hora. Para obtener el número del día, necesitamos usar el método Get date. Entonces ahora devuelve solo uno en lugar de otros datos. Y ahora podemos cambiar 31 al último día en bucle for. Entonces aquí no se cambia nada. Tenemos el mismo resultado. Para demostrar que funciona correctamente, voy a establecer el mes actual en , digamos junio, donde tenemos 30 días para cambiar el mes actual, tenemos que usar uno de los métodos llamados set mouth. Por lo que necesitamos fecha punto set boca con un valor de cinco. Ahora vemos aquí junio y el número de días es significa que todo funciona bien hasta el momento. Vamos a deshacernos de esta línea de código. Así que una vez que mostramos los días de la boca, ahora voy a encargarme de los días del mes anterior. Si echamos un vistazo al proyecto terminado, verás que mostramos un par de días del mes anterior. Entonces para lograrlo, antes que nada, tenemos que adivinar cuántos días debemos exhibir de la boca anterior. Voy a usar un pequeño truco. Sigamos adelante y cambiemos la fecha actual, que sea el primer día del mes. Entonces necesitamos fecha, punto establecido fecha. Tenemos que hacerlo uno. Después de eso, voy a usar uno de los métodos llamados get day. Devuelve el índice. Ahora ráfagas de los días de la semana, esos números de índice son de base cero Por ejemplo, el domingo tiene el número de índice de cero, el lunes tiene uno, y así sucesivamente. Así que vamos a correr a través de la consola. Fecha, punto obtener día. Como veis, tenemos aquí cinco. Por lo que el primer día de mayo debería ser el viernes, porque el viernes tiene el índice número cinco. Significa que el primer día de mayo debe colocarse debajo del viernes. Entonces ahora podemos obtener fácilmente ¿cuántos días debemos exhibir del mes anterior? Van a ser cinco. Bien, entonces tenemos que crear otro bucle for Vamos a insertar aquí la variable x, que va a ser el contador Ahora necesitamos definir el número de iteraciones. Como dijimos en este caso, tenemos que exhibir cinco días a partir del mes anterior. Entonces en general tendremos cinco iteraciones. Y en cada iteración crearemos un nuevo div, que será el contenido del elemento div de hoy Entonces el valor inicial del contador x va a ser el índice del primer día del mes. Vamos a crear una nueva variable donde almacenaremos el número de índice del primero del mes. Eso se llama índice variable del primer día. Debe ser igual a la fecha, punto obtener fecha. Después asigne esta variable al contador x. Entonces ahora tenemos que definir la condición x debe ser mayor que cero. Y en cada iteración, x debería disminuir en uno Entonces necesitamos x menos menos. Entonces déjame explicarte otra vez. En este caso, el número de índice del primer día de este mes es de cinco porque es viernes. El valor inicial de la variable x va a ser cinco. En cada iteración, disminuirá uno hasta que se convierta en cero Entonces, en general, tendremos cinco iteraciones. En cada iteración, crearemos un nuevo elemento div para las fechas del mes anterior Aquí necesitamos esto más iguales. Entonces tenemos que volver a abrir ticks e insertar una etiqueta div con una fecha anterior de clase, estoy en fecha de preparación. Luego inserta tu signo de dólar con llaves rizadas. Ahora tenemos que definir el contenido del desarrollo. En primer lugar, definamos el último día del mes anterior. Voy a usar la misma técnica que usamos en el caso anterior como crear una nueva variable. Voy a llamarlo preparación el último día, estoy en el anterior, el último día. Entonces voy a agarrar este valor de aquí. Entonces, para poder obtener el último día del mes anterior, solo necesitamos deshacernos del más uno porque nos da el último día del mes en curso. Entonces, si reviso a la consola el último día anterior, entonces obtendremos la tercera t, que es el último día de abril. Bien, así que para crear el contenido para cada elemento div, tenemos que restar x a la variable anterior del último día Entonces como ves, tenemos días de la boca anterior, pero eso no es del todo correcto porque tenemos aquí 29 como último día del mes. Deberían ser 30. Entonces necesitamos simplemente más uno dentro de aquí. Entonces el problema está arreglado. Bien, así que con los días anteriores ya terminamos, sigamos adelante y nos ocupemos de los días del mes siguiente En el caso de los próximos días, necesitamos definir el número índice del último día de la boca actual. Así que vamos a crear una nueva variable y llamarla índice del último día. Entonces agarra este código porque nos da el último día del mes en curso. En este caso, en lugar del método getState, tenemos que usar getState porque devolverá el número de índice Así que vamos a correr por la consola mientras ellos indexan. Tenemos cero. Y significa que el último día es el domingo. Y tenemos que exhibir seis días a partir del mes siguiente. Entonces, para definir el número de los días del próximo mes, tenemos que restar 27, que es el número de días en una semana, el índice del último día Y también necesitamos restar uno porque números del índice entre semana son de base cero Así que vamos a crear una nueva variable. Voy a llamarlo los próximos días. Y debería ser igual a siete menos el índice del último día menos uno. A continuación, necesitamos de nuevo un for-loop. En este caso, voy a usar j como contador, que debería ser igual a uno, porque cada mes comienza con una condición válida va a ser j es menor o igual a los días siguientes de lo que necesitamos j más más. Entonces en cada iteración tenemos que crear unos nuevos elementos div y pasarlos como el contenido del elemento div de hoy Necesitamos días más iguales. Después abre las garrapatas de nuevo y pasa aquí la etiqueta div con una clase. Próxima fecha Como el contenido de la etiqueta div, tenemos que insertar la variable J. Por último, cambiemos el contenido de los días de boca. Entonces aquí vamos. Tenemos aquí días a partir del mes siguiente, ¿no? Entonces lo siguiente que voy a hacer es destacar la fecha actual. Ahora mismo. Ya no está resaltado. Para ello, tenemos que usar una declaración if como condición. Tenemos que comparar el contador uno con el estado actual. Una vez que coincidan, entonces tenemos que sumar hoy a la clase de inviolabilidad. Necesitamos triplicar iguales a nueva fecha punto obtener fecha. Además de eso, tenemos que comparar la boca con el mes en curso. Entonces necesitamos aquí lógica y operador. Y tenemos que insertar datos punto get mount, triple es igual a nueva fecha, punto obtener marr Si esta condición es cierta, entonces voy a copiar esta línea de código y agregarla hoy a la clase de desarrollo. En cuanto a este elemento div, se debe colocar en la sentencia else. Entonces como veis, se destaca la fecha actual. Bien, así que lo siguiente que voy a hacer es hacer que las flechas funcionen Una vez que damos clic en la flecha izquierda, debemos navegar a la boca anterior. En cuanto a la flecha derecha, debemos pasar al siguiente mapa. Voy a adjuntar a ambas flechas, oyentes de eventos con eventos click Así que voy a seleccionar la flecha izquierda con el método QuerySelector que adjunto a él el oyente de eventos, donde tenemos que especificar el tipo de los Va a ser click. Y también necesitamos pasar tu función de devolución de llamada. Vamos a duplicarlo y cambiar el nombre de clase que necesitamos aquí. Siguiente. Para poder pasar al mes anterior, necesitamos fecha punto set boca. Entonces necesitamos restarle uno a la boca actual. Entonces necesitamos datos dot get Mouth menos uno. Eso es para el próximo mes. Necesitamos la misma expresión, pero con más uno. Entonces, si hacemos clic en las flechas, entonces no van a funcionar. La razón es que necesitamos renderizar el calendario con una boca adecuada OnClick Entonces tenemos que crear una función donde pasemos todo el código. Entonces tenemos que llamarlo una vez en el ámbito global. Y también tenemos que llamarlo cuando hacemos clic en las flechas. Entonces sigamos adelante y creamos una función. Voy a llamarlo calendario aleatorio. Agarremos todo el código excepto esta línea de código. Y pegarlo dentro de la función que voy a llamarlo en el ámbito global. Y también dentro de esas funciones de devolución de llamada. Bien, así que si hago clic en las flechas, entonces funcionarán bien Como veis, pasamos al mes anterior y al siguiente. Bien, entonces ya casi terminamos. En realidad, aquí veo que tenemos un pequeño problema. La fecha actual no es correcta porque como recuerdas, establecemos la fecha en una y necesitamos cambiar aquí fechas a nueva fecha. Entonces ahora el problema está arreglado. Y finalmente, ya terminamos 15. Proyecto 12 - Cuenta atrás: Bien, así que ahora es el momento de comenzar a crear nuestro próximo proyecto En este video, crearemos una aplicación de cuenta regresiva. Antes de comenzar a construir el proyecto, voy a pasar por ocho y describir. Entonces como pueden ver, tenemos aquí un fondo oscuro a pantalla completa En el centro de la página. Tenemos un par de elementos. Estoy en el rubro que dice que algo viene pronto. A continuación, le sigue la cuenta regresiva, que funciona automáticamente Se actualiza después de cada segundo. Tenemos aquí para diferentes secciones. Estas secciones cuatro días, horas, minutos y segundos. Entonces abajo tenemos un botón de reinicio. Si hago clic en él, entonces la cuenta regresiva vamos a restablecer y todos los valores se convertirán en cero. Bien, así que eso es todo. Lo que vamos a construir. El proyecto va a ser sencillo, pero ojalá te diviertas un poco. He creado una nueva carpeta en el escritorio llamada count down, que ahora mismo está vacía. Sigamos adelante y lo abrimos en código VS y configuremos nuestros archivos de trabajo. Entonces, en general, tendremos tres archivos diferentes para HTML, CSS y JavaScript. Sigamos adelante y creémoslos. Llamemos al archivo HTML index.html. Entonces tendremos style.css y scripts dot js. Después de eso, voy a ir al archivo index.html y crear el documento HTML básico. Para eso, voy a usar m. Y coloquemos aquí un signo de exclamación y presionemos Enter o tab Entonces aquí vamos. Voy a cambiar el título. Vamos a insertar tu cuenta regresiva. Después de eso. Vamos a vincular archivos CSS y JavaScript al HTML. Vamos a abrir la etiqueta de enlace. Especifique aquí la ruta del archivo CSS. En cuanto al JavaScript, voy a abrir la etiqueta script justo encima de la etiqueta de cuerpo de cierre, y luego especificar la parte del archivo JavaScript y los atributos de origen. Bien, así que los tres archivos están conectados y ahora voy a ejecutar el proyecto al navegador Para eso, usemos uno de los paquetes de código VS que se llama servidor en vivo, lo que le permite ejecutar el proyecto en vivo al navegador y realizar los cambios y actualizaciones sin actualizar la página. Cada vez, te recomiendo que uses estos paquetes. Bien, entonces el proyecto está en marcha. Por último, voy a colocar el editor y el navegador uno al lado del otro, así Y empezar. En primer lugar, vamos a crear el marcado HTML, que va a ser el sencillo Voy a abrir la etiqueta div, que va a ser el contenedor lo que debería ser seguido por el envoltorio de cuenta regresiva. Incluirá los tres elementos, decir, elementos de encabezamiento, con los textos próximamente. Después de eso tendremos un div vacío con la clase count down, en la que insertaremos el contenido desde JavaScript. Y por último, tendremos botón con el reset de clase y con el reset de texto. Bien, entonces aquí tenemos el encabezado y el botón. este momento, el elemento div de cuenta atrás no se muestra aquí porque está vacío. Entonces ahora voy a seguir adelante y empezar a escribir. Javascript creará una cuenta regresiva y hará que funcione. Y luego me encargaré del diseño. Pasemos al archivo script.js. Y antes que nada, seleccionemos la cuenta regresiva y la almacenemos en la variable. Vamos a crear una variable llamada cuenta atrás y seleccionar elemento div. Usando el método selector de consultas. Para crear la cuenta regresiva, tenemos que manipular los objetos de fecha JavaScript. Por defecto, JavaScript utiliza la zona horaria de los navegadores y muestra una fecha como una cadena de texto. Sigamos adelante y creamos un objeto de fecha y comprobemos cómo se ve. Voy a crear una variable. Vamos a llamarlo fecha. Entonces, para crear un objeto de fecha, tenemos que usar la nueva función constructora de fecha. Vamos a correr la fecha a la consola. Entonces, si inspecciono la página y reviso la pestaña de la consola, entonces encontrarás aquí la fecha y hora actuales seguidas de la zona horaria. Bien, entonces en general, el objeto date tiene un par de métodos diferentes que nos permiten obtener el día actual, boca, hora y así sucesivamente No voy a pasar por ellos. Usaremos solo la nueva función constructora de fecha. Así que además de obtener la fecha actual, puedes Especificar la fecha futura o pasada manualmente. Por ejemplo, podemos pasar aquí el año, digamos 2020 que un mes. Pero hay que recordar que hay que especificar un mes mediante el uso de números de índice. Los meses tienen números de índice de base cero. Entonces si quiero pasar año, digamos agosto, que es el octavo mes del año del que tengo que insertar aquí. Siete. A continuación viene el día del mes. Vamos a pasarte 15. Y luego se puede especificar la hora. Digo, horas, minutos y segundos. Pasemos aquí. 12 y ceros como los minutos y los segundos. ¿Bien? Entonces, si revisamos la consola, entonces obtendremos la fecha que acabamos de especificar aquí. Bien, entonces supongamos que esta fecha es la fecha límite y tenemos que contar a partir de esa fecha En realidad, quiero señalar que si ves este video en el futuro, esta fecha es aunque el pasado, entonces necesitas ingresar la fecha del futuro. Voy a cambiar el nombre de la variable. Hagamos que sea fecha límite y también nos deshagamos del console.log. Además de eso, tenemos que definir la hora actual. Así que vamos a crear una nueva variable. Voy a llamarlo actual, y luego asignarle nuevo constructor de fecha. Bien, entonces la hora que debe mostrar en la página va a ser la diferencia entre la fecha límite y la hora actual Entonces agreguemos primero, comprobemos la diferencia en la consola. Voy a crear una variable, llamémosla div. Yo hice la diferencia. Debe ser igual a plazo menos actual. Y luego alrededor de la variable a la consola. Entonces como pueden ver, tenemos aquí algunos extraños y un número enorme. En realidad, esta es la cantidad de tiempo, la diferencia entre la fecha límite y la hora actual que se muestra en milisegundos. Vamos a usar esta cantidad de milisegundos para definir por separado los días, horas, minutos y segundos restantes horas, minutos y segundos Así que vamos a seguir adelante y crear una variable y llamarla días. Entonces, para obtener el número de los días restantes, tenemos que dividir la cantidad de diferencia por el número de milisegundos, que tenemos en 24 h Entonces necesitamos diferencia dividida por paréntesis entonces abierta. diferencia dividida por paréntesis entonces abierta Y tenemos que multiplicar mil milisegundos a 60 s. Entonces necesitamos 60 min y finalmente 24 h. Entonces voy a ejecutar esta variable a la consola Entonces como pueden ver, llegamos aquí el número de los días, pero con algunos decimales No necesitamos esos decimales porque solo necesitamos mostrar el número de días Entonces tenemos que redondear el número a la baja. Y para eso podemos usar uno de los métodos JavaScript llamados Math.floor. Ahora como pueden ver, tenemos aquí solo el número de los días sin decimales Entonces a continuación necesitamos definir las horas, minutos y segundos de la misma manera. Pasemos a las horas. Voy a utilizar de nuevo el método Math.floor. Entonces en el caso nuestro, tenemos que dividir la diferencia por el producto de los milisegundos, segundos y minutos Y luego tenemos que agarrar la cantidad restante de esa operación. Entonces tenemos que usar uno de los operadores aritméticos llamados módulo, o a veces se llama el resto Entonces el operador de módulo devuelve un resto de división y se expresa por el signo porcentual. Necesitamos aquí. Diferencia dividida por el producto de mil milisegundos, 60 s y 60 min. Entonces tenemos que usar módulo seguido del 24, que es el número de horas. Entonces nuevamente, esta operación nos dará las horas restantes. Es decir, después de esta operación, el número de horas siempre será menor a 24. Si reviso horas a la consola, entonces obtendremos el número de horas restantes. Bien, pasemos a las actas. Crear nueva variable. Llámalo minutos, luego usa de nuevo el método Math.floor. Entonces en caso de minutos, tenemos que dividir la diferencia por el producto de los milisegundos y los segundos Y entonces necesitamos el módulo 60, que es el número de minutos Entonces necesitamos diferencia dividida por el producto de mil milisegundos y segundos. Módulo 60. Bien, sigamos adelante y definamos los segundos de la misma manera. Crear nueva variable, usar que Math.floor. Entonces, en caso de segundos, necesitamos dividir la diferencia por mil milisegundos. Y entonces necesitamos el módulo 60, que es segundos. Entonces si reviso los segundos en la consola, entonces empiezo a refrescar la página. Verás aquí cómo se actualiza el número de segundos. Bien, las cuatro cantidades de definido. Y ahora necesitamos mostrarlos en la página para ser más precisos y cuenta abajo div, que hemos creado en el archivo HTML y luego seleccionado aquí. Entonces voy a pasar un par de elementos div dentro del div de cuenta regresiva. Y luego se adjunta a cada elemento div, la variable apropiada de esas cuatro variables. Entonces necesitamos cambiar el contenido de la cuenta regresiva profundo. Para eso, voy a usar una de las propiedades de domo llamada innerHTML Nos permite establecer el contenido HTML de un elemento. Así que vamos a adjuntar a la cuenta regresiva la propiedad HTML interna. Luego abre las garrapatas porque necesitamos interpolar las variables a las etiquetas HTML Entonces necesitamos aquí para los elementos div. Entonces en la primera, voy a pasar días. Necesitamos signo de dólar, llaves y los días de nombre variable Entonces tendremos el nuestro. Minutos y segundos. ¿Bien? Entonces, como pueden ver, tenemos aquí los cuatro valores, días, horas, minutos y segundos. Ahora mismo están en modo estático. No se están actualizando automáticamente. Si vuelvo a cargar la página se actualizará el número de segundos Entonces tenemos que hacer dinámica la cuenta regresiva. Debe actualizarse automáticamente en cada segundo. Para ello, tenemos que usar uno de los métodos JavaScript llamados set interval. El método set interval ejecuta la función a intervalos especificados en milisegundos Bien, vamos a crear una variable y llamarla intervalo. Después asignarle un método de intervalo establecido. Este método toma dos argumentos. La primera va a ser la función callback, que se ejecutará con algunos intervalos Entonces ahora tenemos que pasarte dentro la función, todo este código. Vamos a agarrarlo y pegarlo dentro de la función. El segundo argumento va a ser la cantidad de tiempo que necesitamos para ejecutar la función después de cada segundo. Entonces voy a pasar aquí mil milisegundos. Entonces, como puedes ver, la cuenta regresiva está funcionando y se está actualizando después de cada segmento Bien, así que hemos logrado crear la parte principal de los proyectos Tenemos que personalizar un poco la funcionalidad. Pero para que el trabajo en proceso sea más interesante, vamos a encargarnos del diseño Una vez que iniciemos el proyecto, luego agregaremos un par de cosas a la cuenta regresiva desde JavaScript. Bien, vamos a abrir el archivo style.css. Y antes que nada, crear algunos estilos de reset y comunes. Voy a seleccionar cada elemento usando un asterisco. Y luego vamos a deshacernos del margen predeterminado y el relleno. Voy a ponerlos a cero a ambos . Y también usa box-sizing border-box. Además de eso, quiero cambiar la familia de fuentes para todos los elementos. Voy a usar una de las fuentes de Google. Así que vayamos al sitio web de Google Fonts y busquemos fuente llamada abajo el A2 Seleccionemos esos estilos. Después, agarra el enlace y pégalo en el elemento head. Después de eso, voy a establecer font-family para cada elemento a continuación del curso dA2. Bien, así como puedes ver, aplican estos estilos En realidad, voy a usar RAM como unidad de medida a lo largo de este proyecto. Eso lo hacemos en casi todos los tutoriales porque creo que es muy conveniente y fácil de usar. Ahora mismo. Un rem equivale a 16 píxeles, porque el tamaño de fuente de HTML es igual a 16 píxeles. Por defecto, quiero convertir una RAM en diez píxeles Que tenemos que disminuir el tamaño de fuente de los elementos HTML. Vamos a establecerlo en 62.5 por ciento. Entonces consideremos que los tamaños de los elementos han disminuido. Y ahora 1 g equivale a diez píxeles. Sigamos adelante y sacemos el contenedor. Voy a ampliarlo a toda la página. Así que vamos a seleccionarlo y definir ancho y alto. Voy a establecer con el 200 por ciento para la altura. Hagámoslo al 100% de la ventana. Y por último, cambiemos el color de fondo. Voy a usar tu color 17181. Bien, a continuación, seleccionemos el envoltorio de cuenta regresiva. Voy a colocarlo en el centro de la página. Es decir, para centrarlo verticalmente. Entonces, antes que nada, como ancho definido hacen que sea más difícil de presentar. Entonces voy a poner su posición a absoluta. Después de eso, voy a asignar a la posición del contenedor relativa porque quiero posicionar el envoltorio de cuenta regresiva de acuerdo con el contenedor Después defina la propiedad superior. Vamos a establecerlo en 15%. Luego coloca los textos en el centro usando text-align center y cambia el color Hazlo el D. Bien, así se cambia la posición del envoltorio de cuenta atrás y ahora voy a personalizar los elementos individuales Empecemos con una rúbrica. En primer lugar, voy a aumentar el tamaño de la fuente. Hagámoslo ocho RAM. Que cambiar el peso de la fuente, hacerlo más ligero, asignado a él 400. Siguiente Voy a transformar texto en mayúsculas. Después crea algo de espacio en la parte inferior usando el margen inferior ocho Ran. Y por último, voy a usar la sombra de texto para crear algún efecto de sombra. Pasemos aquí 0.5 alrededor de 0.8 RAM. Y el valor RGBA con color negro y con opacidad 0.5. Bien, entonces el rumbo se ve bien. Sigamos adelante y nos ocupemos de la cuenta regresiva. Voy a colocar esos números horizontalmente en fila usando Flexbox Y también colocarlos en el centro están usando justify-content Bien, eso es todo sobre la cuenta regresiva. Ahora voy a personalizar unos elementos div los cuales hemos creado en JavaScript. Quiero decir que el niño hace elementos de la cuenta regresiva. Entonces, antes que nada, definamos la anchura y la altura. Voy a ponerlos a los dos en 13 rampas. A continuación voy a definir los antecedentes. En realidad, quiero usar un gradiente lineal porque con el degradado lineal, podremos dividir el fondo en dos partes distintas. Entonces, antes que nada, voy a cambiar la dirección. Hagamos que se adapte al fondo. Significa que la transición irá de arriba a abajo. Luego use el valor RGBA. Hagamos una pausa aquí, 601-50-8508 y la opacidad 0.9. Y también necesitamos aquí el 50%. A continuación, necesitamos otro valor RGBA dentro de los números 909-90-3903 Y tenemos que ubicarte a cero. Entonces, como ves ahora, el fondo se divide en dos partes distintas. Después de eso, voy a crear algo de espacio usando margen. Vamos a ponerla a cero en la parte superior. Entonces para RAM en el lado derecho, 12 corrieron en la parte inferior, y cuatro en el lado izquierdo. Después de eso, vamos a aumentar el tamaño de la fuente, que sea siete RAM. Y también cambiar el peso de la fuente, que sea 400. Bien, a continuación voy a centrar los números dentro de cajas. Y para eso, usemos flexbox. Necesitamos mostrar flex, justificar el centro de contenido y alinear los elementos en el centro. Y por último, voy a crear algún efecto de sombra. Usemos box shadow con los valores 0.8 RAM 2.5 RAM. Y luego el valor RGBA con un color negro y con opacidad 0.5 ¿Verdad? Entonces, paso a paso, el proyecto se está volviendo bastante agradable. Lo siguiente que quiero hacer es mostrar una pequeña línea en el centro de cada caja o tarjeta, sea lo que sea. Voy a crear una línea usando antes de pseudo elementos. Así que vamos a seleccionar count down def, seguido de los pseudo elementos antes En primer lugar, definamos el contenido, lo hagamos vacío. Luego establece la posición en absoluto. Voy a posicionar el elemento según su elemento padre. Así que vamos a asignar a la cuenta atrás posición profunda relativa. A continuación, definamos ancho y alto. Voy a establecer con el 200 por ciento. En cuanto a la altura, hagámoslo 0.24 corrió. Y también definir el color de fondo. Hazlo 17181. Bien, se puede ver que tenemos aquí la línea en el centro de las cajas. Sigamos adelante y pasemos a lo siguiente. Echemos un vistazo al proyecto terminado. Como puede ver, debajo de cada caja, podemos ver el texto adecuado. Estoy en días, horas, minutos y segundos. Voy a agregarlos usando después de pseudo-clase. Entonces podemos seleccionar cada elemento div con el selector secundario F por separado y definir el contenido. Pero no voy a hacer eso. Voy a usar un pequeño truco. Vamos al archivo script.js y asignemos a cada desarrollo el atributo llamado data content. Entonces como los valores, vamos a insertar aquí días, horas. Entonces tenemos minutos y segundos. Después vuelve al archivo CSS y selecciona count down div con los pseudo elementos after Definamos el contenido. Entonces como el valor de la propiedad content, voy a pasar aquí la función llamada attribute, que se expresa como un TTR Y tenemos que pasar aquí los atributos de contenido de datos. Entonces como puedes ver, los valores de texto aparecen en la página. En este momento son dos más grandes. Entonces, vamos a encargarnos de eso. Cambiemos el tamaño de fuente, hagamos que apunte a RAM que establecer el peso de la fuente en 400. Luego establezca la posición en absoluto y defina la propiedad inferior. Que sea menos seis rondas. Bien, entonces el último elemento que quiero personalizar es un botón Así que vamos a seleccionarlo. En primer lugar, definamos la anchura y la altura. Voy a poner con 220 para correr. En cuanto a la altura, hagámosla de seis vueltas. Luego se deshace del borde predeterminado, usando border none. Y cambiar el color de fondo. Voy a usar tu color A5 a A12. A continuación, vamos a encargarnos de las fuentes. Voy a establecer el tamaño de fuente en 2.2 RAM que hacer font-weight 400 Crea algo de espacio entre las letras. Haz que apunte a la RAM. También transforma texto en mayúsculas. Después cambia el color del texto, hazlo claro usando color ie. Después de eso, voy a crear alguna sombra para el texto y para el propio botón. Entonces usemos sombra de texto, donde el valor es 0.3, 0.5 RAM. Y el valor RGBA con un color negro y la opacidad 0.5 Duplicemos esta línea de código. Cambia el texto a Box. Además, en lugar de 0.5 rampa, voy a usar 0.6 wrap. Por último, vamos a deshacernos del esquema predeterminado. Que no sea ninguno. Bien, así que eso es todo sobre el diseño. El proyecto se ve bastante bien. Y ahora voy a volver al archivo script.js y agregar un par de cosas más a la funcionalidad de la cuenta regresiva. Entonces, una vez que el número en la cuenta regresiva sea inferior a diez, entonces solo se mostrará un dígito Eso no es del todo agradable Así que voy a lograr mostrar siempre dos dígitos pase lo que pase. Entonces voy a usar las declaraciones condicionales. Tenemos que verificar si la duración de los días es igual a uno. Si esto es cierto, entonces tenemos que mostrar días con cero. Y si es falso, entonces tenemos que mostrar solo días. En realidad, he usado aquí la longitud de la propiedad dentro del número, pero no es correcta. La propiedad Length funcionará bien con estos valores de cadena. Así que tenemos que convertir esos números en valores de cadena. Hay un par de formas de hacerlo. Voy a añadir a cada número y cadena vacía. Entonces en este caso, los valores serán concatenados y obtendríamos los valores de cadena Bien, usemos este condicional para el resto de los números Voy a copiarlo y pegarlo. Aquí necesitamos horas que minutos. Por último, necesitamos segundos. Bien, entonces ahora el problema está arreglado. Ya no tendremos números de un dígito en la cuenta regresiva. Lo siguiente que quiero hacer es una vez que haya expirado el tiempo, tenemos que cambiar el contenido de la cuenta regresiva de esos números a algunos textos. Entonces necesitamos la declaración IF como condición, tenemos que verificar si la diferencia es menor que cero. Entonces si es cierto, entonces significa que el tiempo ha expirado y tenemos que cambiar el contenido de la cuenta regresiva. En primer lugar, tenemos que despejar el intervalo. Quiero decir, para detener la función de intervalo establecido. Para ello, tenemos que usar uno de los métodos llamados intervalo claro. Y tenemos que pasar intervalo variable yield. Después de eso, voy a cambiar el contenido de la cuenta regresiva. Entonces necesitamos el HTML interno del punto de cuenta regresiva. Usemos sus elementos de encabezado H1 con algunos textos. Digamos. Aquí vamos. Bien, entonces para poder comprobar cómo funciona, voy a fijar la fecha a la hora actual. Entonces aquí vamos. Ocho obras. Bien. Bien, así que ya casi terminamos. Lo único que voy a hacer es hacer que funcione el botón de reinicio. Una vez que haga clic en él, debería restablecer la cuenta regresiva y hacer esos números ceros Entonces voy a seleccionar botón de reinicio usando el método QuerySelector Entonces voy a adjuntar a un oyente de eventos usando el método add event listener Se necesitan dos argumentos. El primero va a ser el evento click. cuanto a la segunda, voy a pasar aquí una función de flecha, que se ejecutará una vez que hagamos clic en el botón de reinicio. En primer lugar, tenemos que dejar de establecer la función de intervalo. Quiero decir, tenemos que usar el método de intervalo claro. Pasemos aquí intervalo. Así que ahora voy a seleccionar todos los elementos div que necesitamos para mirar a través de ellos y cambiar el contenido. Tenemos que hacerlo ceros. Entonces voy a crear una variable, llamémosla divs Luego seleccione todos los elementos div dentro de la cuenta regresiva. Así que necesitamos un selector de consulta todo el método. Y tenemos que especificar aquí cuenta regresiva de clase seguida del div Entonces como decíamos, tenemos que mirar a través esos elementos div y cambiar su contenido. Así que voy a usar uno de los métodos de ayuda de matriz llamados para cada uno. Para cada método toma un argumento. Va a ser la función callback, que tomará un parámetro y va a ser el ítem actual en la lista Vamos a llamarlo div. Entonces necesitamos cambiar el contenido de cada div. Usemos innerHTML y pongamos el contenido a ceros. Entonces si hago clic en el botón, entonces restablecerá la cuenta regresiva 16. Proyecto 13 - Tarjeta de perfil: Bien, es hora de comenzar a construir nuestro próximo proyecto. En este video, vamos a estar creando una tarjeta de perfil. El proyecto va a ser sencillo con un diseño moderno y algunos efectos agradables. Entonces creo que vas a disfrutar construyéndolo. Bien, antes de comenzar a construir el proyecto, vamos a echarle un breve vistazo. Como puedes ver, tenemos una pequeña tarjeta en el centro de la página. Tiene alguna información sobre la persona. Estoy en, la imagen, nombre del archivo y alguna descripción. Y abajo tenemos un botón. Si hago clic en él, entonces el botón cambiará su forma, posición y contenido. Y también aparecerán tres casillas diferentes con algunos datos de contacto en redes sociales de la persona. Si vuelvo a hacer clic en el botón, entonces volveremos al estado anterior del auto. Entonces veamos qué vamos a construir. Espero que sea interesante porque aprenderás sobre cómo crear este tipo de efectos. Bien, Así que he creado una nueva carpeta en el escritorio llamada tarjeta. En él hay una carpeta para las imágenes. Voy a abrir esta carpeta en VS Code y luego crear tres archivos diferentes para HTML, CSS y JavaScript. El primero va a ser index.html. Entonces tendremos style.css y scripts dot js. Sigamos adelante y creamos el documento HTML básico. Para eso. Voy a usar m it, si pongo aquí un signo de exclamación y luego presiono Enter o tab, obtendremos la estructura básica del documento HTML Sigamos adelante y cambiemos el título. Voy a poner aquí tarjeta de contacto. Entonces después de eso, vinculemos los tres archivos. Voy a abrir la etiqueta de enlace en el elemento head para el archivo CSS. Pongamos aquí el nombre del archivo. Entonces necesitamos abrir la etiqueta script justo encima de la etiqueta del cuerpo de cierre. Y en el atributo source, tenemos que especificar la ruta del archivo. Bien, déjalo, los tres archivos están conectados. A continuación, voy a traer un par de enlaces adicionales. A lo largo del proyecto. Voy a usar los iconos Font Awesome y Google Forms. Así que sigamos adelante y busquemos Font Awesome, CDN, js. Después ve al primer enlace, selecciona CSS, y toma el primer enlace desde aquí. Entonces necesito abrir la etiqueta de enlace y poner el enlace como el valor del atributo h reference. Bien, eso es todo con respecto a los iconos Font Awesome. Sigamos adelante y traemos el enlace para las fuentes de Google. Voy a buscar fuentes de Google. Entonces a lo largo de este tutorial, voy a usar una fuente llamada doses. Vamos a personalizarlo porque usaremos diferentes pesos de fuente. Después agarra el enlace y pégalo en el elemento head. Bien, así que ahora es el momento de ejecutar el proyecto en el navegador Para eso, voy a usar uno de los paquetes de código VS que se llama Live Server. Nos permite ejecutar la vida del proyecto al navegador y realizar actualizaciones sin actualizar la página. Para que puedas seguir adelante e instalar este paquete. Bien, por último, coloquemos el editor y el navegador uno al lado del otro Así, y empieza. Entonces al principio voy a comenzar con el marcado HTML. Prepararemos toda la estructura HTML del proyecto, y luego le agregaremos CSS y JavaScript. Sigamos adelante y abramos la etiqueta div, que va a ser el contenedor de todo el contenido. Entonces dentro del contenedor voy a crear la propia tarjeta. Por lo que el auto constará de un par de partes diferentes. Tendremos tarjeta, tarjeta bio realizar algunos contactos de redes sociales y así sucesivamente. Sigamos adelante y comencemos con la biografía de la tarjeta. Incluirá la imagen de la descripción de la persona y el botón. Es una etiqueta div abierta y asignada a la tarjeta de clase bio. Después inserte en él en otro div, que va a ser el envoltorio de la imagen. Voy a llamarlo rapero IMG. Y voy a poner aquí una etiqueta de imagen y el atributo source. Tenemos que especificar la trayectoria de la imagen. Y también voy a poner aquí a persona como el valor del atributo alt. Y además de eso, voy a definir el ancho de la imagen desde aquí por un tiempo Hagámoslo cien pixeles. En realidad, lo haremos desde CSS al final del día. Bien, al minuto siguiente, datos personales. Así que vamos a abrir la etiqueta div con la información de la persona de clase e inserte elemento h3 heading para el nombre completo de la persona Voy a instituir a Jane Brown. Y también necesitamos el párrafo para alguna descripción. Agreguemos aquí algún texto ficticio. Bien, por último, necesitamos crear el botón, me refiero al botón negro que se moverá y cambiará la forma una vez que hagamos clic en él Vamos asignados a una clase llamada btn. Entonces dentro de ese botón tendremos dos partes. El primero va a ser el elemento span con el texto. Contáctame. En cuanto al segundo, va a ser el icono. Así que vamos a asignar a este panel elemento llamado btn contacts Y luego instituto gravado contáctame. Y a continuación voy a poner aquí Font Awesome icon, que debería tener nombres de clase, FAS, FA dash, angle, dash up. Bien, así que eso es todo sobre la bilis de la tarjeta. Eso es pasar a la siguiente parte. A continuación, tenemos que crear el encabezado, contactarme, que luego se ocultará y aparecerá al hacer clic. Así que vamos a abrir la etiqueta div con el contacto de la tarjeta de clase e insertándolo H4 elementos de encabezado con el texto Contáctame. Bien, entonces se crea la mitad del marcado A continuación, tenemos que encargarnos de las tres diferentes cajas blancas que se utilizarán para alguna información de contacto en redes sociales. Así que vamos a abrir la etiqueta div y asignado a la clase llamada Social. Esta va a ser la clase común para el estilo común. Pero también necesitamos la clase individual para el estilo individual. La primera casilla va a ser para el correo electrónico. Así que vamos a asignarle un correo electrónico de clase. En realidad, cada caja consistirá en un icono Font Awesome, y algunos datos de contacto. Vamos a abrir la etiqueta deep, que va a ser el envoltorio para el icono Font Awesome. Vamos a asignarle clase puedo envoltorio. Y luego inserta tu Irlanda con clases FAS, FA dash, sobre. Después de eso, necesitamos poner aquí algunos datos de contacto. Entonces abramos otra etiqueta div con los datos de contacto de la clase. Voy a poner aquí h f4 elemento de encabezado con el texto correo electrónico A continuación necesitamos un párrafo que incluya la dirección de correo electrónico real de la persona. Y también voy a insertar tu pequeña flecha, que será expresada por el corchete angular. Vamos a abrir elemento span y ponerlo aquí. Bien, eso es todo sobre los primeros contactos en redes sociales. En general, tendremos tres de ellos. Así que vamos a duplicar este código dos veces y luego hacer algunos cambios. Voy a cambiar el nombre de la clase, FB como el Facebook. Entonces voy a cambiar la clase de los iones cuando f, a, b, f dash, Facebook, dash square. Entonces necesitamos aquí facebook. Y el nombre completo de la persona, Jane Brown. Bien, Next va a estar vinculado en. Cambiar las clases de la isla, FAB, FA dash, LinkedIn. Además, necesitamos aquí LinkedIn y después el nombre de usuario en Jane Brown. Bien, así que finalmente terminamos con el marcado HTML de los elementos se crean y preparan Es hora de seguir adelante y empezar a escribir el CSS. En primer lugar, voy a crear algunos estilos de reset. Quiero deshacerme del margen predeterminado y el relleno de cada elemento. Para seleccionarlos, tenemos que usar un asterisco Entonces voy a poner tanto margen como relleno a cero. Bien, entonces a lo largo de este proyecto, voy a usar una rampa como unidad de medida Por defecto, una RAM es igual a 16 píxeles porque en este momento el tamaño de fuente del elemento HTML es igual a 16 píxeles. Quiero convertir una RAM en píxeles porque va a ser más conveniente y fácil de calcular. Entonces para ello, tenemos que disminuir el tamaño de fuente del elemento HTML del 100% al 62.5 por ciento Así que ahora una RAM es igual a diez píxeles Como puede ver, el tamaño de los elementos disminuyó. Bien, sigamos adelante y cuidemos el contenedor. Quiero que el contenedor ocupe toda la página. Así que vamos a seleccionarlo y definir el ancho y alto. Voy a establecer el ancho al 100%. En cuanto a la altura, voy a asignarle 100 de altura de ventana gráfica Entonces aquí decimos que el contenedor debería ocupar el 100 por ciento de la altura de la ventana gráfica A continuación, voy a cambiar el color de fondo. Usemos tu color 051321. Entonces después de eso, quiero colocar la tarjeta en el centro de la página. Para eso, vamos a usar CSS flexbox. Necesitamos usar tres propiedades diferentes. Flexión de pantalla. Entonces para centrar el elemento horizontalmente, necesitamos justificar el centro de contenido. Para centrado vertical. Tenemos que usar align items center. Eso es todo respecto al contenedor. A continuación, tenemos que encargarnos del auto. Ahora mismo, el contenido de la tarjeta no es del todo visible, así que vamos a arreglarlo usando algún fondo temporal. En primer lugar, vamos a establecer el ancho de la tarjeta, hacerla para que se ejecute, y luego cambiemos el color de fondo. Usa tu color D, D, D. Bien, así que ahora el contenido es visible en realidad con un cable mismo Ya terminamos. Tenemos que personalizar sus piezas por separado. Voy a comenzar con la primera parte, que va a ser la biografía de la tarjeta. Así que vamos a seleccionarlo y al principio definamos el color de fondo. Voy a usar aquí el color 458564. Después de eso, vamos a crear algo de espacio dentro de la caja usando relleno. Voy a poner relleno en la parte superior 23 de RAM. Entonces otra vez tres rem en el lado derecho a M en la parte inferior, y tres rem en el lado izquierdo. A continuación, voy a colocar los artículos horizontalmente en fila. Para eso, voy a usar display flex. Y también voy a hacer las esquinas superior izquierda y superior derecha Para eso, usemos radio de borde. En este caso, debería tomar cuatro valores diferentes. El primero va a ser para la esquina superior izquierda. Hagámoslo 0.5 rampa. Entonces voy a usar de nuevo puntos por Ram para la esquina superior derecha. Y debería ir seguido de dos ceros para las columnas inferior izquierda e inferior derecha Bien, eso es todo, ahora mismo con respecto a la biografía de la tarjeta, tenemos que darle estilo al contenido Voy a empezar con un botón. Contáctame porque creo que hará que el proceso de peinado sea un poco más fácil. Así que vamos a seleccionarlo. En primer lugar, voy a encargarme de su posición. Quiero colocarlo aquí en la parte inferior de la biografía de la tarjeta. Entonces hagamos que su posición sea absoluta. Entonces voy a establecer compró alguna propiedad a -2.5 rem. Entonces necesitamos la posición correcta. Voy a ponerla en diez rampas. Entonces como ves ahora mismo el botón ha terminado al final de la página. Ocurre porque la posición no está funcionando de acuerdo con los elementos padre, lo que se llama bio. Tenemos que hacer su posición relativa y luego el botón funcionará de acuerdo a la posición de los elementos padre. Bien, así que ahora se coloca correctamente. Definamos su anchura y altura. Voy a configurarlo en 20 RAM. En cuanto a la altura, hagamos que sea seis rampa. Y también cambiar el color de fondo. Haz que sea 3038. Bien, sigamos adelante y agreguemos algunos estilos más al fondo. Voy a cambiar el color del texto. Hagámoslo blanco. Después haga el botón redondeado usando border-radius con el valor de cinco rem Y también se deshace de la frontera por defecto es importante. Entonces, paso a paso, el botón se está volviendo más agradable. Vamos a encargarnos de la fuente. Voy a cambiar font-family. Hagámoslo Dole dice serif. Después aumenta el tamaño de fuente, hazlo de dos puntos para RAM. Y para transformar texto en mayúsculas. ¿Bien? En realidad, hay un par de estilos que quiero agregar aquí. Voy a crear alguna sombra usando box shadow con los valores 0.3 alrededor de 0.8 RAM. Y luego el valor RGBA, voy a usar color negro con la opacidad 0.3 A continuación, vamos a deshacernos del esquema predeterminado Establecer contorno a ninguno, y finalmente, cambiar el tipo del cursor. Haz que apunte al botón. Se ve bastante bien ahora mismo, ya terminamos con ello. Como veo ambos contenidos de la caja en este trazable quiero decir, el texto me contacta y el corchete angular Dejémoslo como está ahora mismo porque nos encargaremos de eso más adelante. Bien, una vez que terminemos con el botón y ahora podemos personalizar la imagen y la información personal Sigamos adelante y comencemos con la imagen. Voy a seleccionar un envoltorio div elementos. En primer lugar como definido ancho y alto. Voy a ponerlos a ambos a nueve rampas. Y también crear el espacio en el lado derecho usando margen derecho, con un valor de tres rondas. Después de eso, voy a seleccionar la propia imagen. Hagamos ancho y alto, ambos cien por ciento. En este caso a que heredará ancho y alto del desarrollo padre Me refiero al envoltorio IMG. Además de eso, tenemos que usar tu funda de ajuste a objetos. Nos permitirá mantener la calidad de la imagen. Y finalmente, hagamos que sea redondeado usando border-radius con un valor del 50 por ciento Entonces ahora la imagen se ve bastante bien. Como recuerdas, definimos el ancho de la imagen a partir del documento HTML. Así que sigamos adelante y deshagámonos de él porque ya no lo necesitamos. Bien, eso es. En cuanto a la imagen, sigamos adelante y personalicemos la información personal. Voy a seleccionar al Rapero. En primer lugar, definamos su ancho, que sea 60%. Entonces voy a agregarle un par de estilos comunes para el encabezado y para el párrafo. Hacer eso para evitar escribir las mismas cosas una y otra vez. Así que sigamos adelante y definamos font-family. Vuelva a usar ptosis serif. Después cambia el color, hazlo blanco. Y también voy a usar text shadow con los valores 0.1 rem point a RAM, y el color negro RGBA con la opacidad 0.3 Bien, entonces después de eso, necesitamos agregar algunos estilos individuales a ambos elementos. Comience con los elementos del encabezado. Voy a hacer el tamaño de fuente 2.5 rem. Después cambia el peso de la fuente. Hazlo 500. Además, voy a crear algún espacio entre letras. Hazlo 0.1 RAM, y luego crea algo de espacio en la parte inferior usando margen inferior con el valor one run. Bien, eso es todo sobre el rumbo. Sigamos adelante y seleccionemos un párrafo. En caso de párrafo, solo quiero hacer el tamaño de fuente 1.8 rem. Bien. Entonces como puedes ver, la primera parte de la tarjeta, la biografía de la tarjeta se ve bien y en realidad ya terminamos con ella. Ahora es el momento de encargarse de la siguiente parte. Quiero personalizar una pequeña sección debajo de la biografía del auto. Me refiero al rubro. Contáctame al principio, vamos a seleccionar su envoltorio llamado contacto. Cambiar el color de fondo. Voy a usar aquí, llamado o 2814d. Después haz que el texto sea blanco. Entonces voy a crear algún espacio dentro de los elementos. Vamos a usar relleno. Voy a ponerla en 1.5 rem en la parte superior e inferior. S4, los lados izquierdo y derecho. Hagamos el relleno para despotricar. Y también voy a usar radio fronterizo. En caso de contextos de tarjeta, quiero hacer redondeadas las esquinas inferior izquierda e inferior derecha. Entonces necesitamos los siguientes valores, 00 y luego 0.5 rem, y nuevamente 0.5 rem. ¿Bien? Ahora vamos a encargarnos del propio rumbo. Vamos a seleccionarlo y agregarle un par de estilos. En primer lugar, voy a cambiar la familia de fuentes. Vamos a usar de nuevo ptosis serif. Después cambia el tamaño de fuente, hazlo 1.8 RAM. Entonces voy a establecer el font-weight en 500. También haga el texto en mayúscula. Entonces crea espacio entre las letras. Hazlo 0.1 rem. Finalmente usa Shadow con los valores 0.1 rem point a RAM, y el color negro con la opacidad 0.3 Bien, entonces eso es todo respecto a esta sección. Sé que no se ve muy bien. O sea, se terminó detrás del botón parcialmente, pero en realidad no es el problema. Nosotros nos encargaremos de eso. Bien, así que paso a paso, seguimos adelante. A continuación, voy a darle estilo a los contacto de redes sociales. Quiero decir, estas tres cajas. En realidad, podemos deshacernos de este trasfondo temporal porque ya no necesitábamos. Entonces sigamos adelante y seleccionemos el desarrollo con una clase llamada Social. En primer lugar, voy a hacer que el fondo sea de color blanco. Luego crea algo de espacio dentro de la caja usando relleno. Hagámoslo 1.5 rem en los cuatro lados. Además, necesitamos crear algo de espacio entre las cajas usando margen. Vamos a ponerlo en dos rem en la parte superior e inferior y cero en los lados izquierdo y derecho. Entonces hagamos las esquinas redondeadas usando border-radius con un valor de 0.3 RAM Además, voy a hacer que los elementos se flexionen contenedor porque quiero colocar los elementos horizontalmente en fila. Así que usa display flex. Y luego con el fin de centrar los elementos verticalmente, vamos a usar align items center. Por último, necesitamos puntero de cursor. Bien, así que ahora mismo con envoltorio, ya terminamos. Personalicemos los elementos individuales en esas cajas. Voy a empezar con los iconos Font Awesome. Seleccionemos el rápido desarrollo. Tiene clase I can wrapper. Voy a establecer ancho y alto, ambos para que caigan corrieron. A continuación, voy a darle color de fondo al envoltorio. Pero como recuerdas, los tres iconos Font Awesome tienen diferentes colores de fondo. Por lo que tenemos que seleccionarlos individualmente. Sigamos adelante y comencemos con el correo electrónico. Correo electrónico seguido del envoltorio de iconos de clase. Entonces en caso de correo electrónico, y vamos a usar color de fondo con el valor d, d para B39 Entonces dupliquemos este código dos veces. El segundo recuadro es para Facebook. Entonces cambiemos la clase. Usa aquí FB, y también cambia el color. Voy a usar aquí 359 98s para el LinkedIn. Usemos el color de fondo 007, BB six. Bien, así que los tres iconos tienen los colores de fondo adecuados Sigamos adelante y agreguemos algunos estilos más comunes al envoltorio. Aquí necesitamos radio fronterizo con un valor del 50 por ciento. Porque tenemos que hacerlo redondeado. Luego use flexbox. Voy a centrar los íconos a la perfección. Entonces usemos display flex. Entonces justificar el centro de contenido. Para centrado horizontal. En cuanto al centrado vertical, necesitamos usar align items center, y luego crear algo de espacio en el lado derecho usando el valor de margen derecho para ejecutar Bien, entonces el envoltorio está preparado, todo queda bien, y voy a tener que añadir algunas estrellas a los íconos. Así que vamos a seleccionarlos. Voy a aumentar el tamaño de la fuente. Hagámoslo correr. Y también cambia el color, hazlo blanco. Bien, pasemos a los datos de contacto. Tenemos que personalizar el encabezado y el párrafo. Voy a empezar por el rubro. Vamos a seleccionarlo. En primer lugar, cambiemos la familia de fuentes. Voy a usar de nuevo dosis serif. Después cambia el tamaño de fuente, hazlo 1.6 RAM. Crea algo de espacio entre las letras. Quiero decir 0.1 RAM. Y también crear algo de espacio en la parte inferior usando margen inferior con valor 0.5 ran. Así es como se ven los encabezados en estos momentos. Tenemos que darles diferentes colores. Por lo tanto, voy a seleccionarlos por separado. Empecemos con el correo electrónico. Vamos a establecer el color a d. d para B39 Luego duplique este código dos veces, cambie el nombre de la clase a FB, y también cambie el color, hágalo 359 98s para el LinkedIn Voy a usar ceros de color 076. Bien, así que una vez que hayamos terminado con los encabezamientos, sigamos adelante y cuidemos los párrafos Sigamos adelante y seleccionémoslos. En primer lugar, cambiemos la familia de fuentes. Usar dosis serif. Entonces voy a establecer el tamaño de fuente en un punto para RAM. Cambia el color, hazlo 444, y luego crea algo de espacio entre las letras. Que sea 0.1 corrió. Bien, Así que en realidad con este alicatado, Ya casi terminamos El único elemento que tenemos que personalizar como esta pequeña flecha aquí. Así que vamos a seguir adelante y seleccionarlo ya que son los elementos span. En primer lugar, quiero colocarlo en el lado derecho de la caja. Para eso, podemos usar margen izquierdo. Y tenemos que configurarlo en auto. En realidad, no está funcionando. Los elementos span deben colocarse en el lado derecho. Creo que tenemos un pequeño error en el archivo HTML. Así que vamos a comprobarlo. Por lo que los elementos span deben estar fuera de los datos de contacto. Vamos a arreglarlo rápidamente. Y también cambiar aquí el selector. Necesitamos carrito social, seguido del lapso. Entonces voy a aumentar el tamaño de la fuente, hacerlo a Ram, cambiar el peso de la fuente, ponerla en negrita. Y también voy a establecer el color en 999. Por último, con el estilismo, ya terminamos. Ahora tenemos que seguir adelante y encargarnos de la funcionalidad de la tarjeta. Te voy a recordar lo que vamos a hacer. Entonces veamos el proyecto terminado. Entonces, por defecto, ocultaremos la sección Contáctame y los datos de contacto de redes sociales. Luego, una vez que hagamos clic en el botón, cambiará su forma, posición y contenido. Y los elementos aparecerán aquí abajo. Bien, sigamos adelante y nos encarguemos de eso. En primer lugar, voy a agregar un oyente de eventos click al botón Así que vamos al archivo script.js y seleccionemos el botón que voy a usar aquí método selector de consultas. Necesitamos especificar el nombre de la clase dentro del paréntesis Necesitamos aquí llamado btn. Entonces necesitamos adjuntar a cada oyente de eventos. Vamos a usar un método llamado add event listener. Este método toma dos parámetros. El primero es el tipo de evento. Como dijimos, vamos a usar click. Siguiente. Tenemos que pasar el año, la función flecha, que en realidad se ejecutará una vez que hagamos clic en el elemento. Bien, entonces déjame explicarte qué vamos a hacer. En realidad, vamos a crear una nueva clase y CSS llamada change. Vamos a agregar esta clase al contenedor. Después usando ocho, aplicaremos nuevos estilos a los elementos. Así que sigamos adelante y seleccionemos un contenedor usando un método selector de consultas de juego. Especifique aquí el contenedor de clase. A continuación tenemos que usar la propiedad llamada lista de clases. Esta propiedad nos da todas las clases que tiene el elemento Enter ahora tenemos que usar el método llamado toggle. El método toggle nos permite agregar la clase al elemento si no lo incluye , y eliminar la clase. Si el elemento incluye ocho dentro del paréntesis, necesitamos poner aquí un cambio de clase Bien, así que eso es todo con respecto a JavaScript. Ahora tenemos que usar el cambio de clase en CSS. Antes de hacer eso, voy a esconder aquí un par de elementos. Como sabes el rubro, contáctame y esas tres casillas deben estar ocultas por defecto. Entonces tenemos que asignar dos tarjetas de transformación de contacto. Con la función translate y. Nos permitirá mover los elementos hacia arriba. Pasemos aquí -100 por ciento. Entonces como puedes ver, el elemento se ha movido hacia arriba, pero terminó en la parte superior de la biografía de la tarjeta. En realidad, no lo necesitamos. Quiero colocarlo detrás de la biografía del auto. Para hacer eso, voy a usar la propiedad del índice Z Vamos a establecerla en, digamos 100. Entonces ahora el problema está arreglado. El elemento ha terminado detrás de la biografía del auto. Sigamos adelante y cuidemos los contextos de las redes sociales. Tenemos que esconderlas, y también tenemos que moverlas un poco hacia arriba. Entonces usemos de nuevo transform con la función translate y. Y en este caso, hagamos una pausa aquí -50 por ciento. Entonces las cajas se mueven hacia arriba y ahora tenemos que esconderlas. Con el fin de ocultar los elementos. Voy a usar opacidad cero y también visibilidad oculta. Bien, así que todo está listo. Sigamos adelante y hagamos que el evento click funcione. Cuando hacemos clic en el botón, entonces deberían aparecer esos elementos ocultos. Empecemos por el rubro contáctame. Tenemos que usar el cambio de clase, seguido del contacto de la tarjeta de clase. Entonces necesitamos transformarnos con la función translate y. Y en este caso, tenemos que pasar aquí cero. Además de eso, vamos a usar valores de transición, todos 0.5 s. si hago clic en el botón entonces el elemento aparecerá muy bien. Quiero añadir aquí un pequeño efecto. Voy a disminuir la escala del texto a cero y luego hacerla 100% una vez que hagamos clic en el botón. Entonces necesitamos transformarnos con la función de escala. Nos permite cambiar el tamaño de los elementos. Hagámoslo cero. A continuación, seleccione los elementos de encabezado. Pero en este caso con cambio de clase. Luego usa Transformar. Con la función de escala. Tenemos que hacer que el valor de la escala sea uno. Entonces otra vez use la transición. Inserte aquí 0.5 s. ¿Bien? Ahora una vez que hagamos clic en el botón, entonces la escala del encabezado aumentará. ¿Correcto? Ahora de un vistazo, parece que la dirección de la transformación es de derecha a izquierda. Creo que sería mejor cambiarlo y hacer una de izquierda a derecha. Para eso, tenemos que usar la propiedad llamada transform origin y tenemos que hacerla a la izquierda. Ahora creo que se ve mejor. Sigamos adelante y mostremos el resto de los elementos. Estoy en los contactos de redes sociales. Entonces necesitamos volver a usar el cambio de clase, seguido de la clase social. Entonces, para mover los elementos hacia abajo, tuvimos que transformarnos con la función translate y y con un valor de cero. Y luego para mostrar los elementos, necesitamos opacidad uno y visibilidad visible. Después de eso, tuvimos que usar transición, pero con diferente tiempo de retardo para cada caja. Seleccionemos el correo electrónico asignado a la transición con los valores 0.5 s y con el tiempo de retardo 0.3 s, Duplicemos este código dos veces. El segundo va a ser F B con un tiempo de retardo 0.5 s. Y luego para LinkedIn, necesitamos tiempo de retardo 0.7 s. Bien, así que como puedes ver, todo funciona bien hasta Lo único que hay que hacer es cuidar el botón. Tenemos que hacer un par de cosas. Por defecto, necesitamos mostrar el texto, contactarme. Una vez que hacemos clic en el botón, entonces debería cambiar al corchete angular. Además, necesitamos cambiar el ancho del botón y el radio del borde. Entonces, antes que nada, centremos el contenido. Es decir, ambos elementos perfectamente dentro del botón. Tenemos que seleccionar una tarjeta, btn conducta. Y luego el icono Font Awesome, necesitamos tarjeta VT y I. En primer lugar, hagamos el ancho cien por ciento. Después cambia la posición, haz un máximo absoluto. Necesitamos establecer propiedades superiores e izquierdas, ambas al 50 por ciento. Y finalmente, necesitamos usar la función Transformar Traducir. Aquí tenemos dos partes, -50% dos veces. Por lo que esta técnica se utiliza para enviar al elemento perfectamente. Bien, entonces el contenido está centrado. Ahora tenemos que ocultar el corchete angular por defecto. Vamos a seleccionar elemento y le asignamos opacidad cero y visibilidad oculta. Entonces una vez que hacemos clic en el botón, necesitamos ocultar el impuesto contactame y mostrar el corchete angular. Entonces en este caso tenemos que usar el cambio de clase seguido de la tarjeta de clase btn contacto lo que necesitamos opacidad cero Visibilidad oculta. Con el fin de mostrar los soportes. Necesitamos nuevamente el cambio de clase, seguido del elemento I. Y en este caso necesitamos opacidad con el valor uno y luego visibilidad visible. Bien, así como pueden ver, todo funciona bien. Ahora tenemos que encargarnos de la forma del botón. Cuando hacemos clic en él, necesitamos disminuir el ancho del botón. Entonces, seleccionemos un botón con el cambio de clase. Voy a hacer con seis RAM. Después cambia la posición correcta. Hagámoslo como tres RAM. Además, voy a cambiar ligeramente la posición inferior, que sea menos tres RAM. Y por último, usar border-radius con el valor 50 por ciento Entonces, si hacemos clic en el botón, entonces cambiará su forma. Bien, todo funciona bien como un gas. Lo único que tenemos que hacer es agregar los efectos de transición. Sigamos adelante y comencemos con el botón. Voy a asignar a transición con el valor 0 y la duración 0.5 s. a continuación, necesitamos agregar transición a la tarjeta btn conducta Vamos a insertar aquí todos los 0.5 s y poco tiempo de retardo, 0.1 s. A continuación tenemos que hacer la transición a, nuevo contrato escrito de tarjeta, pero con la clase de cambio, vamos a pasar todos 0.1 s. y finalmente, usar transición con el elemento I. Quiero decir yo elemento con la clase cambiar dirección 2.5 s. bien, así como puedes ver, todo funciona perfectamente y en realidad ya terminamos con este pequeño proyecto 17. Proyecto 14 - CSS Grid Menu: En este video, vamos a estar construyendo una página de aterrizaje simple con un menú CSS Grid. El proyecto se construirá con base en tecnólogos. Usaremos HTML, CSS y un poco de JavaScript. Bien, sigamos adelante y describamos primero el proyecto. Consta de dos partes principales. El primero va a ser una simple landing page. No puse aquí muchos elementos porque el foco principal del proyecto será el diseño de cuadrícula CSS. Tenemos aquí el banner con algunos textos y la imagen de fondo a pantalla completa En la esquina superior izquierda, se coloca un icono de menú. Si hago clic en él, esas líneas se moverán al lado derecho en orden. El menú de la cuadrícula aparecerá con algunos efectos agradables. Tenemos aquí un par de elementos del menú alineados muy bien. También en la esquina superior izquierda vemos el botón x de cierre. Si hago clic en él, entonces el menú se cerrará. El proyecto va a responder a diferentes tamaños de pantalla. Si inspecciono la página y reviso en tamaños de pantalla más pequeños, verás que responde y se ve bien. Una cosa a tener en cuenta aquí, vamos a usar el primer enfoque de escritorio. Vamos a construir el proyecto para mayor tamaño de pantalla en el que estoy. Esto coincide con el ancho de 1920 píxeles, alto de 1080 píxeles Si vas a usar este tamaño de pantalla más pequeño durante la construcción de este proyecto, entonces puede que no se vea bien. Pero no te preocupes, al final del día, lo haremos receptivo a diferentes tamaños de pantalla. Mientras tanto, puedes usar herramientas de desarrollador. Estoy en el modo responsive y especifico el ancho como 1920 pixeles y el alto como 108 semanas. Creo que estamos listos para irnos. He creado una nueva carpeta en el escritorio llamada menú CSS Grid, en la que puedes encontrar otra carpeta para las imágenes. Puedes descargar las partes fuente desde el enlace en la descripción. Voy a abrir esta carpeta en VS Code. Entonces sigamos adelante y creamos tres archivos diferentes para HTML. Voy a llamarlo index.html. Entonces necesitamos style.css. Y se enamoran de JavaScript, script.js. Justo después de eso, sigamos adelante y creemos el documento HTML básico en el archivo index.html. Para eso, voy a usar Emmet. Necesitamos colocar un signo de exclamación y luego presionar Enter o tab Así que aquí vamos. Sigamos adelante y cambiemos el título. Voy a poner aquí el menú CSS Grid. Entonces voy a crear enlaces para los archivos CSS y JavaScript. Vamos a abrir la etiqueta de enlace y especificar aquí la ruta del archivo. Necesitamos el nombre del archivo style.css como archivo JavaScript público. Voy a abrir la etiqueta de script. Luego en el atributo source, vamos a especificar el nombre del archivo. Bien, entonces los tres archivos están conectados. A continuación, voy a traer un par de fuentes de Google. A lo largo de este tutorial, vamos a usar dos fuentes diferentes. Sigamos adelante y visitemos el sitio web de Google Fonts. Voy a escribir aquí Google Fonts. Así que aquí está el sitio web de las fuentes de Google. Voy a buscar guion de baile. Entonces aquí está. Después de eso, busquemos la losa Josephine. Voy a personalizar esta fuente porque usaremos este teléfono con diferente peso de fuente. Así que vamos a comprobar aquí. Par de cajas. Bien, finalmente, vamos a agarrar el enlace y pegarlo en el elemento head. Bien, así que estamos casi listos para comenzar a codificar. Por último, quiero ejecutar el proyecto en el navegador. Para eso, usemos uno de los paquetes de código de vistas que se llama Live Server. Nos permite ejecutar la vida del proyecto al navegador y realizar actualizaciones sin actualizar la página cada vez. Por lo que recomiendo instalar y utilizar este paquete. Bien, coloquemos el editor y el navegador. Así. Y empezar. Entonces al principio voy a crear el marcado HTML para todo el proyecto, y luego comenzaremos a escribir CSS y JavaScript. Sigamos adelante y creamos el marcado Para la primera parte del proyecto, que va a ser el aterrizaje Vamos a abrir la etiqueta div. Envolverá todo el contenido de los proyectos. Voy a darle contenedor de clase. Después dentro del contenedor voy a insertar el icono del menú de hamburguesa Se construirá utilizando los desarrollos. Así que vamos a abrir el desarrollo y asignado a la clase menú de hamburguesas El icono del menú constará de dos partes. El primero va a ser el ícono de la hamburguesa. En cuanto a la segunda parte, va a ser el x botón de cierre. En primer lugar, vamos a abrir un elemento div con líneas de clase Se envolverá las tres líneas. Estoy en la primera parte del icono. Así que vamos a insertar aquí tres elementos div con un par de clases. Me refiero a la línea y la línea uno. Entonces voy a duplicar esta línea de código dos veces y cambiar los nombres de las clases con la línea dos y la línea tres. A continuación, voy a abrir otro div, que será un envoltorio de las X líneas de botones de cierre. Quiero darle una clase X btn. Después de eso, vamos a insertar aquí elemento div con clases x línea y x línea uno. Después duplicarlo y cambiar el nombre de la clase. Bien, así que eso es todo sobre el menú de hamburguesas. A continuación, voy a encargarme del encabezado. Vamos a abrirlo y asignado a la cabecera de la clase. A continuación necesitamos la pancarta. Entonces, insertemos aquí un nuevo desarrollo con el banner de la clase. El banner constará de dos elementos diferentes. El primero va a ser el rumbo. En cuanto al segundo, debería ser el párrafo como primero. Insertemos aquí H1, e insertemos aquí algún texto. Esta es una landing page. A continuación necesitamos un párrafo con un texto con un, en realidad voy a insertar aquí el texto con un menú CSS Grid, pero quiero usar algunos estilos diferentes para la cuadrícula CSS. Por lo tanto, envolvamos esas dos palabras con elementos span y luego escribamos menu. Bien, veamos sobre la primera parte del marcado. Sigamos adelante y creamos el menú de navegación. Voy a abrir los elementos nav que están asignados a la navegación de clases. Por lo que el menú de navegación estará representado por una lista. Voy a darle un menú de navegación de clase. En esa lista de elementos, voy a poner un par de elementos de lista. Vamos a abrir los elementos LI. Debe tener elemento de menú de navegación de clase. Entonces el elemento de la lista incluirá un elemento de enlace con el enlace del menú de navegación de clase. Entonces como primer elemento de navegación voy a insertar tu casa. En general tendrá 11 artículos. Por lo tanto, voy a duplicar diez veces un elemento ligero. Y luego voy a cambiar rápidamente los artículos. El segundo va a ser sobre. Entonces tendremos proyectos. Blog. El siguiente va a ser Galería. También tendrá precios de cartera que eventos. Los clientes. La siguiente serán las ofertas. Y por último, voy a poner aquí contactos. Bien, así que eso es todo sobre el marcado HTML. Todos los elementos están creados y ahora estamos listos para comenzar a estilizarlos. Pasemos al archivo style.css. En primer lugar, voy a crear algunos estilos de reset. Quiero deshacerme del margen predeterminado y el relleno de cada elemento. Para seleccionar cada elemento, necesitamos usar un asterisco Y luego para deshacerme del margen predeterminado y el relleno, voy a ponerlos a cero a ambos . ¿Bien? Entonces a lo largo de este tutorial, voy a usar RAM como unidad de medida. Por defecto, 1 g equivale a 16 píxeles porque el tamaño de fuente del elemento HTML es igual a 16 píxeles. Quiero convertir una RAM en diez píxeles porque creo que sería más conveniente de usar y calcular. Entonces tenemos que disminuir el tamaño de fuente del elemento HTML y tenemos que hacerlo 62.5 por ciento En este caso, una rampa debe ser igual a diez píxeles. Entonces en estos momentos, el tamaño de los elementos han disminuido y se hicieron más pequeños. Bien, sigamos adelante y nos ocupemos del cabezazo. Quiero que ocupe toda la ventana gráfica. Así que vamos a seleccionarlo y definir su ancho y alto. la siguiente manera. Voy a hacer con el 100%. En cuanto a la altura, voy a hacerla cien de altura de viewport Significa que ocupa hasta cien por ciento de toda la ventana gráfica Después de eso, vamos a establecer la imagen como fondo de pantalla completa En primer lugar, voy a usar gradiente lineal. Y voy a poner aquí tres valores RGBA diferentes. El primero va a ser 884,170.7. La opacidad. A continuación, voy a usar 1887190 y opacidad En cuanto al tercer color, vamos a usar aquí color negro. Necesitamos 03 veces y opacidad 0.2. Después de eso, vamos a especificar la URL. Me refiero a la parte de la imagen. Tenemos carpeta llamada images y necesitamos seleccionar PG dot JPG. A continuación necesitamos Centro y tampoco repetir. Y por último, hagamos la portada del tamaño del fondo. Bien, entonces el fondo está listo para el encabezado y luego viene el banner. Quiero colocarlo en el centro de los préstamos. Para eso, podemos usar un par de formas. Pero para mí, el mejor es flexbox. Necesitamos asignar un par de propiedades flexbox al elemento header El primero va a ser display flex, porque necesitamos hacer header Flex container. A continuación tenemos que cambiar la dirección. Tenemos que hacerlo columna. Entonces para centrar los artículos dentro del contenedor, necesitamos justificar el centro de contenido, y también alinear los elementos al centro. Bien, entonces la pancarta está centrada. Ahora necesitamos personalizar el encabezado y el párrafo. Sigamos adelante y comencemos con el rumbo. Vamos a seleccionarlo. En primer lugar, voy a cambiar la familia de fuentes. Usemos aquí uno de los scripts de baile de Google Fonts. A continuación necesitamos coercitivos. Entonces voy a aumentar el tamaño de la fuente. Hagámoslo ocho RAM. También cambia el peso de la fuente. Que sea 400. Después de eso, voy a cambiar el color. Hagámoslo e. E. Crear algo de espacio entre las letras usando espaciado entre letras, 0.5 rem. Además de eso, voy a crear algo de espacio en la parte inferior del elemento usando margin, bottom three rem. Por último, usemos la sombra de texto con los valores 0.2, 0.4 RAM. Y el color negro RGB a, tres ceros, y la opacidad 0.3 Bien, entonces el rumbo se ve bastante bien. Pasemos al párrafo. Sigamos adelante y seleccionemos este elemento. Voy a hacer su familia de fuentes. Nuevamente, guión de baile, cursiva. A continuación, aumenta el tamaño de fuente, hazlo para RAM. También cambia el color. Hazlo e. Voy a crear espacio entre las letras. Pero en este caso, hagamos que apunte a RAM. Y por último, vuelve a usar la sombra de texto. En realidad voy a agarrar esta línea de código de aquí y pegarla para el párrafo. Bien, Siguiente, quiero colocar el párrafo del lado derecho Para eso, podemos usar text-align, ¿verdad? Recuerda, hemos envuelto las palabras CSS grid con un elemento span porque necesitamos un estilo diferente para esas dos palabras. Entonces sigamos adelante y aplicarlo. Voy a seleccionar elemento span. Vamos a establecer la familia de fuentes en Josephine slab serif. Después aumenta el tamaño de la fuente, hazlo cinco rem. Cambia el peso de la fuente, hazlo 700. Y finalmente, transformar el texto en mayúsculas. Bien, así que finalmente terminamos con el párrafo y en realidad hemos terminado de trabajar en la pancarta A continuación, es el momento de personalizar el ícono de Menú. Estoy en la primera parte del mismo, que consta de tres líneas blancas. Sigamos adelante y seleccionemos los desarrollos rápidos, que tiene menú de hamburguesas de clase En primer lugar, voy a hacerlo visible. Entonces necesitamos definir la anchura y la altura. Hagamos ambos de rampa 3.5. Y también le voy a asignar un color de fondo temporal. Hagámoslo rojo. este momento el icono se coloca en la esquina superior izquierda del préstamo. Esta no es una posición del todo correcta. Así que definamos la posición del icono y haciéndolo fijo. Y también, voy a especificar las posiciones superior e izquierda. Voy a hacer que ambos sean 3.5 rem Bien, así que ahora mismo el icono se posiciona correctamente Por último, quiero cambiar el tipo de cursor y hacer que apunte. Bien, entonces a continuación voy a mostrar las líneas. En primer lugar, vamos a seleccionar el desarrollo envoltorio, que tiene las líneas de nombre de clase, y darle un par de fichas. Voy a establecer ancho y alto, ambos al 100%. En este caso, el elemento heredará el ancho y alto de su elemento padre, el menú hamburguesa Y ahora vamos a encargarnos de las líneas. Selecciónelos con una línea de nombre de clase común. Voy a establecer con como cien por ciento. En cuanto a la altura. Hagámoslo punto para RAM. También cambia el color de fondo. Que sea blanco. Y también voy a hacer las esquinas de las líneas ligeramente redondeadas. Para ello, vamos a usar border-radius con el punto de valor para ejecutar Bien, entonces ahora las líneas son visibles, pero como adivinaste, tenemos que cuidar su posición Para eso, voy a volver a usar libros flex. Así que vamos a asignar a las líneas. Flexión de pantalla. Siguiente. Tenemos que cambiar la dirección. Voy a hacerla columna. A continuación, tenemos que crear algún espacio entre las líneas. Y para eso necesitamos usar justificar contenido con el espacio de valor de manera uniforme. Y por último, necesitamos alinear elementos, centro. ¿Bien? Entonces ahora mismo las líneas están posicionadas correctamente. Si nos deshacemos del fondo rojo, los verás mejor. Bien, en realidad con la primera parte del proyecto ya terminamos El encabezado está estilizado, se ve bastante bien. Ahora tenemos que pasar a la navegación. Voy a diseñar el menú de navegación, y después de eso, voy a hacer que funcione. Entonces para proceder, voy a ocultar el encabezado por un tiempo y las líneas, para luego comenzar a trabajar en la navegación Sigamos adelante y asignemos al encabezado y la visualización de las líneas. No. Bien, así que aquí solo tenemos una lista de navegación. Sigamos adelante y comencemos a personalizar la navegación. Voy a seleccionar suficientes elementos. En primer lugar, fijemos su ancho y alto. Ambos 200 por ciento. Y voy a cambiar el color de fondo. Usemos tu color d, d, d. Así que ahora mismo la navegación comienza desde la esquina superior izquierda. Sucede porque el encabezado está oculto por un tiempo. Entonces quiero definir la posición actual manualmente también. Para ello, necesitamos posición absoluta. Y luego establecer las propiedades superiores e izquierdas, ambas a cero. Por lo que ahora la navegación ocupa todo el ancho y alto de la página. Creo que es hora de personalizar un poco los artículos. En primer lugar, seleccionemos los elementos LI y nos deshagamos de las balas predeterminadas. Ahora mismo, esas balas no son visibles porque establecemos el relleno a cero. En realidad, si lo vuelvo a encender, entonces verás las balas. Vamos a deshacernos de ellos. Voy a seleccionar elementos LI y eso se le asigna, o al menos estilo ninguno. A continuación, voy a seleccionar los elementos de enlace. En primer lugar, deshagamos del subyacente predeterminado usando decoración de texto, ninguno. Entonces voy a establecer familia de fuentes a Josephine slab serif También aumenta el tamaño de fuente, hazlo 2.5 RAM. Después cambia el peso de la fuente. Voy a hacerlo un poco más audaz. Use 700. Después transforma el texto en mayúsculas Y después de eso, voy a crear algún espacio entre las letras. Hagamos que apunte a rentar. Bien. Entonces los artículos se ven mucho mejor, pero voy a agregarles algunos estilos más. Cambiemos el color de fondo. En este caso, voy a usar el color a cinco. Ver C7. Entonces hagamos que el texto sea blanco. Y también hacer las esquinas de los elementos a su alrededor usando border-radius con el valor 0.5 renta Bien, así que eso es todo por ahora respecto a los elementos de enlace A continuación, tenemos que empezar a usar la grilla CSS En realidad, voy a ejecutar el proyecto al Mozilla Firefox porque en estos momentos cuenta las mejores herramientas de desarrollador para la grilla CSS. Quiero decir, es mucho más fácil trabajar en Mozilla Firefox cuando tratas con el diseño de cuadrícula CSS. Si no tenemos el Mozilla Firefox, entonces recomiendo descargarlo e instalarlo. Vamos a agarrar la URL. Después abre el navegador y pegarlo aquí. Entonces tenemos aquí nuestro proyecto en marcha. Voy a inspeccionar la página. Entonces ves aquí las herramientas para desarrolladores. Es algo similar a las herramientas para desarrolladores de Google Chrome, pero verás algunas diferencias cuando empecemos a usar la cuadrícula CSS, ¿verdad? Entonces antes que nada, voy a hacer que el elemento null greet container. Para eso tenemos que asignarle grilla de visualización. A continuación tenemos que definir las columnas y filas. En el caso de los elementos nav, vamos a tener tres columnas y tres filas. Entonces necesitamos usar columnas de plantilla de cuadrícula. El tamaño de la primera columna debe ser a RAM de lo que necesitamos una unidad fraccionaria Y luego otra vez a rampa. En cuanto a las filas, como decíamos, necesitamos tres de ellas. El tamaño de la primera fila debe ser de diez RAM. Entonces otra vez una unidad fraccionaria. Y luego correr. Entonces hemos definido las columnas y las filas. Y para poder verlas mejor, voy a marcar esta cajita. Y también voy a mostrar los números de línea. Así que aquí vamos. Ahora nuestra cuadrícula es visible. Desafortunadamente en Google Chrome. En este momento no tenemos esa oportunidad. Bien, déjame explicarte qué significan esas columnas y filas. Esas pequeñas columnas serán este ritmo. Después en la primera fila, va a estar el botón x de cierre. Como menú plegable en sí. Se va a colocar aquí en el medio. Sigamos adelante y definamos la posición del menú de nueces. Vamos a seleccionarlo. Y luego definir columna de cuadrícula con los números de línea 2.3 y fila de cuadrícula. Los números de línea 2.3. Otra vez. Como ves, el menú se coloca correctamente en la segunda columna, y ahora es el momento de colocar los elementos para eso. En primer lugar, tenemos que hacer suficiente menú, un contenedor de cuadrícula, que la rejilla de visualización. Y después de eso tenemos que definir las columnas y las filas. Entonces usemos columnas de plantilla de cuadrícula. En general, voy a crear 12 columnas. Vamos a usar la función de repetición. Después especifique el número de las columnas 12 y este tamaño, una unidad fraccionaria Después de eso, vamos a definir filas de plantilla de cuadrícula. Utilice la función de repetición. Tendremos cuatro filas, cada una de ellas igual a una unidad fraccionaria Y además de eso, voy a crear también el espacio entre las celdas de la cuadrícula usando brecha de cuadrícula igual a rampa. Bien, así que antes que nada, vamos a mostrar las líneas de la cuadrícula del menú de navegación Como ve, tenemos 12 columnas y cuatro filas. En este momento el diseño está un poco desordenado, pero pronto nos encargaremos de eso Antes de comenzar a posicionar los artículos individuales quiero usar, nuevamente, Flexbox Usando un par de propiedades flexbox, haremos que los elementos se estiren en las celdas y también se centrará el contenido de cada elemento Entonces tenemos que usar display flex. Entonces justifican centro de contenidos. Además, necesitamos alinear los artículos al centro. Y voy a hacer que la altura sea igual al 100%. Bien, Así que ahora los artículos se ven mejor y en posición estándar luego por separado. Para seleccionarlo, voy a usar el enésimo selector hijo Entonces necesitamos el elemento del menú de navegación seguido del enésimo selector secundario Y tenemos que especificar aquí el número del ítem. Y ganamos. Los primeros elementos deben colocarse en las dos primeras filas, y deben ocupar las tres primeras columnas. Así que necesitamos columna de cuadrícula donde los números de línea 1.4 y salir de rol con los números de línea 1.3. Entonces el primer ítem es la posición. Pasemos al segundo. En realidad, voy a copiar este código y luego cambiar el número que necesitamos. El segundo elemento se va a colocar también en las dos primeras filas, las columnas. Se va a colocar entre números de cuarta y séptima línea. Entonces necesitamos grilla columna 4.7 y fila de cuadrícula Los números de línea 1.3. Entonces dejémoslo como está. Eso es todo sobre el segundo ítem. Sigamos adelante y pasemos al siguiente punto, que va a ser tres. Por lo que el tercer elemento se posicionará en la primera fila. En cuanto a las columnas, se va a colocar desde el número de la séptima línea hasta el final del contenedor de cuadrícula. Entonces necesitamos columna de cuadrícula con una línea número siete y menos uno. Según la fila de la cuadrícula va a ser 1.2. Entonces, como ves, el tercer artículo se coloca correctamente. A continuación viene el cuarto ítem. Voy a colocarlo en la segunda fila. Y ocupará dos columnas, las columnas entre la séptima y la novena línea números. Entonces necesitamos la columna de rejilla 79. En cuanto a la fila de la cuadrícula va a ser 2.3. ¿Bien? A continuación tenemos el quinto ítem. Se va a colocar en la segunda fila. En cuanto a las columnas, voy a colocarla entre los números de la novena y la línea 11. Entonces cambiemos aquí los valores que necesitamos aquí, columna de cuadrícula 911 y fila de cuadrícula 2.3. Bien, entonces paso a paso, estamos avanzando y creando el diseño de la cuadrícula. Pasemos al siguiente punto, que va a ser el sexto. Por lo que se debe colocar de nuevo en la segunda fila. En cuanto a las columnas, ocupará dos columnas al final del contenedor de rejilla. Así que necesitamos salir columna son los números de línea 11, n menos uno. N fila de rejilla. Nuevamente con los números de línea 2.3. Bien, eso es. Acerca del sexto ítem. A continuación viene lo mismo a la una. Por lo que el séptimo ítem se va a colocar en la tercera fila, y ocupará seis columnas desde el inicio del contenedor de líquido. Necesitamos columna de rejilla con números de línea 1.7. En cuanto a la fila de la cuadrícula, debería ser 3.4. Bien, entonces eso es todo sobre el séptimo ítem. Pasemos al siguiente, que es ítem. Por lo que se volverá a colocar en la tercera fila. En cuanto a las columnas, quiero colocarla desde la línea número siete hasta el final del contenedor. Así que necesitamos la columna de cuadrícula con un número de línea siete menos uno, y la fila de cuadrícula tres menos uno. ¿Bien? Por lo que quedan sólo tres artículos. Sigamos adelante y definamos sus posiciones rápidamente. Sé que este proceso es un poco aburrido, pero así es como funciona la cuadrícula CSS. Pasemos al noveno ítem. Entonces el noveno ítem se va a colocar en la última fila y luego en la cuarta. En cuanto a las columnas, voy a colocar entre los números de la primera y tercera línea para que ocupe las dos primeras columnas. Necesitamos grilla columna 1.3. En cuanto a la fila de la cuadrícula, necesitamos cuatro y menos uno. Bien, a continuación tenemos el décimo ítem. Se va a colocar de nuevo en la cuarta fila. Y debería ocupar dos columnas desde la línea número tres hasta la línea número cinco. Entonces necesitamos grilla columna 3.5 y salir de rol de nuevo, cuatro y menos uno. Bien, por último, el último término de ítems. Voy a colocarlo en la última fila así como para las columnas. Se va a colocar entre la línea número cinco y la línea número siete. Entonces necesitamos grilla columna 5.7. Fila de cuadrícula de nuevo para n menos uno. Bien, así que eso es todo sobre el menú de navegación. Está muy bien posicionado, se ve bastante bien. Y ahora es el momento de seguir adelante y encargarse de las otras cosas. Creo que podemos volver a cambiar a Google Chrome porque ya no necesitamos la ayuda de los números de línea de la cuadrícula. Así que una vez que hayamos terminado con el diseño del menú de navegación, voy a seguir adelante y encargarme del cierre x. Pero antes que nada, vamos a mostrar las líneas. Para eso necesitamos seleccionar x línea. Definamos ancho y alto. Voy a establecer width a 3.5 ran En cuanto a la altura, vamos a hacerla punto para RAM. Luego cambia el color de fondo. Vamos a usar tu color, 307bd F. Y también voy a usar radio de borde con un punto de valor para rentar Entonces en estos momentos las líneas no son visibles porque terminaron detrás de la navegación. Para poder mostrarlos, tenemos que usar una de estas propiedades CSS llamada índice Z. Y tenemos que asignarlo al propio menú de hamburguesas porque el fondo es la parte del mismo. Entonces pongamos el índice en, digamos 100. Entonces, como puedes ver, las líneas se muestran en este momento. No tienen la forma de x y tenemos que encargarnos de eso. Entonces para que se vean como x, voy a usar transformaciones CSS, y luego rotan y traducen funciones. Así que sigamos adelante y seleccionemos x línea uno. Luego usa Transformar con la función de rotar. Voy a rotar la línea en -45 grados. Entonces dupliquemos este código, cambiemos el nombre de la clase. Necesitamos x línea dos, y también deshacernos del signo menos de aquí. ¿Bien? Entonces en este momento no tenemos la x perfecta Necesitamos usar la función Translate. Adicionalmente, nos permite mover el elemento ya sea horizontal o verticalmente según los ejes x e y Entonces en este caso, necesitamos traducir y con el valor 0.3 RAM S4. La segunda línea, necesitamos de nuevo traducir Y, pero con puntos negativos, tres rampa. Entonces ahora tenemos la x perfecta. Lo único que voy a hacer es mover el botón ligeramente hacia abajo. Podemos hacerlo usando un par de formas diferentes. En este caso, voy a usar posiciones. Quiero centrarlo perfectamente dentro del menú de hamburguesas Así que sigamos adelante y seleccionemos x btn. Después definir sus propiedades de posición, absoluta, set, top e left, ambas al 50%. Luego usa transform translate. -50 por ciento. Después otra vez -50 por ciento. En realidad, esta técnica se utiliza para centrar el elemento dentro del contenedor perfectamente. Bien. Entonces eso es todo con respecto al botón de cierre x. Ahora es el momento de que el menú de hamburguesas funcione. En primer lugar, voy a mostrarlo de nuevo los préstamos y ocultar el menú de navegación. Así que vamos a seguir adelante y deshacernos de la exhibición, ninguna de aquí. Además, voy a mostrar el icono del menú. Entonces sigamos adelante y ocultemos la navegación. En este caso, lo voy a hacer usando opacidad con valor cero y visibilidad oculta. Además de eso, también necesitamos las mismas propiedades para el botón X, porque tenemos que ocultarlo. Entonces usémoslos para X BTN. Bien, así que todo está listo para que el menú de hamburguesas funcione Lo primero que tenemos que hacer es crear el evento click. Para eso voy a usar JavaScript. Abramos el archivo script.js y luego seleccionemos el menú de hamburguesas Voy a hacer eso usando el método selector de consultas. Tenemos que adjuntarlo al documento, y luego dentro de los paréntesis, tenemos que especificar el nombre de la clase, en este caso menú hamburguesa A continuación tenemos que adjuntarle un oyente de eventos. Para ello, tenemos que usar un método llamado add event listener Se necesitan dos argumentos. El primero va a ser el tipo de evento. Como dijimos, vamos a utilizar el evento click. Entonces pasémoslo aquí como en parte segundo argumento. Debe ser la función que luego se ejecutará una vez que hagamos clic en el elemento. En este caso, voy a usar una función de flecha. Bien, así que ahora tenemos que pasar aquí el bloque de código que necesitamos que se ejecute una vez que hagamos clic en los iconos y se desencadene el evento. Déjame explicarte lo que vamos a hacer. Voy a crear una nueva clase y CSS llamada change. Vamos a agregar esta clase al contenedor onclick. Para ser más precisos, usaremos el método toggle, lo que significa que agregaremos la clase al contenedor si no la tiene. Y vamos a quitar la clase. Si el contenedor hace hábito El método toggle nos permitirá evitar el uso de dos métodos diferentes at y remote. Te preguntarás ¿por qué agregamos la clase al contenedor y no al menú de hamburguesas El motivo es que una vez que el contenedor tenga la clase, podremos usarlo para todos sus descendientes. Bien, sigamos adelante y seleccionemos el contenedor. Voy a utilizar de nuevo el método selector de consultas. A continuación, especifique aquí contenedor className. A continuación voy a usar una de las propiedades llamadas lista de clases. En realidad nos da todas las clases que tiene el elemento. Después de eso tenemos que agregar a esta propiedad, ellos alternan método. Y dentro del paréntesis, vamos a especificar el nombre de la clase, que vamos a crear Cambio. Bien, así que eso es todo con respecto al JavaScript. Ahora tenemos que crear un cambio de clase en el archivo CSS. Así que una vez que hacemos clic en el icono, tenemos que ocultar el encabezado, muestra la navegación, y también mostrar la x cerrando, pero esa es probablemente las líneas del icono del menú. No voy a ocultarlos simplemente porque vamos a crear un efecto diferente. Bien, así que vamos a ocultar el encabezado. Necesitamos un cambio de clase, seguido del encabezado de clase. Entonces, si esta selección es válida, entonces necesitamos aplicar los siguientes estilos. Necesitamos opacidad cero y visibilidad oculta. A continuación, vamos a mostrar la navegación. Utilice de nuevo cambiar con la navegación. Y en este caso necesitamos opacidad con el valor uno y visibilidad visible. Además de eso, también tenemos que mostrar el botón X. Entonces usemos change, seguido de la clase x BTN Y usa aquí opacidad uno y visibilidad visible. Bien, así que si hago clic en el icono, entonces el encabezado se ocultará y aparecerá el menú knock y el botón X Todo funciona bien hasta ahora. Ahora voy a agregar algunos efectos agradables a nuestro proyecto. Quiero ocultar el encabezado y mostrar la navegación con algunos efectos de fundido. Los crearemos usando transiciones CSS. Entonces voy a asignar al encabezado los valores de transición todos y 0.5 s, que es una duración. Necesitamos lo mismo para la navegación, pero tenemos que usar la propiedad transition con el cambio de clase. Entonces, si hago clic en el icono que la navegación mostrará con un efecto de desvanecimiento, y lo mismo sucederá en el siguiente clic, el préstamo aparecerá con falso. ¿Correcto? Siguiente Voy a encargarme de los elementos de navegación. Echemos un vistazo al proyecto terminado. Como dije, los artículos aparecen de izquierda a derecha. Entonces tenemos que movernos y colocarlos del lado izquierdo. Y luego tenemos que mover los artículos hacia el lado derecho onClick Entonces voy a usar Transform con la función translate. En este caso, necesitamos traducir x porque tenemos que mover el ítem así de acuerdo al eje x, vamos a insertar aquí menos cien por ciento Entonces en este momento el diseño se ha estropeado, pero eso no es un problema porque por defecto, vamos a ocultar los elementos. Para eso. Voy a usar una de estas propiedades CSS llamada overflow hidden. Y tenemos que asignarlo al elemento LI. Como ve, los artículos no están completamente ocultos. Vemos los bordes de ellos. Aumentemos el valor de la función translate. Voy a lograr que sea el 105 por ciento. Bien, ahora es mejor. Necesitamos mostrar los elementos una vez que hacemos clic en el icono del menú. Pero para que este efecto sea más agradable, tenemos que definir también algunos tiempos de retraso Entonces para volver a mostrar los elementos de navegación necesitamos cambio de clase, seguido del enlace, me refiero a enlace del menú de navegación. Entonces necesitamos transformarnos con la función translate x. Y en este caso tenemos que pasar aquí cero. Además de eso, voy a usar transformación de transición que la duración 0.7 s. tiempo de retardo 1 s. Bien, así que como veis, tenemos aquí bonito efecto cool Por ahora, todo funciona bastante bien. Ahora voy a tomar aquí de los íconos. Me refiero al ícono de Menú en el rellano y los actos de cierre. Pero lo que voy a hacer es que voy a mover las líneas del icono de izquierda a derecha en orden comenzando por la de arriba. Entonces para hacer eso, voy a usar de nuevo transform con función Translate y luego transiciones. Así que tenemos que usar el cambio de clase seguido de la línea de clase que necesitamos transformar De nuevo traducir la función x y voy a pasar aquí el 120 por ciento. ¿Bien? Ahora necesitamos transición para las tres líneas por separado porque tenemos que asignarles diferentes tiempos de retardo. Empecemos con la línea uno. Utilice la transformación de transición con una duración de 0.5 s y el punto de tiempo de retardo 1 s. Vamos a duplicarlo dos veces, luego cambiar los nombres de clase. Y también los tiempos de retraso. Necesitamos 0.3 s para esta segunda línea y 0.5 s para la tercera línea. Bien, si hago clic en el icono, entonces las líneas se moverán de izquierda a derecha en orden Pero en realidad, eso no es lo que queremos. Quiero que los préstamos se muestren hasta que las líneas terminen la mudanza. Necesitamos usar algún tiempo de retraso para el encabezado y la navegación también. Para el encabezado, voy a usar 0.7 s. eso probablemente sea navegación. Usemos la misma cantidad de tiempo. Ahora como puede ver, el problema está arreglado. Bien, eso está bien. Pero también hay que encargarte de otras cosas. Tenemos que ocultar las líneas una vez que se mueven hacia el lado derecho. Sigamos adelante y usemos desbordamiento. Oculto. Bien, eso es todo sobre el ícono de Menú. Sigamos adelante y trabajemos en el botón de cierre X. También necesitamos usar transiciones con este elemento. Entonces necesitamos aquí la transición todos los 0.5 s. y luego tenemos que usar la transición con el cambio de clase. Porque tenemos que especificar aquí el tiempo de retardo, 1.3 s. así que si hago clic en el icono, entonces todo va a funcionar perfectamente. Entonces podemos decir que hemos terminado de construir nuestros proyectos. Todo se ve bien. Y lo único que hay que hacer es hacer el proyecto sea receptivo a diferentes tamaños de pantalla. A lo largo de esta parte del tutorial, estaremos usando media queries CSS. Sigamos adelante e inspeccionemos la página y activemos el modo responsive. Entonces como ya configuramos, el proyecto está construido sobre un tamaño de pantalla más grande en el que estoy. Esto coincide con el ancho de 1920 píxeles y una altura de 1080 píxeles Sigamos adelante y encontremos el primer punto de ruptura. Estoy en el tamaño de pantalla en el que necesitamos hacer algunos cambios. Creo que tenemos que trabajar en 1,300 pixeles. Así que vamos a seguir adelante y crear una media query CSS con un ancho máximo de 1,300 píxeles en el tamaño de la pantalla, voy a cambiar todo el diseño de la cuadrícula Así que sigamos adelante y seleccionemos suficiente menú. A continuación, defina columnas de plantilla de cuadrícula. En este caso, voy a crear seis columnas. Así que use la función de repetición y especifique el número de columnas, seis y el tamaño, una unidad fraccionaria Entonces tenemos que cuidar la rosa. También voy a crear seis roles. Entonces usemos la función repeat con valor 6.1 unidad fraccionaria Entonces en este momento el diseño está en mal estado. Eso es obvio. Así que sigamos adelante y arreglemos eso. Necesitamos definir de nuevo los números de línea de cuadrícula para todos los artículos. Y en realidad voy a copiar este código. Entonces vamos a pegar aquí. Y luego comente rápidamente los números de línea. Fuera. Después 18. Proyecto 15 - Navegación CSS: En este video, vamos a estar construyendo un menú de navegación con HTML y CSS. Esto va a poder proyectar, pero podrás aprender sobre algunos efectos de transición geniales hechos por CSS. Entonces creo que el proyecto va a ser interesante. Antes de comenzar a construir el menú, sigamos adelante y describiéndolo. Como pueden ver, tenemos un texto. Síguenos en el centro de la página. Si pongo el cursor sobre, el menú aparecerá con algunas transiciones agradables Tenemos una línea horizontal en el lado derecho del texto, que aumenta de izquierda a derecha. También los elementos del menú aparecen en orden después de algún retraso. Y si pasamos el cursor sobre ellos, entonces obtendremos fondos coloreados con una transición suave En realidad, esta es una lista de redes sociales y cada elemento tiene su propio color de fondo original. Bien, así que eso es todo, lo que vamos a construir. Empecemos. He creado una nueva carpeta en el escritorio en la que he preparado dos archivos diferentes para HTML y CSS. Sigamos adelante y abramos la carpeta en el Código VS. En este momento, el archivo CSS está vacío. En cuanto al HTML, he preparado la estructura básica del documento HTML. Tengo dos enlaces diferentes en el elemento head, uno para las fuentes de Google y el segundo para el archivo CSS. Puede descargar los archivos fuente desde el enlace en la descripción. Sigamos adelante y ejecutemos el proyecto en el navegador. Para eso, voy a usar uno de los paquetes llamados Live Server. Este paquete nos permite ejecutar el proyecto en el navegador y realizar las actualizaciones sin actualizar la página cada vez. Este es un gran paquete, así que recomiendo descargarlo del Extension Manager con estilo y usarlo. Bien, finalmente, coloquemos el editor y el navegador, así y comencemos a construir el marcado HTML Voy a abrir un desarrollo que será el envoltorio del menú. A continuación, necesitamos otro desarrollo con el menú de clases. Este elemento incluirá todos los elementos del menú. Entonces tendremos un texto que nos siga, seguido de la línea. Y luego tendremos cinco elementos diferentes del menú. Entonces abramos un desarrollo con el nombre de la clase. Sigue un inserto, tú el contenido. Síguenos. A continuación, necesitamos otro div para la línea. Después de eso, voy a crear suficiente menú. Entonces, abramos el desarrollo con el menú de navegación de clases e insertemos aquí un par de elementos de navegación. Deberían estar representados por los elementos de enlace. Entonces se abre con el enlace del menú de clases. Entonces el primer elemento va a ser Facebook. Después duplica el enlace cuatro veces y cambia los nombres de las redes sociales. El segundo va a ser Instagram. Entonces tendremos Twitter, LinkedIn. Y el último va a ser YouTube. Bien, así que eso es todo sobre el marcado HTML. Ahora tenemos que empezar a escribir algunos CSS. En primer lugar, voy a crear algunos estilos de reset y comunes para cada elemento. Para seleccionar cada elemento, tenemos que usar un asterisco Vamos a deshacernos del margen predeterminado y el relleno. Voy a ponerlos a cero a ambos . Y luego cambiar la familia de fuentes. Hagámoslo arenas movedizas. Bien, entonces a lo largo del proyecto, voy a usar RAM como unidad de medida. este momento, una rampa equivale a 16 píxeles, porque el tamaño de fuente del HTML es igual a 16 píxeles. Quiero cambiar y convertir una ronda a diez píxeles porque creo que es mucho más conveniente calcular y usar para convertir una rampa a diez píxeles, necesitamos disminuir el tamaño de fuente del HTML y tenemos que hacerlo 62.5% Entonces, como puedes ver, los elementos han cambiado de tamaño y se han vuelto más pequeños. Bien, sigamos adelante y empecemos a trabajar en el envoltorio. En primer lugar, voy a definir la anchura y la altura. Vamos a establecer con el 200 por ciento. En cuanto a la altura, voy a hacer que sea el 100% de la ventana gráfica Por lo tanto, tenemos que usar 100 vh y también cambiar el color de fondo. Vamos a usar aquí color o 262626. Bien. Ahora voy a colocar el menú en el centro de la página. Y para eso, usemos un flexbox. Aquí necesitamos, display flex. Entonces para centrar el menú horizontalmente, vamos a usar justify content center Para el centrado vertical, necesitamos usar align items center ¿Bien? Entonces en este momento el menú se coloca en el centro, pero los elementos no son del todo visibles. Sigamos adelante y arreglemos eso. Voy a seleccionar artículos. Ambos nos siguen y los elementos del menú. Porque necesitamos los estilos similares para ellos. Aumentemos el tamaño de la fuente, hagámoslo a RAM. Después cambia el peso de la fuente. Hazlo 600. También, voy a hacer entonces blanco. Después transforma el texto en mayúsculas. Crea algo de espacio entre letras usando el espaciado entre letras, 0.1 rem. Y finalmente, voy a crear algo de espacio en el lado derecho de los artículos usando margin-right para ratas Así que ahora mismo los artículos se ven mucho mejor. Están visibles y voy a seguir adelante y encargarme del menú. Voy a colocar los artículos uno al lado del otro horizontalmente que quiero usar El flexbox. Nuevamente, necesitamos display flex. Y luego para el centrado vertical, necesitamos alinear los elementos al centro Y finalmente cambiar el tipo de la más basta, hazlo puntero. Bien, eso es todo por los artículos por ahora. Voy a seguir adelante y personalizar la línea. Entonces, sigamos adelante y seleccionemos los desarrollos que tiene la línea de nombre de clase. En primer lugar, definamos la anchura y la altura. Voy a hacer el ancho diez rampas. En cuanto a la altura, hagámosla 0.1 rem. Por último, crear espacio en el lado derecho usando margen derecho? Con valor cinco rondas. Ahora mismo, aquí no pasa nada. La línea no es visible, y voy a mostrarla usando los pseudo elementos after Así que vamos a seleccionar la línea con después. Después, vaciar el contenido. Y también definir la posición haciendo absoluta. Ahora para posicionar la línea de acuerdo a su elemento padre, tenemos que asignar a los desarrollos posición relativa. Después defina la anchura y la altura. Tenemos que hacerlos al cien por cien. Y por último, cambiemos el color de fondo, hazlo blanco. Entonces ahora la línea es visible y ahora es el momento de hacer que el menú funcione. Tenemos que seleccionar no Menú asignado para mostrar flex. A continuación, seleccione el enlace. Deshazte de los estilos predeterminados usando la decoración de texto. Ninguno. A lo mejor se posiciona relativo. Entonces voy a colocar los artículos abajo. Para eso necesitamos top con valor cinco rondas. Por lo que ahora los artículos se posicionan en sus lugares predeterminados. A continuación, tenemos que ocultarlos y mostrarlos al flotar. Entonces, para ocultar los ítems, usemos opacidad cero Después selecciona el menú con hover, seguido del enlace del menú Entonces aquí necesitábamos seleccionar el menú porque tenemos que hacer el hover en el menú Si seleccionamos los textos síguenos, entonces tendríamos algunos temas en el futuro. Porque eventualmente necesitamos pasar el cursor sobre los artículos también para cambiar los colores de fondo Entonces hagamos visibles los artículos y llevémoslos de vuelta a sus posiciones. Por lo tanto, necesitamos aquí el cero superior y la opacidad uno. Ahora los elementos están ocultos por defecto, y si pasamos el cursor sobre el síguenos, entonces aparecerán Pero aquí tenemos el problema. Si coloco el cursor sobre todo el menú, entonces aparecerán los elementos De todas formas. En realidad, no necesitamos eso. Necesitamos mostrar los artículos una vez que coloquemos el cursor sobre el síguenos. Para lograrlo, necesitamos deshabilitar los eventos de puntero para el menú. Es decir, cuando pasamos el cursor sobre el menú, los elementos no deberían aparecer Así que voy a usar una de estas propiedades CSS llamadas eventos puntero. Y voy a configurarlo en ninguno Ahora, si pongo el cursor sobre todo el menú, los elementos no se mostrarán En realidad, este todavía no es el resultado que queremos que obtenga. El siguiente paso es habilitar los eventos de puntero para el menú de nuevo. Pero tenemos que hacer eso en hover. Así que vamos a seleccionar menú con hover y hacer eventos puntero. Y además de eso, necesitamos habilitar los eventos puntero para el síguenos también. De lo contrario, no va a funcionar. Así que vamos a seleccionar elementos div con la clase follow y hacer sus eventos puntero. Entonces ahora cuando pase el cursor sobre el síguenos, los artículos se mostrarán Si paso el mouse sobre ellos, entonces seguirán mostrándose. Pero si paso el mouse sobre los elementos mientras están ocultos, no se mostrarán porque en este momento la propiedad pointer events está deshabilitada. Así que definitivamente necesitamos pasar el cursor sobre los seguidores. Ojalá tenga sentido para ti. Ahora, una vez que logramos mostrar los artículos, es el momento de encargarnos de los efectos de transición. También, tenemos que hacer que la línea funcione. Entonces voy a usar la transición para los artículos pero con un tiempo de retraso diferente. adelante y seleccionemos el elemento por separado usando la enésima pseudo-clase secundaria Entonces necesitamos el enlace del menú seguido de la enésima función hijo. Tenemos que especificar aquí el número de los ítems. Tenemos que partir de uno y pasar por cinco. Porque en general tenemos cinco artículos. Ahora necesitamos hacer la transición con los siguientes valores. Necesitamos primero top con una duración de 0.5 s y con el tiempo de retardo 0.1 s. A continuación necesitamos opacidad 0.5 s. Y nuevamente con el tiempo de retardo 0.1 s. Duplicemos este código cuatro veces y luego cambiemos los números de los ítems y también la cantidad del tiempo de retardo Para el segundo ítem, necesitamos 0.2 s. me refiero al tiempo de demora. Para el siguiente necesitamos 0.3 s, luego 0.4 s. Finalmente, para el último ítem, necesitamos 0.5 s. Así que si coloco el cursor sobre el texto , los ítems aparecerán muy bien con algún tiempo de retraso ¿Bien? Ahora voy a hacer que esta línea funcione. Por defecto. Debería estar oculto. Y cuando pasamos el cursor sobre el texto, tiene que mostrarse de izquierda a derecha Voy a hacer que su ancho sea cero por defecto. Después voy a seleccionar el menú con hover, seguido de la línea con después de pseudo elementos Y tenemos que hacer que el ancho sea cien por ciento. Por último, utilicemos de nuevo la transición. Necesitamos aquí con, con una duración de 0.5 s. bien, así como pueden ver, la línea está funcionando bien y en realidad casi terminamos con nuestro proyecto Lo último que voy a hacer es cambiar colores de fondo cuando pasemos el cursor sobre los artículos adelante y seleccionemos de nuevo los elementos por separado usando enésima pseudo-clase secundaria Pero ahora con más. Entonces necesitamos enlace de menú. Entonces necesitamos usar nth-child uno. Después le siguió el hover. El primer elemento es Facebook. Entonces cambiemos el color de fondo. Usa aquí el color original de Facebook. Es 35998. Después duplica este código cuatro veces y cambia los números y los colores. El segundo va a ser tres F, siete a nueve. El siguiente debería ser 55 ACE. Entonces tenemos 0077, B5. Por último, necesitamos cd a 01. Y después de eso, agreguemos las transiciones a los ítems. Voy a usar aquí, el multi más basto. Después inserte el color de fondo, el punto de duración o el segundo. Entonces, como puede ver, cuando pasamos el cursor sobre el estado del elemento, cambiamos el color de fondo suavemente Lo único que no me gusta aquí es la forma de los fondos. Voy a hacerlo ligeramente redondeado y además quiero crear algo de espacio dentro de ellos. Entonces necesitamos relleno. Valoramos 0.5 rem y border-radius con el valor 0.5 gram también Bien, ahora todo funciona perfección y en realidad ya terminamos con nuestro proyecto 19. Proyecto 16 - Menú desplegable: En este video, vamos a construir un menú desplegable con HTML, CSS y JavaScript. El desplegable tendrá algunos efectos de hover geniales. El proyecto va a ser pequeño, pero aprenderás sobre cómo crear algunos efectos agradables usando HTML, CSS y JavaScript. Bien, sigamos adelante y echemos un vistazo a los proyectos. Tenemos aquí, una imagen de fondo a pantalla completa con un encabezado en el centro También puedes ver tres elementos de navegación diferentes en la parte superior de la página. Si pasamos el cursor sobre ellos, se mostrará un menú desplegable con algunos buenos efectos de transición Bien, entonces eso es todo, lo que vamos a construir. He creado una nueva carpeta en el escritorio llamada Menú desplegable. Sigamos adelante y abramos esta carpeta en código VS. Como pueden ver, tengo aquí un par de archivos diferentes. Me refiero a archivos para HTML, CSS y JavaScript. Y también he preparado el archivo de texto en que guardo cierta confianza para los medios Dropdown Además de eso tengo una carpeta para la imagen de fondo. Bien, sigamos adelante y ejecutemos el proyecto en el navegador Para eso, voy a usar un paquete llamado Live Server, que nos permite abrir un proyecto en el navegador y hacer actualizaciones sin actualizar la página cada vez. Para que puedas descargar e instalar este paquete. Y también se pueden descargar los archivos fuente de inicio desde el enlace en la descripción. Bien, por último, coloquemos el editor en el navegador. Así. Y empieza a crear el marcado HTML. Ya tengo preparado el documento HTML básico aquí. Tengo dos eslabones diferentes y tenía elementos. Uno para la fuente de Google y el segundo para el archivo CSS. Además, tengo una etiqueta de script para el archivo JavaScript abajo. Sigamos adelante y abramos los desarrollos, que serán el contenedor de todo el contenido. A continuación, voy a abrir un elemento de sección con el envoltorio Class. Esta sección constará de dos partes distintas. El primero va a ser una pancarta con un encabezado. En cuanto a la segunda, debería ser la Navegación. Así que vamos a insertar aquí en el desarrollo con el nombre de clase binario. Después dentro del desarrollo, vamos a abrir el encabezado H1 con el texto del banner de la clase con el menú desplegable de contenidos. Bien, Siguiente voy a abrir unos elementos nulos, pero el Nombre de Clase Navbar Por lo que tendremos uno principal menos con tres elementos de lista diferentes dentro de la barra de navegación Y cada uno de ellos tendrá su propio Menú Desplegable. Vamos a abrir los elementos URL con un nombre de clase. Ahora por lo menos. A continuación necesitamos el elemento LI, que debería tener elemento de navegación de clase. Será seguido por el enlace con el link de navegación de clase y poner el texto desarrollo web. Entonces como dijimos, cada elemento de Navegación debe tener su propio Menú desplegable. Por lo tanto, vamos a insertar aquí una nueva lista donde se encuentra el desplegable de nombre de clase En el primer menú desplegable, tendremos seis elementos de lista diferentes Abramos el primero. El elemento desplegable de clase que inserta aquí el enlace con el nombre de la clase Enlace desplegable. Entonces insertaremos aquí algunos nombres tecnológicos con las descripciones. El primero va a ser HTML. Después abre el elemento P. Y ahora voy a agarrar la descripción del archivo de texto. Necesitamos aquí, la descripción del HTML. Vamos a pegarlo aquí. Como dije, en general, vamos a tener seis ítems. Así que vamos a duplicar mentira en cinco veces. El segundo va a ser CSS. Tomemos su descripción del archivo de texto. El siguiente debería ser reaccionar. Entonces tendremos nodo seguido por el expreso. El último va a ser mongodb Bien, veamos sobre el primer Duplicemos todo el primer artículo de la novela con su desplegable dos veces. El segundo ítem va a ser Front-end. En este caso, en general, contaremos con cuatro ítems diferentes. Voy a dejar aquí HTML y CSS que duplicar CSS. E inserta aquí JavaScript con su descripción. Voy a salir de aquí, reaccionar y además me deshago del resto de los átomos. Bien, eso es todo sobre el segundo ítem. El tercer ítem va a ser back-end. Y voy a dejar aquí solo los últimos tres artículos. ¿Bien? Entonces lo último que hay que hacer en el archivo HTML es crear desarrollo, el cual será utilizado para el fondo del Menú Desplegable Vamos a insertarlo justo encima la etiqueta nav de cierre y le asignamos el nombre de la clase, Dropdown PG Bien, así que eso es todo sobre el HTML de los elementos se crean y preparan A continuación tenemos que empezar a escribir algunos CSS. En primer lugar, voy a crear algunos estilos de reset para todos los elementos. Para seleccionarlos, necesitamos usar un asterisco Vamos a deshacernos del margen predeterminado y el relleno. Pongamos a ambos a cero. Además, voy a eliminar el subrayado predeterminado las vistas y las viñetas predeterminadas de los elementos de la lista para que necesitemos usar decoración de texto con el valor none y también list style Por último, cambie la familia de fuentes. A lo largo de este proyecto, vamos a usar font llamado EB, Garamond, font group Bien, así que vamos a ver ahora el contenido se ve diferente A lo largo de este proyecto, vamos a usar RAM como unidad de medida. Por defecto, 1 g equivale a 16 píxeles porque el tamaño de fuente del HTML es igual a 16 píxeles. Quiero convertir una RAM en diez píxeles. Y para eso, necesitamos disminuir el tamaño de fuente del HTML. Y tenemos que hacerlo 62.5 por ciento. Bien, sigamos adelante y empecemos a trabajar en el envoltorio. Voy a expandir el envoltorio a toda la página. Para eso, pongamos su ancho en cien por ciento. En cuanto a la altura, voy a hacer que sea el 100 por ciento de la ventana gráfica Por lo tanto, necesitamos aquí 100 pH. Después de eso, vamos a establecer la imagen como fondo de pantalla completa En primer lugar, usemos degradado lineal con colores blancos, pero con diferente opacidad El primer caso, voy a usar punto de opacidad para. cuanto al segundo caso, usemos opacidad punto a. Después de eso. Tenemos que especificar la URL de la imagen. Como ustedes saben, tenemos carpeta llamada imagenes en la que almaceno imagen llamada BG dot JPG. A continuación necesitamos Centro y no repetir. Y finalmente, necesitamos definir el tamaño de fondo con la cobertura de valor. Bien, así como puedes ver, establecemos la imagen de pantalla completa como fondo Y a continuación voy a encargarme del panel. Entonces sigamos adelante y seleccionémoslo. Voy a fijar su ancho 200 por ciento. También. Tenemos que posicionarlo. Y para eso, hagamos su posición absoluta. A continuación, voy a moverlo hacia abajo con la posición superior. Vamos a establecerlo en 35%. Bien, entonces se cambia la posición de la pancarta y ahora tenemos que trabajar en el propio rumbo. Voy a colocarlo en el centro de la página, y además voy a hacer que se vea mejor. Entonces, sigamos adelante y seleccionemos el texto del banner. Colóquelo en el centro usando text-align center. Después aumentar su tamaño de fuente, convertirlo en siete RAM. También cambia el color voy a hacerlo blanco. Después de eso, vamos a transformar el texto en mayúsculas usando la propiedad de transformación de texto Además, quiero crear algo de espacio entre las letras usando el espaciado entre letras con el valor punto a rampa. Por último, voy a usar algún efecto de sombra. Vamos a insertarte los valores 0.2, 0.5 RAM. Y como el color, usemos 888. Bien, así que en realidad con la primera parte, ya terminamos. Estoy en la pancarta. Ahora tenemos que encargarnos de la Navegación. Sigamos adelante y seleccionemos la lista principal, que tiene la clase. No menos importante. Voy a colocar los elementos de la lista horizontalmente en una fila. Y para eso, usemos flexbox. Necesitamos display flex. Y luego con el fin de centrarlos horizontalmente, vamos a utilizar justificar el centro de contenidos. Siguiente Voy a trabajar en el elemento LI. Así que vamos a seleccionarlo con el elemento de navegación de clase. En primer lugar, vamos a crear algo de espacio en la parte superior de los elementos usando margen superior con valor a carneros A continuación, voy a colocar el texto en el centro usando el texto align center. Y finalmente, definamos el ancho. Voy a establecerlo a 26 de ancho de ventana. Significa que establecemos el ancho como 26 por ciento de la ventana gráfica Por último, vamos a personalizar los enlaces, seleccionarlos, aumentar el tamaño de la fuente, hacerlo a los carneros Además, voy a cambiar el peso de la fuente. Vamos a establecerlo en 600. Después transforma el texto en mayúsculas. Cambia el color. En este caso, voy a usar color a cuatro o cinco F9 FBI y crear algún espacio entre letras Vamos a establecer el espaciado lateral en 0.1 RAM. Y por último, voy a usar shadow con los valores cero puntos para ram 0.5 RM. Y el color sea 888. Bien, así que con los elementos de la lista principal ya terminamos. Ahora hay que encargarte de los desplegables. Sigamos adelante y seleccionarlos está en clase Dropdown. Vamos a crear algo de espacio en la parte superior usando margen superior una RAM. Y también voy a cambiar el color de fondo para la lista por un tiempo. Hagámoslo blanco. ¿Correcto? Siguiente Voy a seguir adelante y personalizar el elemento desplegable. Así que vamos a seleccionarlo. este momento el texto se coloca en el centro, pero necesitamos colocarlo en el lado izquierdo. Entonces usemos textos alineados con el valor de la izquierda. También voy a crear algo de espacio usando relleno. Vamos a ponerla en dos rondas. En la parte superior de dos corridas en el lado derecho, cero en la parte inferior y 2 g en el lado izquierdo. Derecha. En realidad también necesitamos la misma cantidad de espacio al final de la lista. Es decir, después del último ítem. Para ello, usemos una pseudo-clase llamada last-child y seleccionemos el Necesitamos elemento desplegable, seguido de la última pseudo-clase secundaria Con el fin de crear algo de espacio en la parte inferior, vamos a usar padding-bottom el valor de dos rampas. Bien. Entonces eso es todo sobre los elementos LI. Sigamos adelante y personalicemos los enlaces. Seleccione el enlace desplegable. Voy a cambiar el tamaño de fuente, que sea 1.6 RAM. También haga que el font-weight sea más audaz. Transforma texto en mayúsculas. Y finalmente cambiar el color. Voy a usar de nuevo el color 245, F9. Estar bien con los enlaces, ya terminamos. Por último, voy a comenzar las descripciones. Están representados por los elementos P. Así que vamos a seleccionarlos. Voy a aumentar el tamaño de la fuente. Hagámoslo 1.6 redondo y cambiemos el color. Usemos aquí F5, F6, 061, Bien, así que ahora mismo, los desplegables se ven mucho mejor desplegables Y en realidad casi terminamos con el estilo. Como puedes ver, el encabezado, Menú desplegable se coloca en la parte superior de los menús Quiero colocarlo detrás de ellos. Y para eso voy a usar la propiedad z-index. En primer lugar, definamos la posición para el Dropdown porque de lo contrario el índice no funcionará Hagamos la posición relativa y luego usemos el valor del índice. Digamos 100. Bien, así que consideremos que el encabezado se coloca detrás de los menús Y ahora voy a crear un efecto hover. Vamos a ocultar los menús por defecto y mostrarlos al pasar el mouse Entonces para ocultarlos, usemos opacidad cero y visibilidad oculta. A continuación, seleccione el elemento de navegación con hover, seguido del menú desplegable Entonces, para poder mostrar la especificación del menú, necesitamos opacidad uno y visibilidad visible. Entonces ahora si pongo el cursor sobre el ítem que mostrarán los menús Pero en realidad tenemos aquí un pequeño problema. No necesitamos pasar el cursor sobre el elemento en sí porque si colocamos el cursor hacia abajo, los menús se mostrarán Entonces para arreglar eso, tenemos que establecer la altura a cero. Por defecto. Tenemos que hacerlo automático al flotar Entonces ahora el problema está arreglado. Por último, agreguemos aquí alguna transición con valores todos y 0.1 s. ¿Bien? Por lo que este es un simple desplegable estándar sin ningún efecto adicional Echemos un vistazo una vez más a la versión terminada de nuestros proyectos. Cuando pasamos el cursor sobre los elementos el fondo aparece desde el lugar diferente Para ser más precisos desde el lugar donde nos cercamos la última vez Además de eso, este fondo es un elemento diferente y no solo el color de fondo. Como recuerdas, creamos el desarrollo con un nombre de clase, Dropdown BG en HTML Así que sigamos adelante y seleccionemos estos elementos y definamos su anchura y altura. Voy a establecer el ancho a 40 corridas. En cuanto a la altura, voy a hacerla 60 g. En realidad, definimos esas propiedades y valores solo temporalmente. Eventualmente, los configuraremos desde el JavaScript. Ahora, para que el fondo sea visible, voy a definir el color de fondo. Quiero que el fondo sea ligeramente transparente. Entonces usemos aquí el valor RGBA 243, nuevamente, 243243, con la Y en realidad deshazte del fondo blanco del desplegable. Bien, por lo que se considera antecedentes es factible. Hagámoslo ligeramente redondeado usando border-radius con el valor de 0.3 ran Y también crea algunos efectos de sombra usando box shadow con el valor 0.5 RAM, una RAM, y el color 757575 A continuación, voy a crear una pequeña flecha. Me refiero a la forma literal, que se ve aquí. Para eso, usemos uno de estos pseudo elementos llamados antes Seleccione Desplegable VG con antes de pseudo elementos. En primer lugar, voy a vaciar el contenido. Entonces necesitamos hacer que su posición absoluta para posicionarla de la manera correcta. Y además de eso, necesitamos definir la posición para su elemento padre. Hagámoslo absoluto también. Después de eso, voy a dar la forma para estar ante pseudo elementos Voy a hacer eso usando un par de propiedades fronterizas. Voy a empezar con frontera izquierda. Vamos a asignarle los valores una RAM, sólido y el color transparente. Entonces voy a duplicarlo dos veces. El segundo inmueble va a ser pobre. El derecho con los mismos valores que para el tercero, va a ser borde inferior como el color. Vamos a usar rojo Bien, entonces la flecha es factible y ahora tenemos que cuidar de su posición Quiero colocarlo perfectamente en el centro del fondo. Y también se debe colocar en la parte superior de la misma. Entonces voy a hacer que sea la primera posición cero. También, necesitamos que nos quede al 50 por ciento. Además de eso, tenemos que usar Transform. Con la función de traducir. Tenemos que pasar aquí los valores -50 por ciento y luego -100% Bien, Lo último que tuvo que hacer es cambiar el color. Usemos aquí el mismo color claro en lugar del rojo. Vamos a copiarlo y pegarlo aquí. Como dije, estábamos fijando el ancho y la altura temporalmente, y ahora me voy a deshacer de ellos. Y también tenemos que ocultar el fondo por defecto. Por lo tanto, necesitamos aquí la opacidad cero y la visibilidad oculta. Bien, así que con el CSS, ya casi terminamos. Ahora es el momento de escribir algo de JavaScript. Vayamos al archivo script.js. En primer lugar, voy a crear una variable en la que almacenaremos un elemento DIV con la clase Dropdown PG Así que crea nueva variable, llámala Dropdown PG. A continuación, seleccione el elemento utilizando el método selector de consultas. Necesitamos especificar aquí el nombre de la clase, que va a ser Dropdown BG. Bien, entonces ahora necesitamos adjuntar a cada elemento de navegación un mouse sobre el manejador de eventos Para eso, necesitamos seleccionar todos los elementos y recorrerlos. Así que sigamos adelante y seleccionemos los elementos de navegación usando el selector de consultas, todo método. Necesitamos especificar aquí el elemento Nombre de clase ahora, en realidad selector de consulta todos los retornos de método y objeto similar a matriz llamado lista de nodos Y tenemos que transformarlo en una matriz. Para eso, voy a usar array dot from method. Después de eso, usemos uno de los métodos de ayuda de matriz llamado para cada uno. Nos permite ejecutar la función para cada elemento del array por separado. Necesitamos pasar aquí una función de flecha que tome el parámetro que va a ser el elemento actual durante el ciclo a través de la matriz Ahora tenemos que adjuntar al ítem mouse sobre controlador de eventos Entonces necesitamos tu propio mouse sobre. En realidad, el evento del mouse sobre es similar a hover en CSS. Entonces en hover tenemos que hacer visible el fondo. Por lo tanto, tenemos que insertarte Dropdown PG puntos estilo opacidad de punto igual a uno Entonces voy a duplicar esta línea de código. Necesitamos aquí. Visibilidad. Devaluamos factible este momento, el fondo no es visible porque no tiene la anchura y la altura. Como decíamos, vamos a definir ancho y alto a partir de JavaScript. Entonces sigamos adelante y hagamos eso. Defina un ancho para el desplegable BG. Quiero decir, necesitamos desplegable PG estilo punto ancho de punto. Así que vamos a hacer que el ancho del fondo igual al ancho del propio Menú desplegable Me refiero al desplegable que debería mostrarse al flotar. Para entonces voy a usar uno de los métodos JavaScript llamados get computed style. Este método nos da todas las propiedades CSS calculadas reales y los valores del elemento especificado. Entonces usemos este método. Dentro del paréntesis. Tenemos que especificar que el elemento va a ser un Dropdown. Y con el fin de llegar al elemento de dos dimensiones, vamos a hacer una pausa aquí, elemento punto últimos elementos hijo Porque si miramos el archivo HTML, encontraremos que Dropdown es el último elemento hijo de la cosa ahora, ¿verdad? Bien, Finalmente, tenemos que elegir con propiedad. A continuación, necesitamos exactamente lo mismo para la altura también. Así que vamos a duplicar esta línea de código y cambiar el ancho a alto. Entonces, si coloco el cursor sobre los artículos, entonces se mostrará el fondo Éste, cambió su anchura y altura dependiendo del artículo sobre el que estemos rondando Pero el problema aquí es que los antecedentes tienen una posición equivocada. Entonces tenemos que encargarnos de eso. Antes de eso, agreguemos una transición al fondo, necesitamos CSS asignado a él, todos los valores terminan 0.3 s. Bien, ahora tenemos un efecto de transición suave y es momento de cuidar la posición del fondo Voy a definirlo desde el JavaScript dinámicamente. Primero definamos la posición superior. Usa Dropdown, be G dot style dot top. Ahora voy a usar plantillas ES6, cadenas. Vamos a abrir backticks. Entonces necesitamos el signo de dólar con las llaves rizadas. Así que tenemos que establecer la posición superior igual a la parte superior de desplazamiento del desplegable. En realidad offset top property devuelve la posición superior relativa a la parte superior del elemento padre. Y nos da el valor en píxeles. Entonces necesitamos insertar aquí item.name, last elements, child Debido a que necesitamos tener acceso al Dropdown, entonces debería ser seguido por la parte superior offset Después de eso, tenemos que especificar Px porque necesitamos píxeles. En realidad necesitamos exactamente lo mismo para la posición izquierda también. Así que vamos a duplicar esta línea de código y cambiar de arriba a la izquierda. Ahora bien, si coloco el cursor sobre los elementos ese fondo se mostrará en las posiciones correctas Entonces todo funciona bien excepto la única cosa. Si coloco el mouse fuera del ítem, entonces el contenido del menú desplegable se ocultará El propio fondo mantendrá este plano. Así que tenemos que ocultarlo en el evento mouse out. Entonces necesitamos item.name en mouse out. Entonces vamos a agarrar esas dos líneas de aquí, pegarlas y cambiar los valores. Para la opacidad necesitamos cero. En cuanto a la visibilidad, se debe calentar. ¿Bien? Ahora el problema está arreglado. Todo funciona bien. Pero en realidad tenemos aquí un pequeño problema. Necesitamos un poco de tiempo de retraso hasta que se muestren los elementos desplegables Y también los voy a exhibir de derecha a izquierda. Para ello, usemos Transform con la función translate. Me refiero a traducir según el eje X como valor. Insertemos aquí el diez por ciento. Entonces en hover tenemos que hacer cero el valor de la función Translate X Por último, usemos aquí la transición con algún tiempo de retraso. Tenemos que asignarle todo que la duración 0.1 s y el tiempo de retardo 0.2 s. bien, así que ahora todo funciona perfectamente y de hecho raro hecho con este pequeño proyecto. Espero que haya sido interesante porque usamos aquí algunas técnicas diferentes y ojalá aprendas algunas cosas nuevas. 20. Proyecto 17 - Navegación: En este video, vamos a estar construyendo un menú creativo ahora superior con HTML, CSS y JavaScript. Bien, sigamos adelante y describamos el proyecto. Tenemos un botón en el centro de la página con tres puntos. Si hago clic en él, entonces esos puntos se transformarán en x con alguna transición suave. Y también navbar, mostraremos con un par de elementos de navegación Si hago clic en la X entonces el menú se cerrará de nuevo con algunos efectos de transición. Y también vamos a recuperar tres puntos en vez de x. Así que eso es todo. Este proyecto va a ser pequeño, pero espero que sea interesante. Entonces comencemos. He creado una nueva carpeta en el escritorio en la que tengo tres archivos diferentes para HTML, CSS y JavaScript. Sigamos adelante y abramos este problema en código VS. En realidad los archivos CSS y JavaScript están vacíos en este momento. En cuanto al archivo index.html, he preparado el documento HTML básico. Tengo dos enlaces en los elementos principales, uno para iconos Font Awesome y otro para CSS. También tengo aquí la etiqueta script para el archivo JavaScript. Puedes seguir adelante y descargar los archivos de inicio desde el enlace en la descripción. Bien, sigamos adelante y ejecutemos el archivo en el navegador. Para eso, voy a usar un paquete llamado Live Server. De hecho, nos permite ejecutar el proyecto en vivo en el navegador y realizar actualizaciones sin actualizar la página cada vez para que puedas instalarlo y usarlo. Por último, coloquemos el editor y el navegador uno al lado del otro y comencemos a crear el marcado HTML Voy a abrir un elemento div que será el contenedor. A continuación necesitamos elementos de navegación HTML5. Vamos a asignarle un nombre de clase, navbar. Envolverá toda la barra de navegación, me refiero al botón y a los elementos de navegación A continuación voy a crear un botón. Estará representado por un desarrollo. Vamos a asignarle la clase BTN. Entonces tendremos tres puntos. Vamos a crearlos usando desarrollos. Vamos a asignarle a diferentes clases. El primero va a ser cuatro puntos de estilo comunes. Y el segundo va a ser para los estilos individuales punto uno. Después duplique esta línea de código y cambie los nombres de las clases. Necesitamos. Punto dos, puntos tres. ¿Bien? En este momento el botón no es visible porque los desarrollos están vacíos y no tenemos ningún estilo. A continuación, voy a crear el propio menú. Vamos a abrir otro desarrollo con nombre de clase, Nav Menu. Así que en general tendremos cuatro artículos diferentes. Cada uno de ellos se creará con el enlace y los iconos Font Awesome. Así que vamos a abrir elemento de enlace con el nombre de la clase nav menu link. Después inserta tus elementos oculares con clases. Fas, tablero FA, entero. Luego duplique el elemento de enlace tres veces y cambie los nombres de las clases. Para el segundo necesitamos FAB, FA dash Blogger. El siguiente va a ser FAS dash, project dash diagram. Y para el último, usemos FAS, FA, dash actors, car. Bien, así que aquí tenemos los cuatro iconos y en realidad con HTML, ya terminamos Todos los elementos son creados y preparados. Sigamos adelante y abramos el archivo CSS y comencemos a escribir algunos CSS. En primer lugar, voy a crear algunos estilos de reset. Vamos a deshacernos del margen predeterminado y el relleno para cada elemento. Para poder seleccionar todos los elementos necesitamos usar asteriscos y luego establecer margin y padding ambos a cero. A lo largo de este proyecto voy a utilizar una RAM como unidad de medida. Por defecto, un rem equivale a 16 píxeles porque el tamaño de fuente del elemento HTML es igual a 16 píxeles. Voy a convertir una RAM en diez píxeles porque creo que será más cómoda y conveniente. Entonces para hacer eso, necesitamos disminuir el tamaño de fuente de HTML. Y tenemos que hacerlo 62.5 por ciento. Entonces, como puedes ver, los íconos se hicieron más pequeños. Bien, sigamos adelante y cuidemos el contenedor. Voy a expandirlo a toda la página. Así que vamos a seguir adelante y seleccionarlo Establece su ancho como 100%. En cuanto a la altura, voy a hacer que sea el 100% de la ventana gráfica Por lo tanto, necesitamos aquí 100 vh. Después cambia el color de fondo, hazlo gris claro usando E. A continuación, voy a enviar a los iconos para eso. Voy a usar flexbox. Necesitamos hacer contenedor flexible de desarrollo usando display flex. Entonces para centrar los elementos horizontalmente, tenemos que usar justify-content En cuanto al centrado vertical, necesitamos un centro de líneas de artículos, ¿verdad? Eso es todo sobre el contenedor. A continuación, voy a encargarme del menú en sí. Sigamos adelante y seleccionemos el menú de navegación. En primer lugar, definamos cuales hacen que sea 46 RAM. En cuanto a la altura, la voy a poner en 3.5 rem. Luego cambia el color de fondo. En este caso, voy a usar el color 2578. Entonces voy a crear algo de espacio dentro del menú usando padding. Vamos a colocarlo en dos REM, superior e inferior y tres rampas en lados izquierdo y derecho. Además, voy a hacer redondeado el menú. Para ello, tenemos que usar border-radius con valor five rem Por último, vamos a crear algún efecto de sombra usando box-shadow, que tendrá los siguientes valores Necesitamos 01 rem, tres rampas. En cuanto al color, voy a usar el valor RGBA 37172120, y Bien, el fondo está listo para los iconos. A continuación, voy a personalizar los iconos. Así que vamos a seleccionarlos. Necesitamos enlace de menú de navegación, seguido de la isla. Aumentemos el tamaño de la fuente, que sea 4M. En cuanto al color, voy a hacerlos blancos. Entonces ahora mismo puedo lucir mucho mejor y tenemos que encargarnos de sus posiciones. Necesitamos definir sus posiciones individualmente, pero antes de eso necesitamos agregarles algunos estilos comunes. Entonces, seleccionemos el elemento link y hagamos su posición absoluta. Voy a posicionar, puedo decir según la barra de navegación. Y para eso tenemos que hacer que la posición del nanoporo sea relativa Así que vamos a seguir adelante y seleccionarlo y asignarle colocado relativo. Después de eso, voy a centrar artículos particularmente para eso. Fijemos la posición superior al 50 por ciento. Y también necesitamos usar Transformar con la función Translate. Quiero decir traducir y con el valor -50 por ciento. Y ahora necesitamos definir las posiciones izquierda y derecha para todos los ítems individualmente. Para eso, voy a usar una de estas pseudo clases CSS Se llama f niño. Seleccionemos el primer elemento. Para eso. que seleccionar elementos de enlace de lo que debería ser seguido por la enésima pseudo-clase secundaria En realidad es la función. Y dentro del paréntesis tenemos que especificar el número. En este caso, necesitamos primero ítem, así que tenemos que pasar aquí uno. Hagamos la posición izquierda del primer ítem para RAM. Entonces voy a duplicar este código tres veces porque tenemos cuatro iconos. Para el segundo icono necesitamos posición izquierda con el valor 13 rentas. Entonces definamos la posición para el tercer ítem. En este caso, necesitamos usar la propiedad correcta con el valor 13 rampas cuanto al cuarto ítem, necesitamos posición correcta con valor para n. ¿Bien? Así que todos los artículos están posicionados. Como puedes ver, tenemos algo de espacio en el centro del menú, y en realidad pertenece al botón. Entonces sigamos adelante y empecemos a trabajar en ello. Voy a seleccionar desarrollo que tiene nombre de clase punto btn Entonces sigamos adelante y hagámoslo factible para eso. Voy a establecer ancho y alto, ambos a diez habitaciones. Y también cambiar el color de fondo. Hazlo a cinco ac 78. Entonces el elemento div es visible, pero ahora mismo ha estropeado todo el diseño Entonces tenemos que encargarnos de eso. Voy a colocarlo en el centro del menú. Entonces definamos esta posición como absoluta Entonces, para centrarla perfectamente, voy a usar las siguientes propiedades y valores. Tenemos que establecer posiciones de arriba y de izquierda, ambas al 50 por ciento. Y también necesitamos usar Transformar con la función translate. Y tenemos que pasar tu -50 por ciento dos veces. Entonces como puedes ver ahora, se coloca en el centro. A continuación, voy a hacerlo redondeado. Y para eso, como saben, tuvimos que usar border-radius con un valor del 50 por ciento También crea algún efecto de sombra. Usa box-shadow con los valores 01 RAM. Tres rems. Eso probablemente sea color. Usemos los valores RGBA, 13, 83, 57, y la opacidad 0.4 Por último, cambiemos el tipo del cursor, hagamos que apunte al botón que se prepara. Ahora voy a encargarme de los puntos. Sigamos adelante y seleccionarlos usando un nombre de clase común, punto. Y asignarle ancho y alto. Voy a ponerlos a ambos en una RAM. También cambia el color de fondo, hazlo blanco, y luego haz puntos a su alrededor usando border-radius con valor 50 por ciento Entonces como puedes ver ahora mismo, los puntos terminaron fuera del botón. Tenemos que encargarnos de sus posiciones. Voy a centrarlos usando flexbox. Necesitamos display flex. Entonces voy a usar justificar contenidos con el valor espaciado uniformemente. En realidad espaciados uniformemente nos permite crear un espacio uniforme entre los elementos flexibles. Y finalmente, para el centrado vertical, voy a usar align items center Bien. Entonces como puedes ver, todo está listo para que la barra de navegación funcione Otra vez. Una vez que hago clic en el botón, esos puntos, quiero decir primero y el tercero deben transformarse en x cuanto al segundo, debería esconderse. Y también el menú debe ocultarse y mostrarse al hacer clic. Entonces primero que nada, voy a transformar puntos en x, y luego haremos que funcione usando JavaScript. Sigamos adelante y seleccionemos el primero.tiene puntos de clase uno Hagamos su ancho 0.8 RAM. En cuanto a la altura, vamos a hacerla correr siete. Y también usar border-radius, ¿qué valor? Una renta. Después de eso, voy a duplicar este código y voy a cambiar el nombre de la clase. Necesitamos aquí punto tres. Eso es todo sobre el tercer punto. A continuación, tenemos que encargarnos del segundo. Como decíamos, necesitamos ocultar este segundo punto. Entonces sigamos adelante y seleccionémoslo. Y asignarle opacidad cero. Bien, ahora voy a hacer la x usando esas dos líneas Para eso, voy a usar las funciones rotar y traducir. En primer lugar, sigamos adelante y rotemos las líneas 45 grados. Usa Transformar. Con la función de rotación. En caso de los primeros puntos, necesitamos usar 45 grados, pero con signo menos. Entonces copiemos esta línea de código. Pégalo para el tercer punto y se deshace del signo menos. Entonces, como puede ver, las líneas se rotan, pero aquí no tenemos ninguna x así que también tenemos que usar la función Translate para solucionar ese problema. función Translate realmente mueve el elemento de acuerdo con el eje x o y Quiero decir según las direcciones horizontal y vertical. Usemos traducir con valores a RAM. Y otra vez para rentar. Después copiarlo y pegarlo para la tercera línea. En el caso de la tercera línea, tenemos que hacer el primer valor de negativo. ¿Bien? Entonces ahora mismo tenemos una x perfecta y ahora es el momento de que funcione. Entonces voy a crear una nueva clase y CSS. Después usando el método toggle, agregaremos y eliminaremos esta clase de los puntos usando JavaScript. Entonces usemos un multinúcleo y agreguemos a los tres puntos, cluster llamado change A continuación, abra el archivo JavaScript y seleccione el botón. Entonces voy a usar Método llamado selector de consultas. Tenemos que especificar aquí el nombre de la clase. Es puntos btn. Luego vamos a adjuntar a un oyente de eventos con un evento click, seguido de la función de flecha Entonces necesitamos agregar y eliminar el cambio de clase del contenedor, que es el envoltorio de todo el contenido. Así que vamos a seguir adelante y seleccionarlo usando de nuevo el método QuerySelector Insertemos aquí el contenedor ClassName. Ahora necesitamos usar la propiedad class list, que en realidad almacena todas las clases que tiene el contenedor. Por último, necesitamos usar el método toggle, que en general eds clase al elemento si no existe, y eliminarlo. Si existe. ¿Verdad? Ahora si hago clic en el icono, entonces los puntos se transformarán en x y viceversa. Esta transformación ocurre sin ninguna transición. Así que sigamos adelante y sumemos a la transición de puntos con los valores todos terminan 0.3 s, que es la duración. Ahora si hago clic, obtendremos un bonito efecto de transición suave. ¿Bien? Lo último que hay que hacer es ocultar y mostrar el propio menú. Para eso, antes que nada, haz x con cero. Entonces voy a esconder los artículos. Para eso. Usemos opacidad cero y visibilidad oculta. Ahora, de nuevo, necesitamos usar el cambio de clase porque queremos ocultar y mostrar los elementos cuando hacemos clic en el botón. Así que sigamos adelante y seleccionemos cambiar con Nav Menu y establecer con 246 Rams Y también usa transición con ancho de valor. Y con la duración 0.3 s. luego seleccione de nuevo cambiar con un enlace. Ahora necesitamos hacer factible el artículo. Para ello, tenemos que establecer la opacidad a uno y la visibilidad a visible Y también usa transición. Con opacidad 0.3 s. Bien, ya casi terminamos Lo único que tuvo que hacer es agregar algo de retraso. Cuando mostramos el icono. Para eso, necesitamos volver a usar la transición, pero con el cambio de clase. Entonces necesitamos aquí Todo que la duración 0.3 s, y luego la cantidad de retraso, 0.3 s también. Bien, ahora todo funciona a la perfección y en realidad ya terminamos con este proyecto de píxeles 21. Proyecto 18 - Navar redondeado: En este video, vamos a crear un menú de barra de navegación con HTML, CSS y un poco de JavaScript. Este tipo de navbar es un poco diferente porque creo que es más moderno y creativo que los otros números estándar Sigamos adelante y describamos el proyecto. Tenemos un fondo negro oscuro con el icono en el centro. Si hago clic en él, entonces los elementos de navegación se mostrarán con algún buen efecto de rotación. Bien, sigamos adelante y empecemos a construirlo. He creado la carpeta en el escritorio. Entonces vamos a abrirlo en VS Code. Voy a crear tres archivos diferentes. El primero va a ser index.html. Entonces necesitamos style.css y scripts dot js. Después vaya al archivo index.html e inserte aquí el documento HTML básico. Para eso, voy a usar una imagen. Tenemos que colocar un signo de exclamación y presionar Enter. Bien, sigamos adelante y cambiemos el título. Voy a insertar tu barra de navegación. Entonces también, voy a vincular archivos CSS y JavaScript. Para eso, necesitamos abrir la etiqueta de enlace y necesitamos indicar la ruta del archivo, en este caso el nombre de archivo style.css. En cuanto a la etiqueta JavaScript, vamos a abrir script, justo encima de la etiqueta de cuerpo de cierre. Y en atributo fuente especificar el nombre del archivo. Además de eso, vamos a usar un par de iconos Font, Awesome. Entonces necesitamos obtener el enlace CDN para eso. Sigamos adelante y busquemos Font Awesome. Cdn, JS. Agarra el primer enlace y pégalo en el elemento head. Muy bien, eso es todo sobre esta configuración. Por último, voy a ejecutar el archivo en el navegador. Para eso, voy a usar Live Server, que es un paquete de código VS. Nos permite hacer las actualizaciones sin refrescar la página cada vez. Así podrás seguir adelante e instalarlo y podrás ejecutar tus proyectos como en el navegador. Coloquemos el editor de texto y el navegador uno al lado del otro y comencemos a construir el marcado HTML Vamos a abrir desarrollos y asignarle FirstName Nakba wrapper Este elemento envolverá todo el número. Después abre otro elemento div con la barra de navegación de clase. En realidad incluirá todos los enlaces y los iconos. Entonces voy a abrir la etiqueta de enlace con el nombre de la clase navbar link Y aquí tenemos que insertar la primera Fuente, Icono Impresionante. Va a ser FAS, FA dash home. Entonces en general tendremos seis artículos. Duplicemos el elemento de enlace cinco veces y luego cambiemos los nombres de clase para los iconos. El segundo va a ser ciudad de lo que necesitamos escuela. Punto de referencia, hotel. Y finalmente, necesitamos aquí, almacenar, salir corriendo. Muy bien, eso es todo sobre los elementos de navegación. Por último, necesitamos crear el botón. Estará representado por el desarrollo y un icono Font Awesome. Entonces sigamos adelante y abramos div con el nombre de la clase Nakba dash btn Y luego inserta tu icono Font Awesome con las clases FAS, f, dash plus. Bien, eso es todo sobre el marcado HTML o se crean los elementos y estamos listos para comenzar a escribir algo En primer lugar, vamos a crear algunos estilos de reinicio. Voy a deshacerme margen y relleno para cada elemento. Para seleccionar cada elemento, tenemos que usar un asterisco Y luego sigamos adelante y fijemos el margen y el relleno de ambos a cero. A lo largo de este proyecto, vamos a utilizar RAM como unidades de medida. este momento, por defecto, una rampa equivale a 16 píxeles porque el tamaño de fuente de HTML es igual a 16. Voy a hacer un rem igual a diez píxeles porque creo que es más conveniente y más fácil de calcular. Entonces, para convertir una RAM en diez píxeles, necesitamos disminuir el tamaño de fuente de HTML. Así que vamos a seleccionarlo y hacer su tamaño de fuente 62.5%. Bien, así como puedes ver, el tamaño de los iconos disminuyó y ahora una RAM es igual a diez píxeles Sigamos adelante y seleccionemos elementos div envoltorio. Vamos a definir su ancho y alto voy a establecer el ancho como 100% S para la altura. Hagamos que sea el cien por ciento de la ventana gráfica. Necesitamos 100 vh. También cambia el color de fondo. Vamos a usar aquí. Tres b, tres B39. Bien, veamos ahora mismo los íconos no son del todo visibles Así que sigamos adelante y arreglemos eso. Voy a seleccionar íconos de barra de navegación. Aumentemos el tamaño de la fuente, hagamos 2.5 rem, y cambiemos el color, hágalo blanco. Además de eso, también voy a seleccionar el signo más. Aumentemos su tamaño de fuente, lleguemos a Ram, y también hagamos que el color sea blanco. Muy bien, entonces ahora los íconos son visibles. Lo siguiente que voy a hacer es colocarlos en el centro usando flexbox Necesitamos aquí display flex. Después para centrar los elementos horizontalmente, tenemos que usar justify-content En cuanto al centrado vertical, necesitamos alinear los elementos al centro Bien, sigamos adelante y empecemos a trabajar en la barra de navegación. Vamos a seleccionarlo y definir su ancho y alto. Voy a ponerlos a los dos en 20 repeticiones. También, cambia el color de fondo. Usemos tu color fácil para, para, para, para. Después de eso, voy a encargarme del botón del signo más. Así que sigamos adelante y seleccionemos navbar BTN. En realidad, si hacemos su posición absoluta, entonces el icono lo colocaremos en el centro del nanoporo porque saltará del flujo normal de la página Y el flexbox, lo centraremos perfectamente. A continuación, definamos su anchura y altura. Voy a ponerlos a los dos en seis asaltos. También, cambia el color de fondo. Voy a usar tu color uno para c095. Bien, además de eso, voy a mandar al signo más dentro de la caja Para eso, voy a utilizar de nuevo flexbox. Necesitamos banderas de exhibición, contenido justificado y centro de elementos de alineación Después hacer la caja redondeada usando border-radius con el valor 50 por ciento Y por último, cambia el cursor, hazlo señalar. Bien, así que eso es todo sobre el signo más. Ahora necesitamos centrar todos los artículos. Al principio. Cambiemos su posición y hagámosla absoluta. Como puede ver, los iconos se colocan uno encima del otro. Además, necesitamos cambiar la posición de su elemento padre, que es navbar Hagámoslo relativo. Una vez que hagamos la posición relativa, entonces podremos posicionar iconos de acuerdo a su elemento padre. ¿Verdad? Ahora voy a mandar los íconos. Y para eso, vamos a usar de nuevo Flexbox. En realidad, voy a agarrar esas tres líneas de aquí y pegarlas para la barra de navegación Ahora los íconos ya no son visibles porque terminaron detrás del botón. Entonces voy a comentarlo por un tiempo. Y luego una vez que coloquemos los artículos, entonces los mostraremos de nuevo. Ahora, por fin, es el momento de colocar cada uno de los elementos por separado. Para eso, voy a usar una pseudo-clase llamada nésimo hijo Entonces, sigamos adelante y comencemos con el primer ítem. Seleccione el enlace de la barra de navegación, seguido de la enésima pseudo-clase secundaria En realidad es una función y tenemos que especificar el número del ítem dentro del paréntesis Entonces, para el primer ítem, necesitamos oponernos a rampa. Entonces sigamos adelante y dupliquemos este código cinco veces. Para el segundo ítem, tenemos que definir las posiciones superior y derecha. Para la posición superior, necesitamos seis rampas En cuanto a la posición correcta, tenemos que ponerla en 2 g. A continuación tenemos el tercer ítem que necesitamos aquí, posición inferior. Vamos a ponerla en seis carreras. Posición derecha con valor dos rems. A continuación tenemos cuarto ítem Para el primer ítem, necesitamos usar solo la posición inferior con el valor dos carneros A continuación tenemos quinto ítem. Vamos a establecer sus posiciones inferior e izquierda. Voy a poner fondo a seis meses. En cuanto a la izquierda, necesitamos rentar. Y por último, para el último ítem, necesitamos posiciones de arriba y de izquierda. Para la posición superior necesitamos seis rampas y para la izquierda, necesitamos rentar Muy bien, entonces los iconos están posicionados. Vamos a mostrar el botón hacia atrás y también hacer que el número sea redondeado. Usemos aquí border-radius con un valor del 50 por ciento. A continuación, voy a crear unos pequeños efectos de hover. Voy a cambiar el color de los íconos cuando pasemos el cursor sobre ellos. Así que sigamos adelante y seleccionemos ahora por enlace con el hover. Y luego tenemos que seleccionar, voy a cambiar el color. Usa aquí el color 12095. Y también usa transición con propiedad de color con la duración 0.3 s. ¿Bien? En realidad, todo está preparado para hacer la siesta o trabajar. Por defecto. Voy a ocultar los íconos y también a rotarlos. Voy a ocultarlos usando la función de escala. Una vez que hagamos clic en el icono del signo más debería mostrarse, luego en el siguiente clic lo ocultarán. Entonces usaremos un método toggle. Voy a crear una nueva clase en CSS. Añadiremos y eliminaremos esta clase de la napa usando JavaScript. En primer lugar, ocultemos y rotemos los elementos por defecto. Cuando te transformas. Con la función de escala, tenemos que insertar aquí cero. Y entonces voy a rotar los iconos ciento 80 grados, pero con signo menos. Entonces crea una nueva clase y llámalo cambio. Después seleccione navbar. Necesitamos usar Transformar con funciones de nuevo escalar y rotar. Entonces cuando hacemos clic en el icono, entonces tenemos que dar a los artículos. Son de tamaño predeterminado. Entonces necesitamos usar K valor uno. Y también necesitamos rotar con cero. ¿Verdad? Ahora necesitamos escribir algo de JavaScript. Vamos al archivo script.js botón Seleccionar. Entonces voy a usar el método QuerySelector. Tenemos que especificar aquí el nombre de la clase, que es navbar btn Luego se adjunta a él el oyente de eventos con el evento click. Y también tenemos que pasar aquí la función de flecha. Entonces ahora necesitamos agregar un nuevo cambio de nombre de clase a la envoltura de napa. Así que antes que nada, necesitamos seleccionar este elemento, utilizar de nuevo el método QuerySelector y especificar el nombre de la clase en el envoltorio Napa paréntesis Ahora tenemos que usar la propiedad class list, que en realidad almacena todas las clases que tiene el elemento. Y entonces necesitamos el método toggle con el cambio de clase. Ahora, si hago clic en el icono, entonces se mostrarán los elementos. Pero en este caso, sin ningún efecto. Entonces necesitamos hacer la transición con transformar. Y con la duración 0.5 s. ahora, si vuelvo a hacer clic, los iconos se mostrarán con una transición agradable y fresca. Bien, por último, voy a agregar algunos efectos al signo más en sí Quiero rotarlo OnClick. Así que sigamos adelante y seleccionemos una ganancia para cambiar de clase, seguido de la barra de navegación p t n i. Así que voy a rotar el signo más 45 grados. Usemos la función de rotación. También. Para un efecto suave. Usemos la transición. Aquí necesitamos transformar. Y como duración eso es lo indican aquí 0.5 s. bien, así que ahora todo funciona a la perfección y en realidad ya terminamos con este proyecto 22. Proyecto 19 - Menú Sidebar: En este video, vamos a construir un menú lateral para el panel de administración. Este tipo de barras laterales son muy populares hoy en día. Entonces creo que este pequeño proyecto te será interesante y útil antes de que empecemos a construir nuestro proyecto. Y voy a repasar y describirlo. Entonces como veis, tenemos aquí una imagen de fondo a pantalla completa, y en la esquina superior izquierda tenemos un icono de menú Si hago clic en él, entonces esas líneas se cambiarán a x con alguna transición agradable. Y también la barra lateral, la mostraremos de izquierda a derecha. Como puedes ver, la barra lateral consta de un par de partes diferentes. En la parte superior, tenemos un avatar para admin con un nombre completo y el administrador de subtítulos Le sigue la barra de búsqueda. Entonces tenemos una lista con Font, Iconos impresionantes. Cada uno de los elementos de la lista tiene su propio submenú. Se representan como los menús desplegables. Y por último, en la parte inferior de la barra lateral tenemos un par de íconos. Si hago clic en el botón X, entonces la barra lateral se cerrará. En realidad, el proyecto responderá a todos los diferentes tamaños de pantalla. Vamos a construirlo para un tamaño de pantalla más grande. Tamaño de pantalla con 1920 píxeles de ancho y 1080 píxeles de alto. Entonces, si nos estás siguiendo con un tamaño de pantalla relativamente más pequeño, entonces te recomiendo abrir las herramientas del desarrollador. Cambie al modo de respuesta y establezca el ancho y altura en 1920 píxeles y 1080 píxeles. Pero de todos modos, al final del día, haremos las respuestas del proyecto. ¿Bien? Eso es lo que vamos a construir en este video. Así que comencemos. He creado una carpeta en el escritorio llamada sidebar, en la que tengo otra carpeta para las imágenes. Sigamos adelante y abramos la carpeta en VS Code. Lo primero que voy a hacer es crear nuestros archivos de trabajo. En general, tendremos tres archivos diferentes. Index.html, style.css, y también scripts dot js. A continuación, abra el archivo index.html e inserte el documento HTML básico. Para eso, voy a usar amidas. Coloquemos aquí un signo de exclamación y pulsaremos Enter o tal vez tabulador Cambiemos el título. Voy a insertar tu barra lateral. También. Voy a vincular archivos CSS y JavaScript. Para eso. Vamos a abrir la etiqueta de enlace. Indique aquí el nombre del archivo, style.css. Entonces abajo abrimos la etiqueta script. Y en el atributo source especificar el nombre del archivo script.js. Además de eso, necesitamos otros dos enlaces, uno para los iconos Font Awesome y otro para las fuentes de Google. Así que sigamos adelante y busquemos Font Awesome, CDN GIS. Después agarra el primer enlace de aquí y pégalo en el elemento head. Después de eso, voy a buscar las Google Fonts. En realidad, usaremos dos teléfonos diferentes. El primero va a ser Roboto Slab. Voy a personalizarlo porque vamos a usar un peso de fuente un poco más audaz Así que vamos a comprobar la fuente semi negrita. En cuanto al segundo, usaremos losa superior a 27. Agarremos el enlace y lo peguemos también en el elemento head. Eso es todo sobre la configuración. Por último, voy a ejecutar el archivo en el navegador. Para eso. Voy a usar Live Server. Este es uno de los paquetes de código VS. En realidad usamos este paquete casi siempre, pero de todos modos, te voy a recordar que nos permite ejecutar la vida del proyecto en el navegador y hacer actualizaciones sin actualizar la página cada vez para que puedas descargarla e instalarla. Por último, eso son entornos organizados o de trabajo. Voy a colocar editor de texto y un navegador así para que nuestro proceso de trabajo sea más conveniente. Bien, sigamos adelante y comencemos a crear el marcado HTML. Vamos a abrir un elemento div, que va a ser un contenedor. A continuación, necesitamos abrir elementos de navegación, que envolverán toda la barra lateral. Así que vamos a asignarle className sidebar. Como decíamos, la barra lateral constará de un par de partes distintas La primera va a ser un icono de menú. Entonces abramos los desarrollos con el nombre de la clase, menú de hamburguesas El icono del menú constará de tres líneas. Entonces voy a pasar aquí desarrollos con clases. Vino, que será el nombre común de clase para las tres líneas. Y también tenemos que alinear uno. Para alicatados individuales. Duplicemos la línea dos veces y cambiemos los nombres de las clases. Necesitamos la línea dos y la línea tres. Bien, eso es todo sobre el ícono de Menú. A continuación, necesitamos crear una tarjeta que incluya el avatar del abdomen, el nombre completo y el administrador de subtítulos Entonces abramos un desarrollo con la tarjeta de nombre de clase. A continuación necesitamos otro div, que envolverá la imagen del admin. Vamos a asignarle una tarjeta de nombre de clase, IMG. Después inserte el elemento de imagen. Voy a escribir en el atributo alt admin image. Entonces vamos a especificar la ruta de la imagen en el atributo source va a ser images, folder slash admin dot JPG Por último, utilice aquí el atributo de clase con una imagen de administrador de valor. Entonces tenemos aquí la imagen. Sigamos adelante e insertemos el nombre completo y el subtítulo. Y vamos a abrir otro desarrollo con el cuerpo de la tarjeta de nombre de clase. Después inserte H2 elementos de encabezado en él con el título de la tarjeta de clase. Como contenido, escribe el nombre completo. John Smith. A continuación necesitamos un párrafo que debe tener una tarjeta de nombre de clase, subtítulo Y como los contenidos, vamos a insertar usuario administrativo. Bien, eso es lo de la tarjeta. A continuación vienen los campos de entrada de búsqueda. Así que vamos a abrir un formulario elementos con el formulario de búsqueda de nombre de clase. Entonces en general tendremos dos elementos. El primero va a ser entrada con un tipo de textos. Además, necesitamos entradas de búsqueda de clase y el atributo placeholder con búsqueda de valor Además del elemento input, necesitamos también un botón que represente el icono de búsqueda. Entonces vamos a abrir el elemento botón. Debería tener el tipo de botón porque cuando el elemento botón se coloca dentro del formulario, entonces por defecto cargará la página en África. Entonces para evitarlo, tenemos que usar el tipo de botón. También necesitamos aquí el botón de búsqueda de nombre de clase. El icono de búsqueda estará representado por el icono Font Awesome. Así que vamos a insertar tu elemento ojo con clases. Fas, FA dash, búsqueda. Bien, así que eso es todo sobre los elementos formados. A continuación, tenemos que encargarnos de la lista. Entonces, sigamos adelante y abramos los elementos de UL con el nombre de clase novelista Entonces esta va a ser la lista principal en la acera. Contará con cinco elementos de lista diferentes, cada uno de ellos con su propio menú desplegable. Entonces vamos a abrir los elementos LI con el nombre de la clase. Ahora artículo. Entonces debería ser seguido por el enlace con el enlace de navegación de clase. Entonces voy a insertar aquí tres elementos diferentes. El primero va a ser el icono Font Awesome. Los nombres de las clases, FAS , FA, guión, taco, metro, guión, Alt. A continuación necesitamos un elemento span con los textos de enlace de clase nav. Entonces como los contenidos, Let's Institute dashboard. Por último, necesitamos nuevamente el icono Font Awesome para mostrar la flecha. Entonces debería tener clases, FAS, f, dash, dash, ¿verdad? Bien, eso es todo sobre el primer elemento de la lista. Como dijimos, en general, necesitamos cinco de ellos. Entonces voy a duplicarlo cuatro veces y luego cambiar los nombres de las clases y también el contenido de los ítems. El segundo va a ser Fas, un carrito de compras, comercio electrónico. El siguiente será F, F h, m con el ítem Componentes. A continuación tenemos los gráficos de líneas del gráfico FASFA. Y por último, necesitamos mapa FASFA, marcador con las marcas del ítem Bien, así que eso es todo sobre la lista principal. Ahora necesitamos crear un menú desplegable para cada elemento de la lista. Entonces voy a insertar una nueva lista justo antes de la etiqueta LI de cierre. Debe tener clase sub novelista. El primer menú desplegable constará de tres elementos de lista diferentes. Vamos a abrir el primer elemento LI con el elemento sub nav de nombre de clase. A continuación necesitamos un enlace de elementos con el enlace de subred de clase. Así que cada elemento de la lista enlazará para el icono Font Awesome, y el contenido representado por un elemento span. Vamos a insertar tu elemento ocular con las clases FAR F círculo discontinuas No debería ser seguido por esta sartén. Con el tablero de texto uno. Sigamos adelante y duplicemos los elementos LI dos veces y solo cambiemos los contenidos. Necesitamos tablero a tablero tres. Entonces aquí tenemos el primer menú desplegable. También lo necesitamos para el resto de los artículos. Así que vamos a seguir adelante y agarrarlo y pegarlo antes de las etiquetas LI de cierre. Luego continúe y cambie el contenido de todos los elementos del menú. Necesitamos aquí, productos, pedidos y tarjeta de crédito. A continuación necesitamos iconos y tablas generales. A continuación, necesitamos un gráfico circular, un gráfico de líneas y un gráfico de barras. Para el último menú desplegable, solo necesitamos dos elementos. Entonces voy a dejar aquí solo dos ítems con una consonante siguiente Necesitamos Google Maps y abrir el mapa de calles. Entonces como pueden ver, hemos terminado con la lista principal. A continuación, tenemos que encargarnos de la lista inferior. Entonces volvamos a abrir. Listar elementos con la clase. Lista inferior. La lista incluirá cuatro iconos diferentes. Por lo tanto necesitamos cuatro ítems de lista. Vamos a abrir el elemento LI, que debe tener nombre de clase, elemento de la lista inferior. Entonces necesitamos vincular elementos con un nombre de clase, enlace de lista inferior. Cada uno de los elementos de la lista tendrá un icono y también algunas notificaciones. Por lo tanto, te voy a insertar los elementos span con algún número, digamos cinco. Y también necesitamos un icono de Font, Awesome. Debería ser FAS. Belle. Duplicemos el elemento de la lista tres veces. Después cambia el número de las notificaciones y también los nombres de las clases. Para el segundo, voy a insertar aquí siete. En cuanto al nombre de la clase, necesitamos sobre FASFA. Para el siguiente, necesitamos uno. El nombre de la clase, FASFA Coke. Para el último ítem, voy a deshacerme de la notificación en absoluto. Simplemente salga de aquí Fuente Icono impresionante Con clases, FAS, FA, guión, guión apagado. Bien, así que eso es todo sobre la barra lateral. Casi terminamos con el marcado HTML. Lo único que tenemos que hacer es encargarnos de la sección principal que en realidad tendremos solo el encabezado con la imagen de fondo a pantalla completa Así que justo después de los elementos de navegación, vamos a abrir esta sección y asignado a la sección principal del nombre del clúster. Entonces dentro de él necesitamos unos elementos de encabezado con el encabezado de clase. Entonces dentro del encabezado tendremos solo un encabezado único con el nombre de la clase, encabezado con el tablero de texto. Bien, así que finalmente, hemos terminado con el marcado HTML de los elementos necesarios se crean y ahora es el momento de escribir algo Vamos a abrir el archivo style.css. En primer lugar, crear algunos estilos de reinicio y en realidad comunes. Seleccionemos todos los elementos usando un asterisco. Entonces voy a restablecer el margen y el relleno. Pongamos a ambos a cero. Además, tenemos muchos elementos de lista y enlaces. Entonces voy a deshacerme de sus estilos predeterminados con liststyle none y decoración de texto, ninguno Después de eso, definamos la familia de fuentes para cada elemento Voy a usar fuente llamada slideshow 27 pixels serif. Por último, deshagamos del esquema predeterminado. Bien, eso es todo sobre los estilos comunes. A lo largo del proyecto, vamos a utilizar una ROM como unidad de medida. Por defecto, una rampa equivale a 16 píxeles porque el tamaño de fuente de HTML es igual a 16 píxeles. En realidad, quiero convertir una RAM en diez píxeles porque creo que es más conveniente y más fácil de calcular. Para lograrlo, tenemos que disminuir el tamaño de fuente del HTML y hacerlo 62.5% Ahora el tamaño de fuente de HTML es igual a diez píxeles. Por lo tanto, una rampa es igual a diez píxeles también. ¿Bien? A lo largo de este proyecto vamos a utilizar diferentes colores para varias veces. Y en realidad para que este proceso sea más dinámico, voy a usar variables CSS. Almacenaremos los valores de color en variables CSS. Y usaremos esos nombres de variables. Para crear las variables de alcance global, necesitamos seleccionar una ruta. Entonces necesitamos definir nombres de variables con los valores propios. El primero se va a hacer color durazno , color de fondo Entonces debería ser tui, tui, tui. Entonces voy a duplicar esta línea de código un par de veces y cambiar los nombres y los valores. El segundo va a ser el color primario. Con el valor de color cinco a cuatro, las cuatro t. La siguiente va a ser color secundario con valores 777171 Entonces tendremos texto color 99393. Además, necesitamos pasar el color del texto con el valor p db88. Y el último va a ser color de icono activo con un valor a un 77. ¿Bien? Ahora voy a mostrarte cómo usar esos colores. Supongamos que queremos cambiar el color de fondo para el cuerpo. Tenemos que seleccionar cuerpo. Entonces necesitamos asignarle un color de fondo. Ahora tenemos que usar la función var, que significa variable. Dentro del paréntesis, tenemos que especificar el nombre de la variable Digamos color de fondo principal. Me refiero al color principal de color peachy. Entonces, como se puede ver, se cambia el fondo del elemento body. Entonces así es como funcionan las variables CSS. Bien, vamos a deshacernos de este código porque ya no lo necesitamos. Sigamos adelante y agreguemos algunos estilos a la barra lateral. Voy a seleccionarlo. Definamos su anchura y altura. En realidad como unidad de medida, voy a usar el ancho de la ventana gráfica Vamos a establecer el ancho de la barra lateral como 15% de la ventana gráfica Necesitamos 15 V W S para la altura. Voy a hacer que sea el 100% de la ventana gráfica. Entonces necesitamos 100 vh. Luego cambia el color de fondo. Ves tu color BG principal. Y también voy a hacer fija la posición de la barra lateral. Bien, entonces ahora la barra lateral es factible. Y en realidad creo que la imagen es bastante grande. Y voy a disminuir su tamaño desde el HTML ahora mismo. Al final del día, nos encargaremos de la imagen de CSS. Vamos al archivo index.html y asignemos al atributo Image llamado width con valor 50. Significa que establecemos el ancho de la imagen en 50 píxeles. Lo siguiente que quiero hacer es encargarme de la sección principal. Es decir, la segunda parte de la página, que se coloca abajo después de la navegación. Sigamos adelante y seleccionémoslo. La sección principal debe ocupar el resto de la página. Estoy en el lado derecho. Por lo tanto, voy a definirlo chirridos como 85 de ancho de ventana gráfica Además, necesitamos definir su posición porque la barra lateral y la sección principal deben colocarse lado a lado Entonces hagamos que se posicione relativa. Luego establezca la propiedad izquierda en 15 ancho de ventana gráfica. Ahora, como puede ver, el tablero de texto es visible. Significa que esas dos partes se colocan una al lado de la otra. Definamos el fondo de pantalla completa para el encabezado. Vamos a seleccionarlo. En primer lugar, definamos su anchura y altura. Voy a heredar de los elementos padre. Así que vamos a asignar a la propiedad width, heredar. En cuanto a la altura, hagámosla al 100% de la ventana gráfica. Por último, definamos los antecedentes. Voy a usar aquí. Degradado lineal con colores blancos, pero con diferente opacidad El primer color debe tener la opacidad 0.3. En cuanto a la segunda, va a ser 0.5. A continuación tenemos que especificar la URL. Tenemos carpeta llamada imagenes. Necesitamos seleccionar bg dot PNG. A continuación necesitamos centro. No repetir. Y por último, tenemos que definir el tamaño del fondo como cubierta. Bien, así que ahora como puedes ver, la imagen se establece como fondo de pantalla completa Y lo único que tenía que hacer era cuidar los elementos del rubro. Entonces sigamos adelante y seleccionémoslo. Voy a colocarlo en el centro. Para eso. Definamos esta posición como absoluta. Después establecer la posición superior al cinco por ciento. Entonces necesitamos que nos quede el 50 por ciento. Y por último, necesitamos usar Transform con la función translate para poder enviar al elemento perfectamente. Necesitamos aquí traducir x porque tenemos que mover los elementos según el eje X. Y ese es el valor que tenemos que pasar aquí, -50%. Bien, entonces el encabezado está centrado, y ahora voy a hacer que se vea mejor Sigamos adelante y aumentemos su tamaño de fuente. Que sea 12 Rahm. Cambia el color, hazlo blanco. Entonces, finalmente, crear algo de espacio entre letras. Utilice el espaciado entre letras con el valor uno rem. Bien, veamos sobre la sección principal. Ahora tenemos que volver a la barra lateral. Sigamos adelante y creamos algo de espacio dentro de la caja usando relleno. Voy a poner el relleno a 1.5 rem en la parte superior e inferior y un rem en los lados izquierdo y derecho. Y también para mantener el mismo tamaño de la caja, necesitamos usar box-sizing Con valor border-box Bien, entonces la barra lateral consta de varias partes. Y voy a comenzar con una tarjeta en que tengamos una imagen, título y subtítulo Seleccionemos una tarjeta y hagamos que sea un contenedor flexible. Para eso necesitamos display flex. Ahora voy a cuidar la imagen. Como sabéis, definimos su ancho a partir del HTML. Y en realidad me voy a deshacer de él. Después seleccione la imagen nombre de clase admin image. Definir su ancho como phi params. Y también voy a hacerlo ligeramente redondeado usando border-radius con el valor 0.5 rem Bien, eso es lo de la imagen. adelante y seleccionemos el cuerpo de la tarjeta, que en realidad incluye el nombre completo del subtítulo Entonces voy a crear algo de espacio en el lado izquierdo usando margin. Vamos a asignar dos a uno rem. A continuación, voy a utilizar de nuevo Flexbox para alinear esos dos elementos Hagamos el contenedor flexible del cuerpo de la tarjeta usando banderas de exhibición. Entonces tenemos que cambiar la dirección. Necesitamos columna. Con el fin hacer algo de espacio entre los artículos. Necesitamos justificar el contenido. Espacio alrededor. El nombre completo y el subtítulo están alineados. Sigamos adelante y hagamos que se vean mejor. Voy a comenzar con el título de la tarjeta. Así que vamos a seleccionarlo. Cambia el tamaño de la fuente, hazlo a Ram. Además, necesitamos algo de espacio en el lado derecho. Vamos a crearlo usando margen derecho. Tres rems. Después cambia el color. Ves tu color de impuestos. Y finalmente usar el espaciado entre letras con el valor 0.1 fila con el título ya terminamos. Y por último, vamos a encargarnos del subtítulo. Seleccionado. Cambia el tamaño de fuente, hazlo 1.8 RAM, y también cambia el color. Voy a usar tu color secundario. Bien, eso es todo sobre la tarjeta de los elementos. Luce bien. A continuación viene la búsqueda un cumplido. Así que sigamos adelante y nos ocupemos de ello. Seleccionemos un elemento de formulario. Tiene formulario de búsqueda de nombre de clase. Al principio, voy a hacer algo de espacio usando margen. Vamos a establecer el margen en, para correr en la parte superior. Cero en el lado derecho. Un rem en la parte inferior, y cero en el lado izquierdo. Entonces, para alinear la entrada y el botón de la manera correcta, hagamos un contenedor flexible de elemento de formulario usando display flex. Y también centrar los artículos verticalmente usando alinear elementos en el centro. Bien, sigamos adelante y diseñemos ambos elementos. Voy a empezar con la entrada. Entonces se selecciona. Definir su anchura y altura. Voy a establecer ancho 200 por ciento. En cuanto a la altura, hagamos cuatro carneros y cambiemos el color de fondo Usa tu color primario. Bien, sigamos agregando algunos estilos más a la entrada Voy a deshacerme del borde predeterminado. Usando el borde ninguno. También hacer un uso redondeado border-radius con un valor 0.5 rem A continuación, hagamos algo de espacio dentro de las entradas usando padding. Voy a ponerla a cero en la parte superior e inferior y una rem en los lados derecho e izquierdo. Después aumenta el tamaño de la fuente, hazlo 1.6 RAM. Cambia el color, usa tu color de texto. Y por último, crear algo de espacio entre letras usando espaciado entre letras, rampa 0.1. Bien, así como pueden ver, la entrada se ve bien y ya terminamos con ella. A continuación, tenemos que encargarnos del icono de búsqueda. Voy a colocarlo dentro de las entradas, decir, en la esquina derecha de la misma. Así que sigamos adelante y seleccionemos el botón Buscar. En primer lugar, vamos a deshacernos de sus estilos predeterminados. Voy a hacer transparente el color de fondo. Y también se deshace del borde predeterminado con borde ninguno Ahora para mover el icono hacia el lado izquierdo, voy a usar Transformar con la función Traducir X. Vamos a insertar aquí menos el 150 por ciento. Bien, Entonces el icono se coloca de la manera correcta y lo único que tuvo que hacer es darle estilo al elemento I. Entonces sigamos adelante y seleccionémoslo. Voy a aumentar su tamaño con el tamaño de fuente. Hagámoslo dos rems, y también cambiemos el color Ves tu color secundario. ¿Verdad? Eso es todo sobre el elemento formulario. Ahora tenemos que seguir adelante y empezar a trabajar en la lista. Sigamos adelante y seleccionemos la lista principal con el nombre de la clase. No menos importante, voy a crear este espacio en la parte superior usando margen. Hagámoslo tres rems. Después selecciona los elementos LI y crea algo de espacio en el margen superior e inferior, asignado a dos rampas Y luego cero en los lados izquierdo y derecho. ¿Verdad? Eso es todo sobre los elementos LI. Ahora, está empezando a personalizar el enlace. Sigamos adelante y seleccionémoslo. Voy a establecer su ancho como cien por ciento. Entonces. Hazlo flex contenedor usando display flex. También centrar los artículos verticalmente usando alinear elementos en el centro. Y por último, cambia el color. Usemos tu columna de texto. Paso a paso. Estamos avanzando ahora mismo. Los artículos son bastante más pequeños porque su tamaño es de apenas diez píxeles. Así que sigamos adelante y seleccionemos los elementos span, que tiene clustering nav link text Voy a aumentar el tamaño de la fuente. Hagámoslo 1.8 RAM. Y también crear algo de espacio en el lado izquierdo usando padding left one rem. Como puede ver, las flechas y los artículos se colocan demasiado cerca uno del otro. Tenemos que mover las flechas hacia el lado derecho. En realidad, podemos hacerlo usando un par de formas diferentes, pero la mejor manera para nosotros es usar las propiedades flexbox llamadas flex grow, que deberían ser iguales a una Usando esta propiedad, el elemento ocupará todo el espacio disponible dentro del contenedor flexible. Bien, sigamos adelante y cuidemos los iconos Font Awesome, que se colocan frente a los elementos Así que vamos a seleccionarlos. Necesitamos seleccionar el enlace de navegación seguido de iones. Y tenemos que usar pseudo clases CSS llamadas primero-hijo. Vamos a establecer ancho y alto, ambos a dos rems Y también cambiar el color de fondo. Voy a usar tu columna primaria. Como puede ver, necesitamos centrar los iconos dentro de la caja. Para eso, usemos flexbox. Necesitamos display flex. Y luego tenemos que centrar los elementos horizontal y verticalmente también. Así que usemos justify-content center y alineemos el centro Bien, ahora como puedes ver, los íconos están perfectamente centrados Lo único que quiero hacer es crear algo de espacio dentro de la caja y también hacerlas redondeadas. Entonces usemos relleno. Devaluamos punto a RAM y border-radius, ¿qué valor? 0.3 corrió. Después de eso, vamos a crear un pequeño efecto hover Cuando pasamos el cursor sobre el artículo, quería cambiar el color del icono Así que vamos a seleccionarlo. Necesitamos ahora link hover. Entonces otra vez, elemento I con la primera pseudo-clase hijo. Cambiemos el color, hagámoslo Activo, puedo llamarlos. También use la transición para hacer que el efecto sea más inteligente. Tenemos que pasar tu color con la duración 0.2 segundos. Bien, entonces si colocamos el cursor sobre los artículos entonces ellos cambiarán su color Por último, quiero encargarme de las flechas. Voy a moverlos hacia la izquierda y también aumentar su tamaño. Así que vamos a seleccionarlos. Necesitamos de nuevo enlace de navegación. Entonces yo elemento, seguido de la pseudo-clase llamada last-child Vamos a crear algo de espacio en el lado derecho usando margin right, 2.5 rem. Y además aumentar el tamaño de la fuente, hacerla 1.6 redonda. Bien, así que con los elementos de la lista principal ya terminamos y ahora tenemos que encargarnos de los menús desplegables Al principio, vamos a estilizarlos. Seleccione los elementos de la lista usando className sub novelista. Definamos el ancho, hazlo 90 por ciento. Y también colocó los ítems al lado derecho usando margin-left, el valor Bien, a continuación voy a crear algo de espacio entre los artículos. Así que vamos a seleccionar los elementos LI usando el elemento de subintervalo de agrupamiento Voy a definir el margen como 0.5 RAM en la parte superior e inferior y cero en los lados izquierdo y derecho. A continuación, tenemos que encargarnos del elemento link. Entonces sigamos adelante y seleccionémoslo. Cambiar el tamaño de fuente. Voy a hacer 1.5 rem. Y también cambiar el color. Usa aquí la columna de texto. Así que los artículos se ven mucho mejor. Y a continuación, voy a crear un efecto hover. Al flotar. Quiero cambiar el color de los artículos. Así que vamos a seleccionar enlace, flotar. Después cambia el color. Vamos a usar aquí el color del texto hover. Y también necesitamos una transición con el color y con la duración 0.2 s. bien, así que con los elementos desplegables, ya casi terminamos Solo necesitamos agregar un par de estrellas a los círculos. Así que sigamos adelante y seleccionemos elementos. Necesitas enlace sub novela. I. Luego cambie el tamaño de la fuente. Conviértalo en una RAM. También crea algo de espacio en el lado derecho usando margen con valor 0.5 rem. A continuación, necesitamos crear nuestro efecto. Seleccionemos enlace con hover, seguido del elemento I, y cambiemos el color Usa aquí, activo puedo llamar. Por último, necesitamos de nuevo la transición del color y la duración 0.2 segundos. Bien, Algunos Eso es todo sobre la lista. Están estilizadas, se ven bien. Y ahora tenemos que seguir adelante y personalizar la última parte de la barra lateral, que es una lista inferior. Entonces, sigamos adelante y seleccionemos elementos UL. Tiene clustering bottom list. En primer lugar, definamos su ancho. Voy a llegar al 100 por ciento. Y también cambiar el color de fondo. Usa tu color, color primario. La lista debemos colocar en la parte inferior de la barra lateral? Por lo tanto, necesitamos definir su posición. Voy a hacerlo absoluto. Y luego para colocarlo en la parte inferior, tenemos que establecer una propiedad de botón a cero. ¿Bien? Entonces la lista se posiciona de la manera correcta. A continuación, voy a crear algo de espacio dentro de la caja. Y también necesitamos colocar los artículos en una fila horizontalmente. Entonces necesitamos relleno en la parte superior e inferior, 0.5 rem y cero en los lados izquierdo y derecho A continuación, tenemos que usar flexbox Necesitamos display flex. Y también con el fin crear algún espacio entre los elementos flex, usemos justifique el contenido con los valores que circulen. ¿Bien? Entonces los ítems están muy bien alineados, pero como puedes ver, tenemos algo de espacio en el lado izquierdo de la lista. Entonces voy a mover toda la lista al lado izquierdo. Para eso, usemos Transform con la función translate x. Y como valor, pasemos menos una rep. ¿Bien? Entonces eso es todo sobre la alineación de la lista. Ahora voy a personalizar los iconos y también este patrón los elementos que se crean para las notificaciones. Entonces, sigamos adelante y comencemos con los íconos. Seleccione el enlace de la lista inferior, seguido del elemento I. Aumentemos el tamaño de la fuente, hagamos 1.6 RAM, y también cambiemos el color. Ves tu color secundario. Ahora los iconos se ven mucho mejor. Voy a añadir aquí poco efecto hover. Quiero cambiar el color de los iconos al flotar. Así que vamos a seleccionar enlace con hover. Y luego yo elementos. Cambia el color. Ves tu color de icono activo. Y también usa transición con el color. Y con duración 0.3 s. entonces si pasamos el cursor sobre los iconos, entonces ellos cambiarán el color Así que en realidad con iconos's, ya terminamos. Ahora voy a tomar aquí de este span elementos. Así que sigamos adelante y seleccionarlos usando el span de enlace de la lista inferior. En primer lugar, voy a cambiar la familia de fuentes. Vamos a usar aquí fuente llamada Roboto Slab Serif. Además, voy a aumentar el peso de la fuente porque quiero hacer span un poco más audaz Usa aquí 600. Después cambia el tamaño de fuente, conviértalo en una memoria RAM. Y por último, cambia el color, hazlo blanco. ¿Bien? Entonces esos números deben colocarse en la esquina superior derecha de los iconos. Entonces, sigamos adelante y cuidemos su posición. Voy a hacerlo absoluto. Entonces para definir la posición según el elemento padre, que en nuestro caso es un enlace. Tenemos que hacer que la posición de los padres sea relativa. Así que vamos a seguir adelante y seleccionar el propio enlace y asignarle posición relativa. Después de eso, definamos las propiedades superiores y correctas. Hacer Posición Top -100 por ciento. En cuanto a la posición correcta, hagámosla -50 por ciento Bien, entonces los elementos span están posicionados y ahora quiero crear diferentes antecedentes para cada una de las nitrificaciones Para ello, vamos a definir las propiedades de ancho y alto. Voy a hacer de ambos un punto para RAM. Y también agrega aquí algún color de fondo temporal, digamos rojo. Entonces ahora tenemos que hacer esos fondos redondeados. Y también quiero colocar esos números en el centro para hacerlos redondeados. Usemos radio de borde con valor 50 por ciento. En cuanto al centrado, los números, usa flexbox Necesitamos display flex y luego justify-content center y align items center Bien, en realidad, casi terminamos con las notificaciones Lo único que tenemos que hacer es cambiar el color de fondo y hacerlo diferente para cada altura. Entonces, deshagámonos del fondo rojo. Entonces para seleccionar el ítem por separado, voy a usar y selector Child, que es una pseudo-clase Entonces, seleccionemos el elemento de la lista inferior seguido del enésimo hijo En realidad esta es una función. Entonces dentro del paréntesis como argumento, voy a insertar el número del ítem, uno Entonces debería ser seguido por span. Como el color de fondo. Voy a usar CFA 012. Duplicemos este código dos veces. Cambiar el número que necesitamos aquí como el color. Usemos 54154 En cuanto al tercer ítem, necesitamos cubrir E, dos a siete a siete Bien, así que eso es todo con un diseño. Por último, ya terminamos. A continuación, tenemos que encargarnos de la funcionalidad. Y antes que nada, voy a trabajar en el menú de hamburguesas Sigamos adelante y agreguemos algunas estrellas al ícono de Menú. Por ahora no es visible. Así que vamos a seleccionarlo. Lo primero que tuvo que hacer es hacerlo visible. Así que definamos ancho y alto. Hacer ambos 3.5 rem. Y también cambiar el color, el color de fondo lo hacen blanco. Como puedes ver por defecto, se coloca en la esquina superior izquierda. Y ahora mismo necesitamos colocarlo en la esquina superior derecha. Así que definamos su posición y horneémosla absoluta. Y luego establecer a la derecha y a las primeras posiciones, ambas a cero. Bien, entonces el icono se coloca de la manera correcta. A continuación voy a mostrar las líneas. Así que vamos a seleccionarlos con un nombre de clase común, línea, ancho y alto definidos. Voy a establecer el ancho a 2.5 g. cuanto a la altura, hagamos que sea 0.3 rem, y también cambiemos el color de fondo. En este caso, voy a usar color secundario. Bien, como son las líneas Z, todas son visibles, pero en este momento se colocan demasiado cerca una de la otra Necesitamos algo de espacio entre ellos. Y también tenemos que colocarlos en el centro de la caja. Para hacer eso, no voy a usar flexbox. Quiero hacer lo mismo usando posiciones. Así que vamos a asignar dos posiciones de línea absoluta. Después voy a seleccionar cada una de las líneas por separado. Empecemos con la línea uno. Hacer su posición superior. Un punto a la RAM. Entonces voy a duplicarlo dos veces. Necesitamos aquí línea a S4, la posición superior. Hagámoslo 1.8 RAM. En cuanto a la tercera línea, necesitamos posicionar 2.4. Como pueden ver, ahora tenemos espacio entre líneas. Y para centrarlos, voy a usar relleno. En realidad, el tamaño del espacio es igual a una RAM porque el ancho del icono es 3.5 rem y el ancho de la línea es 2.5 rondas. Para hacer líneas perfectamente centradas, tenemos que establecer padding a 0.5 rem. En este momento se incrementa el tamaño de la caja. Y para arreglarlo, tenemos que usar el dimensionamiento de cajas Caja Fronteriza. Por último, deshazte del color de fondo blanco. Bien, entonces el ícono Menú está diseñado y ahora tenemos que hacerlo funcionar Quiero decir, cuando hacemos clic en él, necesitamos transformarlo en x Para una mejor demostración, quiero definir algunos estilos para las tres líneas por separado. Quiero decir, vamos a sobrescribir los estilos actuales, pero eventualmente usaremos una nueva clase que se agregará usando JavaScript on click event Bien, escribamos el código y quedará mucho más claro Seleccionemos de nuevo la línea uno. Línea uno y línea. Cambiaremos sus lugares que ellos rotarán. En cuanto a la línea a, se esconderá. Para la línea uno, necesitamos definir la posición superior como 2.4 RAM. Entonces necesitamos transformar con la función rotate con el valor -40 grados. Después seleccione línea a una asignada a su opacidad a cero. Como línea de pobreza tres, voy a copiar este código y cambiar el nombre de la clase. Necesitamos la línea tres. Además, necesitamos la posición superior como un punto para carnero. En cuanto a la rotación, necesitamos aquí 40 grados sin el signo menos. Entonces, como puede ver, las líneas se rotan. Bueno, no tenemos aquí la x. Tenemos que ajustar las posiciones usando la función translate. Pero antes de eso, tenemos que cambiar el origen de la transformación. Por defecto, las líneas se rotan según el Centro. Y en nuestro caso, necesitamos hacer que quede el origen de la transformación. Así que vamos a asignar a la línea transformar origen. Hazlo a la izquierda Luego abajo, usa la función translate. Para la primera línea, necesitamos traducir por qué devaluamos 0.3 rem En cuanto a la tercera línea, necesitamos lo mismo, pero con rentas negativas de 0.3 Bien, así que ahora tenemos la x perfecta y en real 23. Proyecto 20 - Menú de Hamburguesas: En este video, vamos a construir el menú de hamburguesas con algunos efectos agradables Este proyecto se construirá en base a HTML, CSS y poco de JavaScript. Entonces como puedes ver, tenemos aquí una landing page con imagen de fondo a pantalla completa Y en la esquina superior derecha se coloca el icono del menú de hamburguesa Si hago clic en él, entonces el icono se transformará en x. Y ahora parte se mostrará desde el lado derecho. Aquí tenemos un par de elementos de navegación y si coloco el cursor sobre ellos, entonces obtendremos buenos efectos de hover En este video, aprenderás sobre cómo crear todas estas cosas. Sigamos adelante y comencemos a construir nuestro proyecto. En código VS. Tengo un par de archivos para HTML, para CSS, y para JavaScript. Y también tenemos aquí carpeta llamada imágenes en que tenemos una imagen para fondo de página de préstamo. Puedes descargar archivos de inicio desde el enlace de la descripción. Bien, sigamos adelante y abramos el archivo index.html. He preparado la estructura básica del documento HTML. Dentro de los elementos de cabeza, tengo dos eslabones. Una para las fuentes de Google, voy a usar una fuente llamada doses, y otra para el archivo CSS. Además de eso, he insertado aquí etiqueta script con el fin de vincular el archivo JavaScript. Bien, comencemos a construir el marcado HTML, desarrollos abiertos, que va a ser un contenedor Por lo que se le asigna contenedor de clase. Entonces dentro del contenedor voy a abrir elementos que envolverán todo el contenido de navbar Vamos a asignarle clase navbar. Después dentro de él al principio voy a crear un ícono de menú de hamburguesas Así desarrollo abierto y se le asignó un nombre de clase, menú de hamburguesas Entonces dentro de esos elementos div, voy a insertar tres elementos div para tres líneas de un icono. Vamos a asignar a su nombre de clase para la línea de estilo común. Y también necesitamos aquí otro nombre de clúster para el estilo individual. Línea derecha uno. Después duplique esta línea dos veces y cambie los nombres de las clases. Necesitamos la línea dos, la línea tres. Muy bien, eso es todo sobre Menu icon por ahora, no es factible porque solo tenemos elementos div vacíos sin ningún estilo A continuación, voy a crear navegación. Estará representado por elementos UL. Vamos a asignarle clase no menos importante. Después inserte en ella elementos LI. Debe tener ítem de clase. Y por último, necesitamos tus elementos de enlace. Vamos a asignarle el nombre de la clase nav link, y también insertemos su primer elemento. En general, voy a tener siete elementos de navegación. Así que vamos a duplicarlo seis veces y luego cambiar rápidamente el contenido aquí mismo sobre nosotros. Esa noticia. El siguiente va a ser Galería que eventos. Precios. Y para el último, inserta tu contenido. Bien, así que eso es todo sobre HTML. Es hora de empezar a peinar. Vamos al archivo style.css. Al principio voy a crear algunos estilos de reset. Vamos a deshacernos del margen predeterminado y el relleno de cada elemento. Selecciónelos usando asterisco. Y luego pasa tu margen cero y relleno cero también. Entonces voy a cambiar la familia de fuentes por elemento body. Así que vamos a seleccionarlo. Y luego inserte aquí dosis font-family, san-serif. A continuación, vamos a encargarnos del contenedor. Establezca su ancho y alto como un ancho. Escribamos aquí 100 por ciento. En cuanto a la altura. Voy a fijarlo como el 100 por ciento de la ventana gráfica. Así que bien, 100 pH que como fondo. Voy a poner una imagen. Así fondo derecho de lo que necesitamos aquí, gradiente lineal. Voy a usar tres colores diferentes. El primero va a ser RGBA 000 y la opacidad 0.4. A continuación, escribamos RGBA 14848, nuevamente 48 y opacidad Y luego insertar RGBA 167-60-7607 y opacidad 0.4. Después dentro de URL indica parte de las imágenes de la imagen y selecciona la imagen llamada bg dot JPG como la posición de fondo. Necesitamos Centro y también pasar aquí, no repita. Y por último, voy a usar la propiedad de tamaño de fondo con la cobertura de valor. Bien, así que la página de destino está lista. Tenemos aquí imagen de fondo a pantalla completa. Y ahora me voy a llevar aquí del menú de hamburguesas Como ya saben, constará de tres líneas y deberá colocarse en la esquina superior derecha de la página Al principio, seleccionemos el desarrollo rápido, que tiene un className, menú de hamburguesas Definamos su anchura y altura. Voy a configurar con 35 pixeles. En cuanto a la altura, vamos a asignarle 30 pixeles. Por ahora, el icono sigue sin ser visible. Y para arreglarlo, vamos a asignarle algún fondo temporal, digamos rojo. Bien, entonces ahora el icono que se muestra por defecto se coloca en la esquina superior izquierda. Pero como dije, voy a colocarlo en la esquina superior derecha de la página. Para eso, definamos esta posición como fija. Y luego necesitamos la posición superior, establecida como 50 píxeles y la derecha como 50 píxeles. Así que ahora puedo desplazarme en la esquina superior derecha. Y por último, voy a cambiar el cursor. Hagámoslo señalar. Bien, por ahora con el elemento div padre, ya terminamos. Es hora de trabajar en las luces. Sigamos adelante y seleccionarlos usando la línea de nombre de clase común. Después fijó su ancho como 100 por ciento. Significa que la línea ocupará todo el ancho de su elemento padre, que es de 35 píxeles. A continuación, voy a definir la altura. Hagámoslo tres píxeles y cambiemos también el color de fondo. Ves tu color chocolate. Bien, Ahora las líneas son visibles, pero están pegadas entre sí y tenemos que separarlas. Para lograrlo, voy a usar Flexbox. Hagamos el menú Hamburger flex container. Para eso necesitamos display flex. Luego cambia la dirección del flex. Tenemos que colocar líneas como columna. Entonces necesitamos flexión dirección columna. Y por último, para hacer algún espacio entre ellos, utilizar justificar los contenidos. Los valores caminan alrededor. Bien, entonces ahora las líneas están separadas y en realidad podemos deshacernos de ese fondo rojo. Bien, entonces el ícono de Menú ya está creado y antes de que lo hagamos funcionar, voy a personalizar la barra de navegación Deberíamos colocarlo del lado derecho. Así que sigamos adelante y seleccionemos elemento nav con nombre de clase navbar Al principio, definamos su anchura y altura. Voy a establecer su ancho como 300 pixeles. En cuanto a la altura, hagámosla al 100 por ciento. Luego cambia el color de fondo. Usemos tu color 26262. Bien, entonces para poder colocar ahora barra en el lado derecho, definamos esta posición como fija. Y luego hacer que las propiedades superior y derecha sean ambas cero. Bien, entonces navbar se posiciona de la manera correcta. Ahora voy a encargarme de la posición de los elementos de navegación. Quiero colocarlos perfectamente en el centro dentro de navbar Y para eso, usemos Flexbox aquí mismo. Flexión de pantalla. Que para centrar los elementos horizontalmente, use justify-content Centro. S para centrado vertical Use alinear elementos, centrar. Bien, entonces los artículos se colocan en el centro. Y lo último que quiero hacer respecto a navbar es personalizar su forma Y lo voy a hacer usando radio fronterizo. En realidad, esta propiedad puede tomar cuatro valores diferentes apropiados a cuatro esquinas. Estoy en esquina superior izquierda, arriba derecha, abajo derecha e inferior izquierda Así que somos capaces de definir diferentes radios de borde, cuatro columnas diferentes. En este caso, voy a personalizar las esquinas superior izquierda e inferior izquierda. En cuanto al resto de las esquinas, no las vamos a tocar. Entonces como valor de border-radius de la esquina superior izquierda, voy a insertar aquí el 20 por ciento Entonces, como decíamos, las esquinas superior derecha e inferior derecha no se cambiarán. Entonces necesitamos insertar aquí ceros dos veces. Y para la esquina inferior izquierda voy a usar 60%. Bien, entonces la forma de la barra de navegación está personalizada y ahora voy a darle estilo a los elementos de navegación Sigamos adelante y seleccionemos elementos UL. Tiene nombre de clase. No menos importante. Voy a colocar texto en el lado derecho. Entonces usemos texto alinear a la derecha. A continuación, seleccionemos elementos LI. Tiene nombre de clase, no artículo. Primero, deshagamos de las viñetas predeterminadas usando ninguno estilo lista Después crea algo de espacio usando margen. 25 semanas. Bien, ahora tenemos que seleccionar los elementos de enlace, que tiene el nombre de la clase nav link Vamos a deshacernos de los estilos predeterminados. Usando texto-decoración. Ninguno. Después aumentó el tamaño de la fuente, lo hacen 22 pixeles. Cambiar color. Ves tu color E. Además, voy a hacer que la fuente sea más clara usando font-weight 300. Luego crea algo de espacio entre letras usando el espaciado entre letras. Un píxel. Y finalmente hacer texto en mayúscula usando transformación de texto Mayúscula. Bien, eso es todo sobre los elementos de navegación Como recuerdas del proyecto terminado, vamos a crear algunos efectos de hover el cursor, debemos mostrar líneas en la parte superior e inferior de los artículos Se mostrará con una transición suave. Y desde los sentidos opuestos. En realidad vamos a crear esas líneas usando después y antes pseudo elementos Ambos tendrán algunos estilos comunes. Así que sigamos adelante y seleccionemos ambos pseudo elementos, derecho, enlace de navegación antes Después duplica esta línea y cambia antes y después. Entonces primero tenemos que definir los contenidos como vacíos. A continuación, voy a definir la anchura y la altura. Vamos a establecer con nosotros el 100 por ciento. Después haz la altura a píxeles y también cambia el color de fondo. Ves tu color chocolate. Por ahora, las líneas no son visibles porque son elementos en línea y por lo tanto no se aplican a la anchura y la altura. Entonces, si definimos su posición como absoluta, y luego si asignamos a los elementos padre, que no es la posición de enlace relativa, entonces se mostrarán ambas líneas. De un vistazo. Vemos aquí solo una línea, pero de hecho, ambas líneas se colocan una al lado Bien, a continuación voy a definir una posición izquierda para ambos elementos como cero. Ahora ambas líneas están tomando los mismos spots y para poder separarlos, tenemos que definir una posición inferior para después de pseudo elementos y tenemos que hacerla cero Así que vamos a copiar este selector y asignarle abajo cero. Entonces ahora ambas líneas están separadas. Como saben, por defecto, posición superior se establece como cero. Entonces, si no lo definimos manualmente, eso no va a ser un problema. Pero de todos modos, voy a definirlo. Así que vamos a duplicar este código. Luego cambia después, en antes. Y en lugar de abajo, derecha, arriba. Bien, lo último que queremos aquí es crear algo de relleno porque la línea de fondo está demasiado cerca del ítem Así que vamos a asignar a nav link padding en la parte superior e inferior derecha tres píxeles y luego cero en los lados izquierdo y derecho. Bien, eso es todo sobre las líneas ahora tienen que crear un efecto hover Por defecto, voy a ocultar esas líneas. Y cuando pasemos el cursor sobre los elementos, esas líneas se mostrarán suavemente desde las direcciones opuestas Para ocultar líneas, voy a usar Transform. Después escala x. tenemos que ponerla como cero. Entonces ahora al flotar, tenemos que aumentar la escala y hacerla una Así que sigamos adelante y seleccionemos el enlace de navegación con hover. Después agrega aquí antes. Duplica este selector y cambia antes y después. Y luego inserta tu Transformar, Escala x con el argumento uno. Y por último, para que el efecto sea más inteligente, vamos a usar la transformación de transición 0.5 s. bien, así que si pasamos el cursor sobre los elementos se mostrarán las líneas Pero como puedes ver, por defecto, empiezan a aparecer desde el centro. Sucede porque la propiedad de origen de transformación se establece como sensor por defecto. Entonces tenemos que cambiarlo para ambas líneas. Vamos a asignar a después de pseudo elementos, transformar origen. Hacerlo bien. Después copia este código y pegarlo para antes de pseudo elementos Y en vez de derecha, vamos a insertar aquí a la izquierda. Si pasamos el cursor sobre los artículos, entonces todo funcionará perfectamente Tenemos aquí un bonito efecto hover. Bien, entonces con la navegación, ya terminamos. Siguiente. Eso que tenemos que hacer es hacer que el menú Hamburguesa funcione. En primer lugar, voy a transformar icono de menú en x. Para ello tenemos que cambiar posiciones para primera y tercera líneas. En cuanto al segundo, debe calentarse. Así que sigamos adelante y seleccionemos la línea uno. Tenemos que rotar la línea uno por 45 grados según el eje z Para ser más precisos, para la línea uno, tenemos que usar Rotar Z -45 grados. Duplicemos este código. Cambiar el nombre de la clase a la derecha, línea tres. Y también deshazte del signo menos de aquí. Como decíamos, tenemos que ocultar la línea dos. Así que vamos a seleccionarlo y usar tu opacidad cero. Entonces como puedes ver, las líneas se rotan, pero aquí no tenemos ninguna x. Tenemos que encargarnos de las posiciones de las líneas. Para eso. Voy a añadir aquí traducir. Entonces como el valor de la dirección x, ¿verdad? Menos ocho píxeles, S4, eje y. Tenemos que pasar tus seis semanas. Vamos a copiarlo Y pegar cuatro líneas tres En lugar de seis píxeles necesitamos aquí solo menos seis picos. Ahora se considera. El problema está arreglado y tenemos aquí x. En realidad este no es el estado predeterminado del icono. Tenemos que hacerlo x cuando hacemos clic en él. Para lograrlo, voy a usar un poco de JavaScript. Pero antes de escribir algo de JavaScript, voy a añadir dos líneas. Nuevo nombre de clase, llamémoslo cambio. Después agregaremos esta clase dos navbar usando JavaScript. Y todo esto sucederá cuando hagamos clic en el icono. Vamos al archivo script.js y antes que nada, creamos una nueva variable, llamémosla icono de menú. Y luego seleccionar los desarrollos que tiene un menú de hamburguesas con nombre de clase Para eso necesitamos escribir documentos, puntos, consulta, selector, y pasar tu nombre de clase menú hamburguesa Luego, adjunta el oyente de eventos al ícono de Menú, derecha, ícono de menú, punto, agrega oyente de eventos Como primer argumento tenemos que pasar tu nombre de eventos, que es camarilla Que necesitamos pasar tu función, que va a ser una función de flecha. Ahora tenemos que agregar dos nuevas clases que se cambian como primero, vamos a crear una nueva variable, llamarla barra de navegación. Debe ser igual a documentos, puntos, QuerySelector. Vamos a insertar tu nombre de clúster navbar. Entonces dentro de la función, derecha, barra de navegación y propiedad más fácil llamada lista de clases Ahora puedes pensar que tenemos que usar tu método agrega, pero en este caso no va a funcionar porque cuando hacemos clic en el icono, el cambio de clase debería agregarse a Napa. Pero en Siguiente clic, debería ser eliminado. Y para lograrlo, en lugar de agregar, tenemos que usar el método llamado Toggle. Vamos a insertar el cambio de nombre de tu clase. Entonces, si hacemos clic en el icono, entonces se transformará en x. Y luego en el siguiente clic, obtendrá su estado predeterminado. Para que esto afecte al motor, volvamos al archivo style.css y asignemos a la transición de línea con valores 0.8 s. así que ahora un hecho se volvió más inteligente, pero creo que podemos hacerlo aún más agradable En lugar de girar las líneas solo por 45 grados, podemos dejar que hagan una rotación completa, rotación de 360 grados y luego vuelvan a girar 45 grados. Entonces como los valores tenemos que insertar aquí, suma de 360.45, que eventualmente es 405 grados Entonces ahora estás de acuerdo en que se ve mucho mejor. Bien, así que ya casi estamos ahí. La otra cosa que hay que hacer es ocultar suficiente puerto por defecto, mostrarlo onClick Para ello, cambiemos el valor de la posición correcta y hagamos que sea -300 píxeles Entonces ahora Navbar está oculto. Para moverlo de lado derecho a izquierdo, voy a utilizar de nuevo el cambio de clase. Vamos a asignarle, derecho, con valor cero. Ahora, si hacemos clic, se mostrará Napa, pero como invitado, para que el efecto sea más agradable, tenemos que usar transición con los valores ¿verdad? 0.8 s. y además, voy a usar tu función llamada cubic Bezier, que nos permite crear una transición personalizada En este caso, quiero que el efecto comience un poco más lento y termine más rápido. Para eso, voy a pasar tus valores 100.1. Entonces ahora podemos decir que todo funciona a la perfección. Tenemos aquí una barra de navegación de aspecto agradable y moderno con algunos efectos geniales 24. Proyecto 21 - botón creativo: En este tutorial, vamos a estar construyendo un botón bonito con algunos efectos geniales Aquí tenemos un solo botón en la página. Tiene algún contenido. Y una vez que pasemos el cursor sobre él, entonces el contenido se cambiará con algún efecto agradable Eso es, lo que vamos a construir. Espero que sea interesante. Entonces comencemos. En código VS. Tengo dos archivos diferentes, index.html y style.css. Dentro del archivo HTML, he preparado la estructura HTML básica, el elemento head. Tengo dos enlaces diferentes, uno para fuentes de Google y el segundo para style.css. Pero puedes descargar estos archivos de inicio desde el enlace en la descripción. Sigamos adelante y antes que nada, creamos el marcado HTML. Vamos a abrir el desarrollo, que va a ser un rapero. Así asignado a la clase BTN wrapper. Después dentro de él, botón Crear con un nombre de clase btn Entonces como el contenido del botón, voy a instituir a diferentes elementos span porque como recuerdas, cambiaremos esos contenidos cuando pasemos el cursor sobre el botón Así que abre elementos span con nombre de clase, BTN, textos uno, e instituye algún texto Digamos que explora más. Después duplicarlo. Cambió className en lugar de uno, ¿verdad? Dos. Y también cambiar el contenido, ¿verdad? Es interesante. Bien, eso es todo sobre el marcado HTML Ahora es el momento de escribir algo de CSS. Entonces vamos al archivo style.css. En primer lugar, voy a crear algunos estilos comunes. Selecciona todos los elementos usando un asterisco y establece el margen y el relleno como cero Además, voy a cambiar la familia de fuentes para cada elemento. Usemos aquí Josephine Sans sensorial. Bien, a continuación voy a cambiar el color de fondo del elemento del cuerpo Así que vamos a seleccionarlo y asignarlo a su color de fondo C, F, D, E cero. Ahora voy a definir ancho y alto para envoltorio btn. En realidad ocupará toda la página. Así que vamos a asignar a cada ancho. Y tristemente eso es al 100%. En cuanto a la altura, la voy a establecer como 100% de la ventana gráfica Bien, así que a continuación, vamos a jugar botón en el centro de la página Y lo voy a hacer usando posiciones y transformar traducir. Vamos a seleccionar el botón. Establecer su posición como absoluta. Entonces voy a moverlo de arriba a abajo en un 50 por ciento. Así que pongamos la primera posición como 50 por ciento y también moverla de izquierda a derecha en un 50 por ciento también. Por último, para centrar el botón perfectamente, necesitamos usar transform translate. Y tenemos que pasar tu -50 por ciento. Y luego otra vez -50 por ciento. Bien, así que una vez que el botón esté perfectamente centrado en la página, lo voy a personalizar. Definamos su anchura y altura. Establecer con como 250 píxeles. En cuanto a la altura, vamos a asignar a 70 píxeles. Después cambiar de fondo. En este caso, voy a usar un degradado lineal con tres colores diferentes. Y también voy a cambiar la dirección de la transición de color. Utilizaremos de abajo hacia arriba. Ese inseguro de tres colores diferentes. El primero va a ser 001 54c. El siguiente debería ser 123 76e como el último, ¿verdad? 234, 87f. Bien, entonces se cambia el color de fondo. Cambiemos también el color del texto. Que sea blanco. Además, voy a hacer un botón alrededor de él usando border-radius Devaluamos 50 píxeles. Entonces deshazte del borde predeterminado. Además de eso, me voy a deshacer del contorno predeterminado porque cuando hacemos clic en el botón entonces aparece la línea azul. Así que pongamos esquema como ninguno. También cambia el tipo de más grueso, hazlo puntero. Y por último, crear algún efecto de sombra. Usa box-shadow con los valores 015 píxeles, dos píxeles. Y como el color, derecho, RGBA 000.5. Bien, así que por ahora eso es todo sobre el botón. Ya se ve bien y ahora tendremos que cuidar su contenido. Así que vamos a seleccionar elementos span. Al principio, aumentó el tamaño de la fuente, lo convierten en 18 pixeles. Después transforma el texto en mayúsculas y crea algo de espacio entre letras usando el espaciado entre letras con el valor uno de los picos Bien, así que ahora es el momento de crear los efectos hover. Pero antes de eso voy a posicionar elementos span. Al principio, voy a trabajar en el primero Seleccionarlo y establecer su posición como absoluta. Por ahora, quiero ocultar el segundo elemento span para que nuestro proceso de trabajo sea más conveniente. Así que vamos a seleccionarlo y asignarlo a cada display, ninguno. Bien, definamos el ancho de los primeros elementos span y hagamos que sea 100 por ciento Después colóquelo en el centro del botón. Para eso necesitamos top position con el valor 50 por ciento. Entonces necesitamos izquierda cero. Ahora bien, para centrar los elementos a la perfección, tenemos que utilizar de nuevo transform. Pero en este caso traducir con la dirección y y con un valor -50 por ciento. Bien, eso es todo sobre los primeros elementos span. Ahora, voy a definir una posición para la segunda. Por defecto, lo voy a colocar abajo debajo del botón. Y luego al pasar el cursor lo moverá hacia arriba y lo mostrará como el contenido del botón Así que vamos a deshacernos de la exhibición ninguno de aquí. En realidad, también necesitamos usar propiedades similares para el segundo elemento span. Entonces voy a copiar esas propiedades de aquí y pegarlas para el segundo lapso. Como ve, ambos elementos span ocupan el mismo lugar, pero no lo necesitamos. Como dije, voy a colocar el segundo lapso abajo debajo del botón. Y para ellos, cambiemos el valor para la primera posición y hagamos que sea 150 por ciento. Bien, así que todo está listo, es hora de crear un efecto hover Al flotar. Voy a subir el primer texto. Quiero decir, debería estar oculto. En cuanto al segundo lapso, lo moverá también hacia arriba y se mostrará como el contenido de la culata. Entonces, seleccionemos el botón con hover. A continuación, seleccione los primeros elementos span. Entonces voy a subir el primer elemento span en un 100 por ciento. Entonces necesitamos establecer la posición superior como -100%. Entonces, si pongo el cursor sobre el botón que el texto se moverá hacia arriba. Ahora tenemos que mover este segundo lapso también. En realidad, vamos a duplicar este código. Cambiar el nombre de la clase. Te necesitamos para S4, la posición superior. Tenemos que fijarlo como 50 por ciento. Entonces, si pongo el cursor sobre el botón, entonces todos lo haremos o ellos obtendrán este resultado Ahora solo tenemos que personalizar este efecto. O sea, voy a agregarle alguna transición con los valores top y 0.2 s. ahora el efecto se ve mucho mejor y lo único que tiene que hacer es ocultar el texto mientras están fuera del botón. Para eso, voy a usar desbordamiento oculto. Bien, ahora todo estaba bien. Y en realidad con este pequeño proyecto, ya terminamos 25. Proyecto 22 - Presentación de diapositivas: Hola y bienvenidos a nuestro nuevo video en el que vamos a construir una presentación de diapositivas Antes de comenzar a construir los proyectos, voy a describir de qué se trata. Como puedes ver por defecto, esta presentación de diapositivas se está ejecutando con algunos buenos efectos de desvanecimiento Aquí abajo, tenemos un botón Reproducir Pausa. Si hago clic en él, entonces la presentación de diapositivas se detendrá. Y también en los lados izquierdo y derecho, se mostrarán a controles o flechas. Utilizándolos, puedes ejecutar esta presentación de diapositivas manualmente. Si hago clic en el botón Reproducir y coloco el cursor sobre el lado derecho o izquierdo, se mostrarán las flechas Si hago clic en alguno de ellos, esta presentación de diapositivas cambiará al modo manual Ya no se ejecutará automáticamente, y además el botón post se cambiará a la jugada, pero bien, sigamos adelante y empecemos a trabajar en ello. Aquí en el escritorio, he creado una carpeta flamante llamada slideshow, en la que tengo otra carpeta llamada images Incluye todas las imágenes que vamos a utilizar a lo largo de este proyecto. En realidad, puedes descargar los archivos fuente desde el enlace en la descripción. Están subidos en GitHub, ¿verdad? Sigamos adelante y abramos esta carpeta en VS Code. Voy a crear tres archivos diferentes. El primero va a ser index.html. Entonces necesitamos style.css y también scripts dot js file. Después ve al archivo index.html y crea un documento HTML básico. Para eso, necesitamos colocar un signo de exclamación y luego presionar Enter o la tecla Tab Sigamos adelante y cambiemos el título. Voy a insertar tu presentación de diapositivas. Entonces voy a vincular archivos CSS y JavaScript. Vamos a abrir la etiqueta de enlace. Agregar H refiere atributo indica el nombre del archivo, style.css. Luego abajo, justo encima etiqueta del cuerpo de cierre, abra la etiqueta script. Necesitamos aquí atributos de origen y tenemos que indicar el nombre del archivo script.js. Bien, por último, tenemos que ejecutar nuestro proyecto al navegador Para eso, voy a usar un servidor en vivo, que es un gran paquete, y nos permite ejecutar la vida del proyecto en el navegador sin actualizar la página cada vez que hagamos algunos cambios. Para que puedas seguir adelante e instalar este paquete. Para ejecutar un servidor en vivo, puede usar un clic derecho y luego elegir Abrir con servidor en vivo. Bien, sigamos adelante y organicemos un poco el editor de texto y el navegador, y luego comencemos a crear el marcado HTML El primer elemento que vamos a crear es un div, que en realidad será un contenedor. Envolverá todo el contenido. A continuación, necesitamos otro div. Incluirá la presentación de diapositivas en sí. Así que está asignado al envoltorio de presentación de diapositivas de nombre de clase. Después de eso, voy a pasar la flecha izquierda a estos desarrollos. Entonces sigamos adelante y open div tendrá dos clases diferentes. El primero va a ser un nombre de clase común para ambas flechas Control. Y luego voy a usar un nombre de clase individual, flecha izquierda. En realidad, esas flechas se crearán manualmente. No vamos a tener ningún íconos. Entonces voy a pasar aquí otro consejo con la flecha de clase. Y finalmente, tenemos que insertar aquí dos líneas representadas por desarrollos. Entonces el primer desarrollo debe tener clases, línea y línea uno. Duplicemos esta línea de código y cambiemos el nombre de clase que necesitamos aquí línea a. Bien, eso es lo de la flecha izquierda. Voy a duplicarlo para la flecha derecha y cambiar los nombres de clase que necesitamos aquí, flecha derecha. En cuanto a los números de línea, necesitamos 3.4. Bien, eso es lo de las flechas. Ahora voy a insertar entre ellos, las diapositivas, estoy en las imágenes Vamos a abrir desarrollos con diapositivas ClassName. Entonces cada imagen será envuelta por un desarrollo. Por lo tanto, vamos a abrirlo Con los nombres de las clases, diapositiva, diapositiva uno. En realidad, necesitamos usar esos nombres de clase numerados porque los vamos a usar desde JavaScript. Después inserta aquí una imagen. En realidad, no voy a usar un atributo alt, así que vamos a seguir adelante y deshacernos de él y luego seleccionar la imagen de la carpeta de imágenes. Entonces aquí está nuestra imagen. adelante y duplicemos la diapositiva dos veces por ahora y cambiemos los nombres de clase e imagen en ella aquí deslizamos también. Imagen dos y 3.3. Entonces en este momento tenemos tres imágenes, pero al final del día, puedes agregar tantas imágenes como desees. Funcionará bien y no estrellará el proyecto. Por último, voy a crear un botón de pausa de reproducción. Vamos a abrir desarrollos justo después de la flecha derecha y asignados a la pose de juego del nombre del clúster. Como el botón de pausa de reproducción. Voy a usar el icono Font Awesome. Y para ello, tenemos que agarrar el enlace CDN para Font Awesome Así que sigamos adelante y busquemos Font Awesome, CDN, js. Después ve a este enlace y luego agarra el primer enlace. A partir de aquí. Voy a abrir etiqueta de enlace. Y luego peguemos un enlace y el atributo de referencia H. Bien, luego abajo, inserte el elemento con los nombres de clase, FAS, f, guión, play Bien, eso es todo sobre el marcado HTML. Aquí tenemos imágenes y también el botón Reproducir justo después de eso. Ahora es el momento de comenzar a escribir algo de CSS. Pasemos al archivo style.css. Lo primero que voy a hacer es crear algunos estilos de reinicio. Entonces, seleccionemos todos los elementos usando un asterisco y fijemos el margen y el relleno como cero A continuación, seleccione el envoltorio de presentación de diapositivas. En realidad, voy a expandir estos elementos a toda la ventana gráfica Así que pongamos el ancho como 100%. Y luego altura como cien vh. Vh significa que la altura tomará el 100% de la altura de la ventana gráfica Ahora mismo, aquí no está pasando mucho. Entonces necesitamos agregar algunos estilos más. Tenemos que encargarnos del propio tobogán. Entonces sigamos adelante y seleccionémoslo. Pongamos ancho y alto, ambos como 100 por ciento. Y también voy a establecer su posición como absoluta. Nos permitirá colocar imágenes una encima de la otra. Ahora parece que tenemos aquí solo una imagen, pero de hecho, el resto de las imágenes se colocan en el fondo una encima de la otra. Bien, siguiente, cuidemos la imagen misma. Así que seleccione el elemento IMG. También necesitamos el mismo ancho y alto para la imagen. Entonces voy a heredar esas dos propiedades, ancho y alto Y también para que la imagen se vea bien, usemos la cubierta de pies de objeto. Por último, quiero que la imagen sea un poco más oscura. Y para lograrlo, voy a asignar a su elemento padre, fondo negro. Y luego vamos a disminuir la opacidad para la imagen. Voy a hacerlo 0.6. Bien, entonces creo que se ve mucho mejor ahora es el momento de empezar a trabajar en los controles izquierdo y derecho. Como recuerdas, ambas flechas tienen nombres de clase comunes. Control. Entonces sigamos adelante y seleccionémoslo. Vamos a establecer la posición es absoluta. Entonces para hacer que Controles Posición funcione de acuerdo a su elemento padre, que en este caso es un envoltorio de presentación de diapositivas Tenemos que usar posición relativa Siguiente, voy a establecer la posición superior. Hagámoslo cero. Y también definir el ancho y altura como un valor de la propiedad width. Voy a usar el ancho de la ventana. Hace que los controles sean más receptivos en diferentes tamaños de pantalla. Voy a usar 15 de ancho de ventana. Significa que el ancho de control va a ser 15% del ancho de la ventana gráfica En cuanto a la altura, pongámosla como 100 por ciento. Entonces ahora mismo, el control no es visible. Y para arreglarlo, sigamos adelante y cambiemos el color de fondo. En este caso, voy a usar el valor RGBA. Entonces voy a pasar aquí 902-90-4907. Y luego como el valor de la opacidad, voy a pasar 0.6 Entonces ahora como pueden ver, tenemos aquí el control en el lado izquierdo de la página. El segundo control no es visible en este momento porque en HTML se coloca después de la presentación de diapositivas, y por lo tanto anualmente arriba detrás de esta luz Para arreglarlo, voy a usar la propiedad z-index. Hagámoslo 100. Ahora, de un vistazo, tenemos el mismo resultado, pero de hecho, ambos controles se colocan uno encima del otro. Porque por defecto para ambos, la posición izquierda se establece como cero. Entonces tenemos que encargarnos de eso. Para la flecha izquierda, necesitamos que la propiedad left se establezca como cero. En cuanto a la flecha derecha, también necesitamos hacer la posición correcta cero. Bien, ahora todo funciona bien. Ambos controles se colocan de la manera correcta. Lo último que voy a hacer con respecto a los controles es establecer el tipo del cursor como punto. Bien, ahora es el momento de cuidar las flechas. Como decíamos, tenemos que crearlos manualmente con desarrollos. Entonces voy a seleccionarlos todos usando la línea de nombre de clase común. Ante todo, hagámoslos visibles. Para eso, tenemos que definir ancho y alto. Voy a establecer el ancho como puntos para correr. En cuanto a la altura. Hagámoslo diez rampas Y también definir el color de fondo. Voy a usar aquí llamado r d d d Phi, d Phi. Entonces aquí tenemos nuestras líneas. De hecho, tenemos cuatro líneas distintas y para transformarlas en flechas, necesitamos girarlas. Así que sigamos adelante y seleccionemos la primera línea, que tiene nombre de clase la línea uno. Voy a rotarlo 20 grados. Entonces para eso tenemos que usar transformar la propiedad. Entonces necesitamos rotar la función. Y dentro de paréntesis tenemos que indicar 20 grados. Como puede ver, la línea se gira pero está parcialmente oculta. Entonces para arreglarlo, voy a centrar las líneas dentro del control para eso. Voy a usar un par de propiedades y valores de flexbox El primero va a ser display flex. Entonces para centrar el elemento flex horizontalmente, necesitamos usar justify-content En cuanto al centrado vertical, necesitamos alinear los elementos al centro este momento la línea es visible y en realidad la flecha está centrada. Sigamos adelante y nos ocupemos de la segunda línea. Necesitamos girarlo en el mismo grado pero con dirección opuesta. Así que vamos a seguir adelante y duplicar este código aquí. Voy a cambiar el nombre de la clase. Necesitamos aquí, línea dos. Y también necesitamos 20 grados negativos. Bien, ahora ya tenemos una flecha, pero como pueden ver, las líneas están un poco alejadas entre sí Así que para arreglar eso, voy a moverlos ligeramente usando la función Translate. Tenemos que moverlos según el eje y. Entonces necesitamos traducir y con el valor 0.35 RAM. También necesitamos lo mismo para la segunda línea, pero nuevamente, con el signo menos. Entonces vamos a copiarlo, pegarlo aquí y aquí mismo, signo menos. Bien, así que ahora como pueden ver, tenemos aquí la flecha perfecta Sigamos adelante y hagamos lo mismo por el correcto. Duplicemos ambas líneas. Entonces voy a cambiar los nombres de las clases. Necesitamos la línea tres y la línea cuatro Para la tercera flecha, necesitamos un negativo de 20 grados. cuanto a la cuarta línea, solo necesitamos 20 grados. Bien, así que eso es todo sobre los controles. Lo último de lo que tenemos que encargarnos es el botón Reproducir Pausa. Entonces sigamos adelante y seleccionemos estos elementos. En primer lugar, voy a encargarme de la posición del botón porque en estos momentos no es visible. Terminó detrás de las diapositivas. Entonces pongamos su posición como absoluta. Entonces voy a decir el cinco por ciento inferior. Y que para poder centrar estos elementos, tenemos que establecer la posición del pestillo como 50 por ciento. Y además de eso, para un centrado perfecto, necesitamos usar Transform Con Translate X. Tuvimos que mover los elementos según la dirección X, y tenemos que pasar aquí -50 por ciento Entonces esta pequeña técnica nos permite enviar a través del elemento a la perfección. Por último, usemos el puntero del cursor. Bien, entonces ahora el botón es factible y está centrado. Por último, quiero que se vea bien. Entonces sigamos adelante y seleccionemos yo elemento en sí. Cambia el color del elemento, hazlo blanco, y también aumenta el tamaño de la fuente. Hazlo 50 pixeles. ¿Correcto? Entonces en este momento ya terminamos con CSS. Todos los elementos son estilizados. Y ahora tenemos que seguir adelante y empezar a escribir algo de JavaScript. Pasemos al archivo script.js. Así que al principio vamos a ejecutar esta presentación de diapositivas automáticamente Para eso, vamos a crear dos funciones distintas. El primero va a ser cambiar diapositivas. En realidad, creo que será mejor si dividimos el editor y mostramos también el archivo HTML, porque vamos a seleccionar algunos elementos usando JavaScript DOM. Entonces voy a seleccionar todas las diapositivas. Vamos a crear una variable llamada lista de diapositivas. Para seleccionar un par de elementos que tengan el mismo nombre de clase, podemos usar el método query selector all. Pasemos aquí la diapositiva del nombre de la clase. En realidad, cuando selecciona elementos usando el método de selección de consultas all, devuelve un objeto similar a una matriz llamado lista de nodos Y para poder manipular en esa lista como una matriz, tenemos que transformarla en una matriz. Así que sigamos adelante y creamos una nueva variable. Voy a llamarlo diapositivas. Ahora, para transformar la lista de nodos en una matriz, tenemos que usar array from method. Y tenemos que pasar tu lista de diapositivas. Bien, ahora voy a crear una variable que representará la diapositiva actual en la presentación de diapositivas Me refiero a esta diapositiva que se va a mostrar en la pantalla, el valor de esta variable va a estar cambiando. Por lo tanto, vamos a usar let declaration. Llamemos a esta variable actual y luego la pongamos como una sola. Entonces, por defecto, el valor de esa variable indicará el número de una diapositiva que se mostrará actualmente. ¿Bien? Así que hemos seleccionado todas las diapositivas y las hemos almacenado en una matriz. Como saben, tenían nombres de clase. Deslice uno, deslice dos, y así sucesivamente. Tenemos que recorrer la matriz, obtener acceso en la segunda parte de esos nombres de clase, principalmente números, y compararlos con el valor de la variable actual. Si son iguales, entonces tenemos que mostrar esa diapositiva. Y si no son iguales, entonces tenemos que ocultarlo. Bien, eso es. Lo que vamos a hacer. Para recorrer la matriz, voy a usar uno de los métodos de ayuda de matriz, que se llama for-each Tenemos que pasar aquí una función de flecha con la diapositiva actual. Entonces, para obtener acceso al nombre del clúster, podemos usar una propiedad llamada class list, que en realidad nos da una matriz de los nombres de clase. Entonces voy a usar declaraciones if. Entonces como condición, necesitamos la siguiente lista de clases de puntos de diapositiva. Entonces como dijimos, esta propiedad nos dará una matriz de los nombres de las clases. En este caso, esos nombres de clase serán slide, slide one. Necesitamos el segundo ítem, me refiero a la diapositiva uno. Entonces tenemos que indicar el número de índice como uno. Entonces después de eso necesitamos dividir este nombre de clúster en el guión Devolverá otra matriz en la que tendremos dos elementos, slide y uno Tenemos que agarrar el segundo ítem, que es uno. Entonces necesitamos indicar aquí el índice número uno. Espero que tenga sentido para ti. Así que ahora tenemos acceso al número de cada diapositiva, pero de hecho, el tipo de datos de este número no es un número, es una cadena Entonces tenemos que transformarlo en número. Y podemos hacerlo simplemente multiplicándolo por uno. ¿Bien? Entonces, si este número es igual al valor de la variable actual, entonces tenemos que mostrar la diapositiva actual. Para eso. Vamos a insertar aquí diapositivas estilo punto. Y luego voy a usar la propiedad llamada texto CSS, lo que nos permite usar varias declaraciones CSS. Entonces necesitamos aquí visibilidad, visible y también opacidad uno Si esta condición es falsa, entonces tenemos que ocultar estas diapositivas. Entonces necesitamos la declaración L. Entonces vamos a agarrar esta línea de código. Oculta la visibilidad. Opacidad cero. ¿Correcto? Eso es. Podemos llamar a esta función ahora. Y veamos cómo funciona. Ahora mismo. La corriente es igual a uno. Por lo tanto, vemos aquí la primera imagen. Para probar que puedo pasar el cursor sobre la ruta de la imagen aquí, archivo index.html Entonces puedes ver que esta es definitivamente la primera imagen. En realidad, si quieres previsualizar e imagen de esta manera, puedes instalar un paquete llamado vista previa de imagen. Bien, si cambio el valor de la variable actual, digamos 23, entonces se mostrará la tercera imagen Si vuelvo a verificar en el archivo index.html, entonces encontraremos la misma imagen. Todo funciona bien hasta ahora. Ahora, es el momento de hacer que la presentación de diapositivas se reproduzca automáticamente. Para eso, voy a crear otra función. Vamos a llamarlo play pause. Así que tenemos que cambiar la diapositiva después de cada 3 s. Así que necesitamos usar el método setInterval Entonces los primeros 3 s, se estará mostrando la primera imagen. Después de eso, esta función de devolución de llamada se ejecutará. Entonces tenemos que aumentar en uno el valor de las corrientes. Para eso, usemos el operador de incremento plus, plus. Y también necesitamos llamar a la función de cambio de diapositivas. Por último, eso es indicar aquí el intervalo. Voy a guardarlo como 3 s. y hay que expresarlo en milisegundos Entonces necesitamos 3 mil milisegundos. ¿Bien? Entonces, como puedes ver, diapositivas se está ejecutando con éxito Después de la última imagen, el valor actual sigue aumentando. Por lo tanto, estamos consiguiendo aquí una página en blanco. Por lo tanto, necesitamos usar declaraciones if en la función de diapositivas de cambio. Entonces, si el valor actual es mayor que la longitud de las diapositivas, necesitamos que sea una. Otra vez. Necesitamos, si nosotros, la condición actual es mayor que la longitud de puntos de diapositivas. Si esto es cierto, entonces tenemos que establecer actual como uno. Ahora, como puedes ver, la presentación de diapositivas se ejecuta infinitamente. Bien, entonces ahora necesitamos controlar el botón de pausa de reproducción. Por defecto, la presentación de diapositivas se ejecutará automáticamente. Pero una vez que hacemos clic en el botón Pausa, entonces tenemos que detener la presentación de diapositivas Entonces necesitamos agregar un par de cosas para jugar. Función de pausa. Voy a crear dos variables distintas. En el primero tendremos un valor booleano, lo que nos ayudará a establecer alguna lógica Declaremos una nueva variable, llamémosla pose de juego. Y por defecto la configuración eso es cierto. Además, necesitamos una variable llamada interval, que almacenará la función set interval que usamos hace un minuto. Así que tenemos que ejecutar esta presentación de diapositivas automáticamente si play post pool es cierto, y de lo contrario tenemos que detenerlo Entonces tenemos que usar declaraciones if en las que voy a comprobar si placa post booleano Es cierto o Si es cierto, tenemos que insertar la función set interval dentro de la sentencia if. Y también, como decíamos, tenemos que almacenar esta función en la variable de intervalo. Y después de eso tenemos que hacer que la pausa de reproducción bool sea falsa. Declaración de otro minuto siguiente. Si la función de pausa de reproducción se llamó La segunda vez, entonces significa que el valor de play pause Boolean se volvería falso Por lo tanto, se ejecutará toda la sentencia else en la que necesitamos borrar el intervalo. Y tuvimos que volver a establecer play pause booleano a true. Bien, lo siguiente que tenemos que hacer es adjuntar un evento click al botón de pausa de reproducción Entonces sigamos adelante y seleccionemos este elemento. Voy a usar el método selector de consultas. Entonces usamos className play pose. Y adjunto a cada oyente de eventos. Pasemos aquí, haga clic en evento y luego la función de flecha. Dentro de esta función tenemos que llamar a la función de poste de placa. Entonces ahora, como ves, la presentación de diapositivas se ejecuta automáticamente. Pero si hago clic en el botón, entonces se detendrá. Si vuelvo a hacer clic, entonces seguirá funcionando. ¿Bien? Ahora necesitamos cambiar el icono de este botón. Cuando hacemos clic en él. Por defecto, creamos un botón de reproducción y necesitamos cambiarlo a un botón de pausa cuando hacemos clic en el icono. Entonces necesitamos manipular con dos fuentes diferentes, nombres de clase increíbles, FAA reproducir una F, un pulso Entonces voy a crear una nueva función. Llamémoslo cambiar pose de juego. Entonces sigamos adelante y seleccionemos el icono. Es de nuevo el método selector de consultas. Pasa tu pose de juego de nombre de clase. Y luego la Irlanda. Después de eso, voy a tener acceso al nombre de segunda clase, que es FA dash play. Y para eso otra vez, voy a usar una propiedad de lista de clases. Así que vamos a crear una nueva variable. Voy a llamarlo un camino más corto. Ver ls. Entonces tenemos que escribir tu lista de clases de puntos de icono con el índice número uno. Bien, así que si el nombre de la clase es igual a f a play, entonces debemos eliminarlo y agregar un post y viceversa. Entonces voy a usar una declaración if. Tenemos que comprobar si clase es igual a f a jugada. Si esta condición es verdadera, entonces tenemos que eliminar este nombre de clase. Así que necesitamos icono punto más lista, y tenemos que usar el método remove con un nombre de clase FAA play Y al mismo tiempo tenemos que agregar al elemento clase diferente. Entonces necesitamos icon, class list, dot, add, FA dash posts. Entonces si esta condición es falsa, si philos no es igual a f, un juego de guión Else declaración en la que tenemos que eliminar de los elementos agrupando postes FAA y le agrega F una placa Así que tomemos esas dos líneas de aquí y solo cambiemos el nombre de la clase. Bien, lo último que hay que hacer es llamar a esta función, y tenemos que hacerlo en play pose function Entonces, como ves por defecto, tenemos un botón de pausa porque diapositivas se ejecuta automáticamente Pero si hago clic en el icono, se volverá a cambiar al botón de reproducción y también se detendrá la presentación de diapositivas Bien, eso es todo sobre esta parte. A continuación, tenemos que encargarnos de los controles. Cuando hacemos clic en cualquiera de las flechas, entonces la presentación de diapositivas debería detenerse, y deberíamos poder cambiar las diapositivas manualmente Entonces, antes que nada, tenemos que seleccionar las flechas. Empecemos con una flecha a la izquierda. Voy a utilizar de nuevo el método QuerySelector. Hagamos una pausa aquí agrupando la flecha izquierda, luego adjuntamos a ella Oyentes de eventos. Con un evento click. Onclick, tenemos que llamar a la función de pausa de reproducción si la pose de reproducción booleana Porque cuando es falso, significa que la presentación de diapositivas se ejecuta automáticamente Una vez que llamamos a una función de pausa de juego , debería detenerse. Entonces necesitamos una declaración if que como condición debemos verificar. Si no juega pose booleana. Entonces necesitamos llamar a la función de pausa de reproducción. También en caso de hacer clic en la flecha izquierda, necesitamos disminuir el valor actual en uno. Entonces necesitamos corriente con decremento operador menos, menos. Tenemos que volver a llamar a la función de cambio de diapositivas. Entonces, si hago clic en la flecha, entonces solo obtendremos una página en blanco. Ocurre porque el valor actual se convierte en cero. Y con cero no tenemos ningún número de diapositiva. Entonces tenemos que evitar este tipo de cosas. Para eso, vamos a cambiar la función de diapositivas y agregar aquí. Else if declaración. Tenemos que verificar si la corriente es igual a cero. Si es así, si esto es cierto, entonces la corriente debería ser igual a la longitud del punto de las diapositivas. Ahora bien, si vuelvo a probar, funcionará bien. Bien, necesitamos lo mismo para la flecha derecha también. Así que sigamos adelante y dupliquemos este código. Voy a cambiar el nombre de la clase. No oímos la flecha derecha. En el caso de la flecha derecha, necesitamos aumentar el valor actual en uno. Entonces, en lugar de signos menos, necesitamos aquí más, más. Bien, así que todo funciona bien. Paso a paso. Vamos al final de este proyecto. Pero aún así tenemos que hacer un par de cosas para nuestra presentación de diapositivas se vea mejor Entonces, por defecto, cuando esta presentación de diapositivas se ejecuta automáticamente, los controles deben estar ocultos Y tenemos que mostrarlos cuando pasamos el cursor sobre las flechas Y también necesitamos mostrarlos una vez que detengamos la presentación de diapositivas Entonces sigamos adelante y vayamos al archivo style.css. Voy a crear una nueva clase. Llamémoslo flechas visibilidad. Tenemos que asignarle opacidad cero. Vamos a añadir y eliminar esta clase dinámicamente de JavaScript. Además de eso, tenemos que hacer que los controles aparezcan al flotar. Entonces necesitamos control sobre y establecer la opacidad como una sola. Finalmente, hagamos un efecto hover más agradable usando Tenemos que insertar aquí opacidad, luego duración 0.5 s, y también usar una de las funciones de temporización de transición llamada lineal Bien, eso es todo sobre CSS. Volvamos al archivo JavaScript. Voy a crear una nueva función. Llamémoslo flechas visibilidad. En primer lugar, tenemos que seleccionar ambas flechas. Vamos a hacer eso usando de nuevo query selector all method. Ambas flechas tienen el control de nombre de clase común. Entonces voy a recorrerlos y en base a alguna condición, agregar y eliminar visibilidad de flechas de racimo recién creadas. En primer lugar, para mirar a través de las flechas, necesitamos transformar la lista de nodos en una matriz. Ya sabes cómo hacerlo. Tenemos que usar array dot from. Entonces tenemos que pasar flechas que para recorrer el array que tenemos que usar para cada método. Pasemos tu función de flecha con flecha actual. Entonces, si la presentación de diapositivas se ejecuta automáticamente, entonces deberíamos ocultar las flechas Así que si declaración luego insertar aquí como una condición, reproducir pausa Boolean Si es cierto, entonces necesitamos agregar a la lista de clases de la flecha, flechas de clase visibilidad. Entonces necesitamos una lista de clases de puntos de fila. Entonces tenemos que usar el método llamado ed. Y tenemos que pasar aquí el nombre de clase flechas visibilidad. De lo contrario, si la presentación de diapositivas no se ejecuta automáticamente, tenemos que eliminar esta clase Entonces necesitamos la declaración L. Entonces vamos a agarrar esta línea de código. En lugar de métodos ágiles utilizados eliminar. Y finalmente, sigamos adelante y llamemos a esta función en función de pausa de reproducción. Bien, por defecto, las flechas están ocultas. Si vuelo el cursor sobre ellos, deberían aparecer. Si hago clic en alguna de ellas, esta presentación dejará de ejecutarse automáticamente, y podremos cambiar las diapositivas manualmente Además, si hago clic en el botón Pausa, entonces se mostrarán las flechas. En realidad ya casi terminamos. Lo único que hay que hacer es agregar algún efecto de desvanecimiento. Dos diapositivas que hice para agregar efectos de desvanecimiento cuando estas diapositivas están cambiando. Para eso en CSS, necesitamos agregar una transición a una diapositiva que se le asigne opacidad y la duración 1 s. Y también para hacer que el efecto fade sea más oscuro, tenemos que cambiar el color de fondo para el wrapper de diapositivas Hagámoslo negro. Bien, eso es. Enhorabuena, hemos terminado de construir este proyecto. Como puedes ver, todo funciona a la perfección. En realidad, voy a añadir aquí algunas imágenes más. Duplicemos la diapositiva tres veces y cambiemos los nombres de las clases. Además, necesitamos cambiar los nombres del Okay, que puedas adherir tantas imágenes como desees. Solo necesitas numerar las clases de la manera correcta. 26. Proyecto 23 - botón de radio CSS personalizado: En este video, vamos a estar construyendo un botón de radio CSS personalizado. Básicamente en diferentes sitios web, es posible que veas botones de radio predeterminados, que creo que no se ven del todo bien. Entonces en este video, podrás aprender sobre cómo crear botones de radio modernos y geniales usando solo HTML y CSS. Bien, así que como veis, tenemos aquí dos botones de radio, opción uno y opción dos Tenemos círculos verdes. Y si les hacemos clic, se comprobarán muy bien con algún efecto de desvanecimiento. Bien, entonces veamos qué vamos a construir. Aquí en el código VS tengo dos archivos diferentes, index.html y style.css. Dentro del documento HTML, tradicionalmente, he preparado la estructura básica del documento HTML. Tenemos aquí dos enlaces diferentes, uno para fuentes de Google y otro para el archivo style.css. Bien, sigamos adelante y como de costumbre, comenzamos a construir el marcado HTML Voy a abrir un elemento div, que debería ser un envoltorio para ambas opciones. Entonces está asignado a su envoltorio de nombre de clase. Entonces abrir otro desarrollo que será una opción en sí misma. Así asignado a su opción de clúster. Dentro de los elementos div, necesitamos dos elementos. El primero va a ser ingresado como el tipo que necesitamos aquí, radio. Además de los atributos de tipo, necesitamos otros dos atributos. El primero va a ser una identificación. Utilizaremos el ID para vincular entradas y etiquetar elementos y crear un evento click. Entonces vamos a asignarle el valor, marque uno. También necesitamos aquí el atributo name. El atributo name no nos permitirá verificar varios botones de opción simultáneamente. Vamos a asignarle valor radio. A continuación necesitamos una etiqueta. Como dijimos, vamos a vincular elementos de entrada y etiqueta. Y para ese ID y cuatro atributos deben tener exactamente los mismos valores. En este caso, necesitamos aquí verificar uno. Bien, vamos a tener dos opciones. Entonces, dupliquemos el desarrollo. Y lo único que tenemos que hacer es cambiar los valores para ID y para cuatro atributos. En lugar de marcar uno, tenemos que verificar dos. Bien, eso es todo sobre HTML. Vamos al archivo style.css y comencemos a escribir algo de CSS. En primer lugar, vamos a crear algunos estilos de reinicio. Seleccione cada elemento usando un asterisco. Luego establece el margen y el relleno como cero. Y también necesitamos aquí box-sizing, border-box. A continuación, voy a seleccionar envoltorio. Definamos este ancho y alto. Voy a establecer el ancho como cien por ciento. En cuanto a la altura, quiero referirme a ocupar el 100% de la ventanilla Y para eso, tenemos que usar unidad de medida llamada el H. Bien, voy a centrar el contenido perfectamente en la página para eso. Usemos flexbox. Necesitamos mostrar flex que para poder centrar el elemento horizontalmente, tenemos que usar justify content center, S4, centrado vertical Necesitamos alinear los artículos al centro. Y por último, como ves, las opciones se colocan una al lado de la otra horizontalmente, pero tenemos que colocarlas Y para eso, cambiemos dirección del flex y hagamos que sea columna. Bien, eso es todo sobre envoltorio. A continuación, voy a darle estilo a una opción. Así que vamos a seleccionarlo. Primero. Definamos su anchura y altura. Voy a establecer con 400 pixeles. En cuanto a la altura, hagamos que sea de 100 píxeles y también cambiemos el color de fondo. Ves tu color gris claro, ¿verdad? CCC. A continuación, vamos a crear un poco de espacio alrededor de cada opción usando el margen. Vamos a configurarlo como 20 píxeles y también crear algo de espacio dentro de la caja usando relleno, 20 píxeles. Por último, quiero colocar elementos verticalmente en el centro para eso, vamos a ver de nuevo, Flexbox, derecha, mostrar flex y luego alinear los elementos al centro Bien, así que eso es todo sobre la opción. Después de eso, sigamos adelante y diseñemos la etiqueta. Se seleccionó la etiqueta de opción correcta. Al principio, cambiemos la familia de fuentes. Voy a usar su fuente llamada Josephine slab san serif Después aumenta el tamaño de la fuente, hazlo 60 pixeles. Y por último, cambia el tipo de más basto, hazlo puntero. Bien, así que ahora es el momento de crear un botón de radio del cliente Para eso voy a usar después y antes pseudo elementos El botón de radio, constará de dos partes. Tendremos un círculo exterior, que se creará usando después de pseudo elementos En cuanto al círculo interno, debe ser antes del pseudo elemento Entonces sigamos adelante y seleccionemos después de pseudo elementos, ¿verdad? Opción, etiqueta. Después. Primero, hagamos su contenido Vacío. Entonces para alinear los elementos, fijemos su posición como absoluta. En realidad, voy a posicionar círculo acuerdo a una opción div elementos. Y para ello, tenemos que asignar a cada posición relativa. Después de eso. Para que los elementos sean visibles, definamos su ancho y alto. Voy a hacer que ambos sean 50 pixeles. Y también crear frontera. Al valor se le asignan cinco píxeles, sólidos. Y el color cero, a, a, c83. Ahora el elemento es visible. Tiene la forma de un cuadrado, y en realidad queremos transformarlo en un círculo. Para eso, definamos un radio de borde con un valor 50%. Bien, así que ahora es el momento de alinear esos círculos. Definamos la posición correcta y hagamos que sea 15%. Y por último, crear un pequeño efecto de sombra, sombra de caja derecha con los valores 003 píxeles. Y luego usar color RGBA 000 y opacidad 0.8. Bien, así que eso es todo después de pseudo elementos. Ahora tenemos que crear un círculo interno usando antes de pseudo elementos En realidad vamos a necesitar propiedades similares para ambos círculos. Así que vamos a seguir adelante y duplicar todo este código y luego hacer algunos cambios. En primer lugar, cambiemos después, antes, luego deshacernos de la propiedad fronteriza. Y en lugar de eso, inserte el color de fondo y se le asigne color cero, un c83 Después de eso, cambiemos el tamaño del círculo. Para eso voy a disminuir ancho y alto. Hagamos que ambos sean 40 píxeles. Y ahora tenemos que encargarnos de la posición del elemento. Tenemos que pasarlo perfectamente en el centro dentro del círculo exterior. Así que definamos la posición superior y hagamos que sea 50 por ciento. Entonces usa transform. ¿Traducir por qué? Lo estoy usando para mover un elemento de su posición actual un poco hacia arriba. Entonces, insertemos aquí -50 por ciento. Y por último, tenemos que mover los elementos un poco hacia el lado izquierdo. Para ello, cambiemos el valor de la posición correcta en lugar de 15. Intentemos 17. Como veo, no es suficiente. Cambiémoslo y hagamos 17.5. Bien, Ahora se ve bien. Y en realidad con el estilo, ya terminamos. Ahora tenemos que hacer que la casilla de verificación funcione. Entonces como dijimos al inicio de esta conferencia, tenemos que vincular entrada y etiqueta para crear evento click. Entonces, en general, para los usuarios, esos círculos funcionarán como los botones de radio. Es decir, visualmente, van a representar el botón de radio. Pero de hecho, detrás de escena, estas pequeñas entradas, haremos el trabajo principal. Bien, así que ya tenemos todos los elementos de etiqueta y entrada vinculados usando id y cuatro atributos Y en realidad esta conexión nos permite comprobar el botón de radio cuando hacemos clic en esos círculos y en realidad toda la etiqueta. Así que eventualmente esto nos permitirá crear el evento click. Vamos a escondernos en círculos por defecto. Y luego los mostraremos una vez que hagamos clic en la etiqueta. En otras palabras, una vez comprobamos el botón de radio original. Entonces para lograrlo, voy a usar uno de estos pseudo-clase que voy a usar uno de estos pseudo-clase se llama checkbox, lo que nos permite definir diferentes estilos CSS cuando la casilla de verificación está marcada Así que vamos a seleccionar elementos de entrada, ¿verdad? Entrada de opción. A continuación, utilice pseudo-clase llamada checked. Ahora tenemos que obtener acceso en el círculo interno, que es antes pseudo elemento Para eso, voy a usar uno de estos combinadores CSS, que se llama selector general de hermanos Y se expresa por el signo tilda. Ahora, tenemos que seleccionar elementos sobre los que debemos manipular. En este caso antes pseudo elemento, derecho, etiqueta con antes Ahora, antes de definir un estilo para estos elementos, vamos a hacer ambos círculos ocultos, asignados a antes de pseudo elementos opacidad a cero Ahora como ves, ambos círculos están ocultos por defecto y onclick, tenemos que mostrarlos de nuevo. Entonces vamos a insertar aquí la opacidad uno. Entonces, si hacemos clic en alguno de los botones entonces deberían ser revisados. Bien, así que ya casi terminamos. Solo tenemos que personalizar un par de cosas. Hagamos que el efecto de comprobación sea más inteligente usando la transición asignada a la opacidad Y la duración 0.4 s. también voy a ocultar elementos de entrada predeterminados. Así que vamos a seleccionar la opción de entrada e insertar aquí mostrar ninguno. Y por último, la opción Eliminar fondo de. Bien, así como puedes ver, todo funciona a la perfección. Y ahora ya sabes cómo crear botones de radio realmente bonitos y modernos, que son mucho mejores que los predeterminados. 27. Proyecto 24 - Tarjeta de visita: Hola y bienvenidos a nuestro siguiente tutorial. En este video, vamos a estar construyendo una tarjeta de presentación 3D de aspecto bonito Este pequeño proyecto se creará en base a HTML y CSS. Antes de comenzar a trabajar en este proyecto, sigamos adelante y describamos rápidamente lo que vamos a crear. Entonces aquí está nuestra tarjeta de presentación. El lado frontal consta de dos partes. En el lado izquierdo tenemos un logo con el diseño web de texto. En cuanto al lado derecho, aquí tenemos alguna información sobre la persona, cosas como nombre, número de teléfono, correo electrónico, dirección. Si pasamos el cursor sobre la tarjeta, entonces estará rotando en el espacio 3D Y se mostrará la parte trasera en la que tenemos un logotipo de la empresa Bien, eso es todo, lo que vamos a construir. Nuevamente, todas estas cosas se crearán usando solo HTML y CSS puros. Aquí en el código VS, tenemos dos archivos abiertos, index.html y style.css. Y también tengo una carpeta llamada images en la que almacenamos logo de la empresa. Usted es capaz de descargar estos archivos fuente de inicio desde el enlace en la descripción. Bien, entonces dentro del archivo HTML, he preparado la estructura básica del documento HTML Dentro del elemento cabeza tenemos un par de eslabones. Enlaces para fuentes de Google, Font, iconos impresionantes, y también tenemos un enlace para el archivo style.css. Sigamos adelante y comencemos a crear el marcado HTML. Vamos a abrir el desarrollo, que debería ser un envoltorio de la tarjeta. Así que vamos a asignarle envoltorio de tarjeta de nombre de clase. A continuación, voy a abrir otro desarrollo, que será la propia tarjeta. Así que vamos a asignarle tarjeta de clase. Entonces como decíamos, la tarjeta constará de dos partes, parte frontal y la trasera Entonces, insertemos su desarrollo con el nombre de clase llamado front. El lado frontal en sí tendrá dos partes, izquierdo y derecho. Entonces voy a insertar aquí y otro desarrollo con clase izquierda. Por lo que el lado izquierdo constará de dos elementos. El primero va a ser una imagen. Entonces vamos a abrir elementos IMG. Entonces en atributo fuente, Indiquemos parte de la imagen. Tenemos carpeta llamada images, y tenemos que seleccionar logo dot PNG. A continuación necesitamos h para encabezar elementos. En realidad incluirá dos palabras distintas, diseño web. Voy a envolver el primero con elemento span. Vamos a abrirlo. Que inserte web. Y luego firmar a la derecha. Bien, eso es todo sobre el lado izquierdo. Vamos a abrir el desarrollo, cual va a ser el lado derecho asignado a la clase, ¿verdad? Constará de varias partes. El primero va a ser una persona. Entonces vamos a abrir el desarrollo. En realidad la parte de la persona constará de dos partes distintas. Tendremos el icono Font Awesome en el lado izquierdo. En cuanto al lado derecho, incluirá el nombre de la persona y también el puesto y la empresa. Asignemos al desarrollo nombres de clase, persona, y luego escribamos contenido. Después inserta tu icono Font Awesome, abre el elemento I con nombres de clase, FAS, FA, dash, user, tie. Entonces necesitamos abrir desarrollos. Pasemos tus elementos de ocultación H4 con texto. John Smith. Después abra el párrafo e inserte en el diseño web de TI. Bien, así que vamos a tener para partes similares en el lado derecho Sigamos adelante y dupliquemos todo el desarrollo tres veces y luego hagamos algunos cambios. Para el segundo, necesitamos aquí className, phone Luego cambie el nombre de la clase para el elemento AI también. Necesitamos aquí, otra vez el teléfono. Al minuto siguiente aquí ambos elementos para ser párrafos. Entonces, eliminemos el encabezado. Entonces. Duplica esta línea de código e inserta aquí algunos números de teléfono ficticios ¿Bien? La siguiente parte va a ser un correo electrónico. Cambiemos el nombre de la clase, ¿verdad? Correo electrónico. También necesitamos aquí diferente Fuente, Icono impresionante. Cambiemos la clase. Necesitamos aquí. Sobre, abierto. Entonces otra vez se deshace del elemento encabezado de aquí y cambia el texto del párrafo. Vamos a insertar aquí algún correo electrónico ficticio. Juan smith@gmail.com. Bien, la última parte va a ser para una dirección. Entonces cambiemos el nombre de la clase aquí mismo en reposo. Luego también cambia el nombre de la clase para los elementos de IA. Necesitamos aquí mapa Dash, marcador, ALT. Entonces otra vez, borre un elemento de encabezado. Duplicar párrafo e insertar sus siguientes textos. Calle Principal, 1234, párrafo segundo. Vamos a insertar aquí Nueva York y y. Bien, así que eso es todo sobre la parte frontal Ahora voy a crear la parte trasera, que va a ser un desarrollo muy sencillo, vamos a abrir Y asignado a su dorso de tarjeta de clase. Aquí necesitamos un solo elemento, que será una imagen así que se inserta. Y como el atributo source, vamos a indicar parte de la imagen. Bien, así que eso es todo sobre el marcado HTML. Ahora, es el momento de comenzar a peinar. Vayamos al archivo style.css. En primer lugar, voy a crear algunos estilos de reset. Vamos a deshacernos del margen predeterminado y el relleno de cada elemento. Para poder seleccionar todos los elementos, tenemos que usar un asterisco Entonces pasemos tu margen cero, n, relleno cero. A continuación, seleccionemos el elemento del cuerpo. Voy a cambiar la familia de fuentes. Vamos a usar aquí encontrado llamado Montserrat san-serif. Que cambiar el color de fondo. Hágalo gris claro usando el color C. C, C. Bien, ahora voy a trabajar en envoltorio de tarjetas, pero antes de eso, para que nuestro proceso de trabajo sea más conveniente, sería mejor si disminuyéramos el tamaño de las imágenes Voy a hacer eso desde el documento HTML. Así que sigamos adelante y asignemos a ambas imágenes con atributos con el valor cien y 50. Bien, entonces ahora las imágenes son más pequeñas y podemos seguir adelante. Vamos a seleccionar llamar al envoltorio. Voy a colocarlo perfectamente en el centro para eso, definamos su posición como absoluta. Entonces tenemos que establecer las propiedades superiores e izquierdas como 50 por ciento. Y finalmente, para centrar el elemento a la perfección, necesitamos usar transform translate. Tenemos que insertar tus valores -50 por ciento y luego otra vez -50 por ciento. Bien, así que eso es todo por ahora respecto al envoltorio de tarjetas. A continuación, voy a trabajar en la propia tarjeta. Entonces sigamos adelante y seleccionémoslo. Al principio, definamos su anchura y altura. Voy a establecer el ancho como 550 pixeles. Altura. Vamos a establecerlo como 300 píxeles. Y también cambiar el color de fondo y hacerlo blanco. Ahora, voy a empezar a peinar el anverso y creo que sería mejor si escondemos el trasero por un tiempo Hagámoslo desde el documento HTML. Voy a asignar a comer el atributo que se llama aquí. Después vuelve al archivo style.css, selecciona Tarjeta, Frontal. Definir su anchura y altura. Hagamos los dos al 100%. Bien, a continuación voy a colocar los lados izquierdo y derecho, lado a lado Para eso, usemos display flex. Y ahora voy a dividir la parte frontal usando la función de degradado lineal. Como recuerdas de la versión terminada de este proyecto, la parte frontal se divide en dos partes diferentes, y el lado derecho tiene un color diferente. Entonces para lograrlo, vamos a usar la propiedad de fondo con un degradado lineal. Vamos a insertar tus colores. El primero va a ser RGB a 55, a 55, y nuevamente a 55. En realidad es de color blanco. Según segundo uno, voy a usar RGB 308-30-8308. Ahora quiero definir la dirección de la transición de color. Entonces vamos a insertar aquí como primer argumento, cien grados. A continuación, para dividir muy bien esos dos colores, agreguemos dos de cuello blanco, el valor 40% como Paul, el segundo color Escribamos aquí cero. Entonces como se puede ver ahora la parte delantera se juega muy bien en dos partes. Sigamos adelante y comencemos a trabajar por el lado izquierdo. Vamos a seleccionarlo usando className left. En primer lugar, definamos el ancho y hagamos que sea 40 por ciento. Entonces voy a colocar el contenido perfectamente en el centro del lado izquierdo. Para eso, usemos flexbox. Entonces necesitamos cambiar la dirección del flex. Hagámoslo columna. Y luego con el fin de colocar los artículos en el centro, vamos a utilizar justificar el centro de contenidos. Y también necesitamos alinear elementos. Centro. ¿Correcto? A continuación voy a definir el tamaño de la imagen. Pero ahora desde CSS, vamos a seleccionarlo. Punto derecho a la izquierda, IMG y se sentó con nosotros 80 por ciento. Después ve al archivo index.html y deshazte de los atributos width del elemento image. Ahora bien, lo último que quiero hacer respecto al lado izquierdo es encargarme de los elementos de rumbo. Entonces sigamos adelante y lo seleccionamos derecha, puntos, izquierda, H4. Luego crea algo de espacio alrededor del encabezado usando margen. Vamos a establecerlo como diez píxeles. Después aumenta ligeramente el tamaño de la fuente. Voy a hacer 18 pixeles. Y crea algo de espacio entre letras usando el espaciado entre letras con los picos del valor uno. Bien, finalmente, voy a personalizar la primera palabra de encabezado. Seleccionemos el elemento span, punto derecho span izquierdo. Hagamos el texto en mayúsculas usando texto, transformemos. Mayúsculas y cambiar de color. Usemos tu color, 0d56, 92 . Bien, eso es. Sobre el lado izquierdo. Hemos terminado de trabajar en ello, y ahora es el momento de personalizar el lado derecho. Vamos a seleccionarlo, derecha, derecha. Después defina su ancho y hágalo 60 por ciento. Y cambiar el color del texto. Hazlo blanco. Bien, a continuación voy a seleccionar el contenido adecuado. En realidad, como recuerdas , consta de dos partes distintas. La fuente, el icono impresionante y el texto. Quiero colocarlos uno al lado del otro. Y para eso, usemos Flexbox, ¿no? Flexión de pantalla. Y también quiero alinearlos verticalmente en el centro. Para eso necesitamos una línea de pedido con Centro de Valores. Y finalmente, vamos a crear algo de espacio en la parte superior e inferior usando el margen. Vamos a asignarle valores 20 píxeles y luego cero. Bien, sigamos adelante y comencemos a diseñar la primera parte, que es una persona Vamos a seleccionarlo con nombre de clase, persona. Cambio, su color de fondo. En este caso, voy a usar color 1187 AAC. Luego crea algo de espacio dentro de la caja usando relleno. Voy a poner el relleno en la parte superior como cinco píxeles, luego cero en el lado derecho, cinco píxeles en la parte inferior y 30 píxeles en el lado izquierdo. Además, agreguemos algo de espacio en la parte superior e inferior de la caja. Usa margen con los valores 30 píxeles y cero. Y por último, voy a crear algún efecto de sombra. Usemos sombra de caja con los valores 010 píxeles, 20 píxeles. Y como el color correcto RGBA, inserta tu color negro 000, y la opacidad 0.3 Bien, ahora se ve mucho mejor. A continuación, quiero encargarme del icono Font Awesome. Así que vamos a seleccionarlo puntos correctos, contenidos correctos que yo. Al principio, definamos ancho y alto. Voy a hacer ambos 35 pixeles. Además, quiero que el icono tenga el borde. Así que vamos a asignar dos valores, dos píxeles, sólido y color blanco. Y quiero que sea redondeado. Entonces necesitamos aquí radio fronterizo con valor 50 por ciento. Como C. Por ahora, los íconos no se ven del todo bien. Quiero que se coloquen perfectamente en el centro dentro del círculo. Para eso, usemos de nuevo flexbox. Necesitamos aquí display flex. Entonces justifique el centro de contenido, y también alinee los elementos al centro. Ahora como ves ahí, luciendo bien, vamos a cambiar el color de fondo. Usa tu color 11878. Y finalmente, crear algo de espacio en el lado derecho usando margen derecho? 20 píxeles. Bien, así que paso a paso, estamos avanzando. Lo siguiente que quiero hacer es transformar el nombre de la persona en mayúsculas Así que vamos a seleccionar elementos de encabezado y asignarle texto transformar con valor mayúsculas Bien, eso es todo sobre la persona Ahora como ve, tenemos que encargarnos de una alineación del resto de las partes. Empecemos por el teléfono seleccionado y asignado a él. Relleno a la izquierda con el valor 30 píxeles. Duplicemos este código dos veces. Cambiar los nombres de las clases. Necesitamos tu dirección de correo electrónico. Y también cambiar los valores de la propiedad padding-left. Para el segundo, necesitamos 20 píxeles y para la dirección, necesitamos diez picos. Bien, ahora tenemos que empezar a trabajar en hacer un efecto 3D En primer lugar, necesitamos preparar el entorno 3D para la tarjeta y también para que incluya partes. Para eso tenemos que asignar dos propiedades envoltorio de tarjeta llamada perspectiva. Tenemos que establecerlo como mil píxeles que necesitamos para la propiedad de la tarjeta llamada transform style, que debe tener valor. Preservar 3D. Usamos esta propiedad porque también necesitamos preparar un ambiente 3D para los elementos hijos del automóvil. Ahora mismo, como la parte frontal, tenemos que iniciar también la parte trasera En primer lugar, hagamos visible la parte trasera para eso, vayamos al archivo index.html y deshagamos del atributo oculto Después vuelve al archivo style.css. Ahora, voy a rotar la tarjeta ciento 80 grados. Para eso, tenemos que usar Transformar. Después rote y n dentro del paréntesis. Tenemos que insertar 180 grados. En realidad, como ves, parte frontal sigue siendo visible y no la necesitamos. Y para que se oculte, tenemos que usar una propiedad llamada blackface visibility. Tenemos que asignarle valor llamado oculto. Como veis, se gira el logo y tenemos que arreglarlo. Para eso, seleccionemos dorso de tarjeta. Y asignado a ello transformar rotar y con el valor ciento 80 grados. Bien, después de eso, vamos a encargarnos de la posición del logo. Quiero colocar. Está perfectamente en el centro para eso. Primero, hagamos su posición como absoluta. Entonces para definir su posición de acuerdo a su elemento padre, que en este caso es una tarjeta. Tenemos que asignar a la posición relativa. Y luego definir las propiedades superiores e izquierdas para el auto de vuelta. Y ponerlos a ambos como cero. Bien, así que con el fin de centrar perfectamente logo, vamos a utilizar de nuevo Flexbox Vamos a escribir display flex. Entonces necesitamos justificar el centro de contenidos y también alinear los elementos al centro. Como veo, el logo no está centrado y sucede porque no definimos ancho y alto para la parte trasera No voy a definirlo por separado para el trasero. Subamos y agreguemos aquí justo después del frente de la tarjeta. Otro selector volvió a llamar. Luego, abajo, seleccione Frontal de Tarjeta. Porque esas dos celdas pertenecen únicamente a la parte frontal. Así que vamos a agarrarlos y pegar aquí. Ahora todo se ve bien. Bien, definamos el tamaño de una imagen desde CSS como primero, vayamos al archivo index.html y deshagamos del atributo width Luego seleccione bec, IMG, y establezca su ancho como 40% Bien, ahora es el momento de hacer que el algodón funcione al principio, volvamos a girarlo. Se deshace de esta línea de código de aquí. Quiero que se rote el auto cuando volemos sobre él. Entonces, seleccionemos envoltorio de tarjetas con hover. Después selecciona tarjeta y se le asigna, transforma rotar y con el valor 180 grados. Para un efecto suave, usemos transición con los valores transforman 1 s. Ahora, si pasamos el mouse, entonces obtendremos efecto de rotación 3D realmente agradable ¿Bien? En realidad, ya casi terminamos. Lo único que quiero hacer es crear algún efecto de sombra. Y también quiero hacer curvas, ligeramente redondeadas. Vamos a asignar a la caja de la tarjeta la sombra con los valores 015 píxeles, 60 píxeles, y el color RGBA 000 y la opacidad Entonces para hacer un redondeado, vamos a asignarle un radio de borde con valor de 15 píxeles. Como ve por ahora, parece que la parte frontal no tiene el radio fronterizo Y para arreglarlo, vamos a heredarlo para los lados frontal y posterior, aquí mismo, border-radius con el valor Bien, ahora todo se ve perfecto y en realidad hemos terminado de trabajar en ese proyecto 28. Proyecto 25 - Tarjeta 3D: En este video, vamos a crear una tarjeta con bonitos efectos 3D usando transformaciones y transiciones CSS. Este pequeño proyecto se construirá en base a HTML y CSS puros. Entonces, después de ver este video, podrás crear bonitos y geniales efectos 3D usando solo CSS puro. Bien, entonces aquí tenemos nuestra tarjeta. Consta de dos partes principales. Tenemos marco y contenido. Se colocan en el espacio 3D. Es decir, se rotan con direcciones opuestas. Y si pasamos el cursor sobre la tarjeta, entonces esas partes se girarán hacia atrás y se colocarán juntas Bien, así que eso es todo, lo que vamos a construir en código VS. Tengo dos archivos diferentes para HTML y CSS. Dentro de los elementos head, tengo dos enlaces, uno para las fuentes de Google y el segundo para el archivo CSS de estilo. Bien, sigamos adelante y comencemos a construir marcas HTML, desarrollo abierto y asignarle envoltorio de tarjetas de clase Después en su interior se abren y otros desarrollos que va a ser la propia tarjeta. Entonces necesitamos otro div para el frame. Así que se le asignó marco de clase. A continuación, tenemos que crear contenidos. Así que abre de nuevo desarrollos con contenido ClassName. Y por último, tenemos que insertar los contenidos interiores H1 elementos de encabezado, que tienes título de nombre de clase. Consistirá en dos palabras distintas. Deberían tener diferentes estilos. Entonces voy a envolver el primer elemento pi span. Vamos a abrirlo e instituir textos 3D. Y entonces necesitamos segunda palabra, efecto. Bien, eso es todo sobre HTML. Abramos el archivo style.css y comencemos a escribir algunos estilos. Primero voy a deshacerme del margen predeterminado y el relleno de cada elemento. Así que selecciónalos usando un asterisco y establece margen como cero y el relleno como cero también A continuación, tenemos que seleccionar el envoltorio de tarjetas. Voy a colocar llamado perfectamente en el centro de la página. Para eso, primero definamos ancho y alto para el envoltorio. Voy a establecer con como 100 por ciento S4 de altura. Quiero fijarlo como cien por ciento de la ventana gráfica. Entonces tenemos que asignarle 100 vh. Y luego usar flexbox para poder enviar al elemento perfectamente, necesitamos las siguientes propiedades y valores. Flexión de pantalla. Entonces para centrar los elementos horizontalmente, necesitamos justificar el centro de contenidos. Y para el centrado vertical necesitamos alinear los elementos. Centro. Entonces como puedes ver, el contenido se coloca en el sentido, Bien, Ahora tenemos que cuidar de la propia tarjeta. En primer lugar, voy a preparar el entorno 3D. Y para eso, tenemos que usar una de estas propiedades CSS llamada perspectiva. Seleccionemos tarjeta e insertemos tu perspectiva con un valor de 800 píxeles. La perspectiva nos permite definir a qué distancia se coloca el elemento del usuario. Bien, Siguiente, voy a seleccionar fotograma. Vamos a definir la frontera. A cada valor se le asigna diez píxeles sólidos, y el color 333. Y también quiero hacer su esquina ligeramente redondeada usando border-radius con el valor cinco picos Bien, entonces el borde está listo y por ahora, veamos sobre el marco A continuación, voy a empezar a trabajar en los contenidos. Así que vamos a seleccionarlo. Definir su anchura y altura. Voy a establecer el ancho como 400 pixeles. En cuanto a la altura. Vamos a establecerlo como 200 píxeles. Luego cambia el color de fondo. Voy a usar el valor RGBA aquí mismo, 255-20-1205 A continuación, voy a colocar el rubro en el centro de los contenidos para eso. Veamos de nuevo, Flexbox. Voy a agarrar esas propiedades de aquí y vamos a pegarlas para el contenido. Bien, entonces como pueden ver, el rumbo se coloca en el centro, y ahora lo voy a personalizar. Así que selecciona los elementos H1. Primero. Voy a cambiar font-family Usemos su fuente llamada cancer Rael, San Serif. Después transforma texto en mayúsculas usando texto, transforma mayúsculas y cambia de color Usa tu color 333 Bien, siguiente, voy a seleccionar elemento span, que en realidad envuelve la primera palabra de encabezado Así que encabeza derecha, span, asignado a su color de fondo, y usa tu color 333. Y también cambia el color del texto, hazlo blanco. Bien, así que nuestros elementos están personalizados y es hora de comenzar a crear efectos 3D Como recuerdas, por defecto, marco y el contenido se rotan. Así que vamos a girarlo primero marco, tenemos que girarlo de acuerdo al eje y Entonces vamos a escribir aquí transformar que usan Rotar Y e instituir -40 grados. Entonces, como puedes ver, el marco se gira y el contenido también se gira porque son los elementos hijos para el marco. En realidad necesitamos rotar el contenido pero con dirección opuesta. Y también tenemos que girarlo según y y también según eje X. Entonces tenemos que escribir transformas, luego rotar y con valor 60 grados. Y luego después de eso necesitamos rotar x con valor 20 grados. Ahora como puedes ver, el contenido se gira pero no en el espacio 3D porque en este caso, perspectiva no tiene efecto sobre los contenidos. La razón es que la perspectiva se define para tarjeta y el contenido no es el hijo directo del automóvil. Entonces, para aplicar el entorno 3D a los contenidos, debemos usar otra propiedad llamada transform style. Tenemos que asignarlo a frame, que es el padre del contenido. Y tenemos que configurarlo como preserve 3D. Entonces ahora tenemos aquí los resultados necesarios. Constante se gira en el espacio 3D. Bien, así que ahora es el momento de crear un efecto de libración al flotar. Necesitamos dar posiciones predeterminadas tanto de marco como de contenido. Entonces, seleccionemos una tarjeta con hover. Después selecciona fotograma y pasa aquí, Transformar, Rotar Y con valor cero. A continuación, seleccione los contenidos, derecho, nuevamente, el contenido de la tarjeta hover Tenemos que pasar tu transformación. Nuevamente, gire y con cero, y luego gire x con valor cero. Entonces ahora si flotamos, entonces los elementos serán girados pero sin ningún efecto porque necesitamos una transición para hacer rotaciones Así que vamos a asignar a la transición de fotogramas con valores todos y 0.4 s. luego tomar esta línea de código y pegarla para el contenido también. Ahora, si volvemos a flotar, entonces obtendremos un bonito efecto 3D Lo último que quiero hacer es hacer que las esquinas de los contenidos sean ligeramente redondeadas, y luego lo retiraremos cuando coloquemos el cursor sobre la tarjeta Así que vamos a asignar dos contenidos para el radio con valor cinco píxeles. Y luego abajo, inserte border-radius con valor cero Bien, así que si pasamos el cursor sobre la tarjeta, entonces todo funcionará perfectamente 29. Proyecto 26 - Caja de control de CSS personalizada: Hola y bienvenidos a nuestro próximo video de YouTube. En este tutorial, vamos a estar construyendo una casilla de verificación CSS personalizada En la mayoría de los casos, puede encontrar casillas de verificación predeterminadas en diferentes sitios web Pero después de ver este video, podrás crear una casilla de verificación realmente bonita y moderna Aquí, como pueden ver, tenemos una caja y si hago clic en ella, entonces se comprobará con algunos efectos agradables. El tema de este tutorial es crear solo esta casilla de verificación personalizada. Entonces por eso no tengo aquí ningún otro contenido. Además, decidí crear una casilla de verificación con el tamaño grande para una mejor visibilidad. Pero claro que puedes hacerlo más pequeño para tus propios proyectos. Bien, sigamos adelante y comencemos a construir este pequeño proyecto. En código VS. Tengo dos archivos diferentes, index.html y style.css. En el archivo index.html, he preparado una estructura básica de documento HTML. He vinculado aquí archivos HTML y CSS. Sigamos adelante y comencemos a crear el marcado HTML. Vamos a abrir el desarrollo. Debe ser un envoltorio para casilla de verificación. Así que vamos a asignarle el envoltorio de casilla de verificación de clase. Dentro de ese desarrollo necesitamos pasar dos elementos, input y label. Así que vamos a abrir los elementos de entrada. Hagamos su tipo como chatbox. Luego crea etiqueta. siguiente que tenemos que hacer es vincular elementos de etiqueta y entrada para crear un evento click. Para ello, tenemos que asignar a un atributo ID de entrada. Y los valores de id y cuatro atributos deben ser los mismos. Pasemos tu cheque. Después asignado al atributo id del elemento de entrada con una comprobación de valor. Ahora bien, para demostrar que los elementos de etiqueta y entrada están enlazados, voy a pasarte algo de contenido, digamos check. Entonces, si hago clic en esta palabra entonces se marcará la casilla de verificación. Entonces veamos qué podemos lograr por ID y cuatro atributos y hace cada semana, lo que nos ayudará a crear cubeta limpia Vamos a deshacernos de esta palabra desde aquí. Lo último que quiero hacer dentro del documento HTML es asignar a label class name, checkmark Bien, vamos al archivo style.css y comencemos a escribir algunos estilos. No tenemos aquí muchos elementos HTML, pero de todos modos, voy a crear algunos estilos de reset. Seleccionemos cada elemento usando asterisco. Y luego establecer el margen y el relleno como cero. A continuación, seleccione el envoltorio de casilla de verificación. En realidad voy a colocar chatbox perfectamente en el centro de la página Para eso, voy a usar una de las técnicas. Quiero decir, centrar elementos con la ayuda de posiciones y transformar Entonces tenemos que escribir aquí posición, absoluta. Entonces necesitamos establecer las propiedades superiores e izquierdas tanto como 50 por ciento. Y luego para centrar el elemento perfectamente, tenemos que usar transform translate. Deberíamos tener dos valores, -50 por ciento y nuevamente -50% Bien, así como puedes ver, ahora la casilla de verificación está perfectamente centrada en la página En realidad, no voy a personalizar esta casilla de verificación. Eventualmente debería ocultarse. Vamos a crear una caja usando un elemento label. Este elemento de entrada solo nos ayudará a crear un evento click. Así que sigamos adelante y seleccionemos la etiqueta con la marca de verificación del nombre de la clase Como sabes en general, el elemento label es un elemento inline. Y si queremos aplicar al elemento inline width y height que primero, debemos transformarlo ya sea en bloque inline o elemento de nivel de bloque. Así que vamos a escribir tu bloque de visualización. Después establece ancho y alto tanto como dos píxeles. Y también cambiar el color de fondo. Hagámoslo gris claro usando D, D, D. Entonces como pueden ver, tenemos aquí cuadro, Hagamos sus esquinas ligeramente redondeadas usando border-radius Con valor diez picos. Bien, eso es sentarse, se crea la caja y ahora tenemos que encargarnos de las marcas de verificación firmar Al principio, sigamos adelante y creémoslo usando After pseudo elemento Y luego después de eso, nos encargaremos del evento click. Así que vamos a seleccionar la marca de verificación con después de pseudo elementos En primer lugar, voy a cambiar de fondo de elementos de etiqueta que estoy haciendo es sólo por un tiempo Eventualmente cambiaremos el color de fondo al hacer clic. Entonces cambiemos el color de fondo para la etiqueta aquí mismo, 08b b68 Entonces comencemos a trabajar en después pseudo elementos como contenido primero definido y lo hagamos vacío En realidad el signo de marcas de verificación debe ser creado por bordes Al principio, definamos una posición como absoluta. Y para posicionar los elementos de acuerdo a su elemento padre, tenemos que asignar a su posición padre relativa. A continuación, definamos ancho y alto. Establezca el ancho como 25 píxeles. En cuanto a la altura, vamos a asignarle 45 pixeles. Ahora con el fin de hacer visibles los elementos y de hecho con el fin de crear un signo de marca de verificación, vamos a usar bordes Voy a definir fronteras para dos sitios diferentes, para derechos y para botella. Así que escribamos aquí frontera, derecha, y asignemos valores de verdad, cinco píxeles, sólidos, y el color blanco. Que duplican esta línea de código y cambian a la derecha a la parte inferior. Ahora como puedes ver, el elemento es factible, pero como invitado, tenemos que cuidar su posición. Vamos a colocarlo en el centro, y también necesitamos girarlo para que se vea como señal de marcas de verificación Así que definamos la posición superior como 40%. Entonces necesitamos que nos quede el 50 por ciento. Entonces usa de nuevo transformar, traducir con valores -50 por ciento Y nuevamente -50 por ciento. ¿Bien? Ahora lo único que hay que hacer es rotar elementos según el eje z Y entonces nos va a necesitar un resultado. Entonces vamos a escribir rotar Z e insertar aquí por dos grados. Ahora puedes ver que tenemos aquí las marcas de verificación firman, y ahora es el momento de que funcione En primer lugar, cambiemos el color de fondo en la camarilla. Para eso, volvamos aquí. Color de fondo anterior, gris claro. Entonces para crear un evento click, voy a usar pseudo-clase llamada checked Nos permite definir estilos y aplicarlos al elemento cuando se marca la casilla de verificación Así que vamos a seleccionar el elemento de entrada con ID, comprobar. A continuación, agregue aquí pseudo-clase llamada marcada. Luego tenemos que seleccionar los elementos de la etiqueta. Como sabes, se coloca justo después de los elementos de entrada en el archivo index.html. Y para seleccionar etiqueta, voy a usar uno de los combinadores CSS llamado selector general de hermanos, que se expresa por hasta el signo Y ahora necesitamos el nombre de clase de los elementos, ¿verdad? Marca de verificación Pasemos tu color de fondo con un valor 0868. Bien, así que si hago clic en la casilla, entonces se cambiará el color de fondo. Hagamos que esto afecte al motor usando la transición. Vamos a asignar valores de verdad, fondo, color y duración, 0.4 s. así que ahora se ve mucho mejor y en realidad es el momento de trabajar en el signo de marcas de verificación Por defecto, voy a hacerlo oculto. Hagámoslo usando opacidad cero. Y ahora deberíamos exhibirlo. Cuando marcamos la casilla de verificación, lo vamos a hacer usando la misma técnica que usamos hace apenas un minuto Entonces vamos a agarrar esto, seleccionarlo de aquí. Luego agregamos después de pseudo elementos porque debemos mostrar las marcas de verificación firmar Y ahora inserta tu opacidad uno. Y también usa la transición para hacer afectaciones motoras asignadas a todo y 0.4 s. así que ahora si hago clic, entonces todo va a funcionar bien. Y en realidad ya tenemos aquí bonitos efectos. La casilla de verificación está funcionando. Antes de terminar este tutorial, quiero agregar a los chequeos, algunos otros datos. Por defecto, voy a hacer que las marcas de verificación firmen más grandes. Y luego onclick, le daremos su tamaño predeterminado. Y esto eventualmente se verá bastante bien. Así que sigamos adelante y agreguemos para transformar la función de propiedad llamada scale, que nos permite administrar el tamaño de un elemento que es inseguro diez Entonces significa que acabamos de hacer elementos diez veces más grandes de lo que era antes. Y ahora onclick tuvimos que hacerlo de nuevo más pequeño. Así que voy a agarrar toda esta línea de código. Necesitamos todas estas funciones porque si solo usamos Transformar Escala, entonces esas dos funciones, me refiero a traducir y rotar, se sobrescribirán y romperá la posición del lado de la marca de verificación Entonces cambiemos el valor de la escala, hagámoslo uno. Y ahora se puede ver que tenemos aquí muy bonito efecto. Bien, ya casi terminamos. Lo único que tenemos que hacer es ocultar los elementos de entrada. Y voy a hacer eso usando el atributo HTML llamado hidden. Así que vamos a asignarlo a elementos de entrada. Bien, así que ya terminamos. Todo funciona a la perfección y nuestro pequeño proyecto está terminado 30. Proyecto 27 - Menú de Hamburguesas: En este video, vamos a construir el menú de hamburguesas con algunos efectos agradables Este proyecto se construirá en base a HTML, CSS y poco de JavaScript. Entonces como puedes ver, tenemos aquí una landing page con imagen de fondo a pantalla completa Y en la esquina superior derecha se coloca el icono del menú de hamburguesa Si hago clic en él, entonces el icono se transformará en x. Y ahora parte se mostrará desde el lado derecho. Aquí tenemos un par de elementos de navegación y si coloco el cursor sobre ellos, entonces obtendremos buenos efectos de hover En este video, aprenderás sobre cómo crear todas estas cosas. Sigamos adelante y comencemos a construir nuestro proyecto. En código VS. Tengo un par de archivos para HTML, para CSS, y para JavaScript. Y también tenemos aquí carpeta llamada imágenes en que tenemos una imagen para fondo de página de préstamo. Puedes descargar archivos de inicio desde el enlace de la descripción. Bien, sigamos adelante y abramos el archivo index.html. He preparado la estructura básica del documento HTML. Dentro de los elementos de cabeza, tengo dos eslabones. Una para las fuentes de Google, voy a usar una fuente llamada doses, y otra para el archivo CSS. Además de eso, he insertado aquí etiqueta script con el fin de vincular el archivo JavaScript. Bien, comencemos a construir el marcado HTML, desarrollos abiertos, que va a ser un contenedor Por lo que se le asigna contenedor de clase. Entonces dentro del contenedor voy a abrir elementos que envolverán todo el contenido de navbar Vamos a asignarle clase navbar. Después dentro de él al principio voy a crear un ícono de menú de hamburguesas Así desarrollo abierto y se le asignó un nombre de clase, menú de hamburguesas Entonces dentro de esos elementos div, voy a insertar tres elementos div para tres líneas de un icono. Vamos a asignar a su nombre de clase para la línea de estilo común. Y también necesitamos aquí otro nombre de clúster para el estilo individual. Línea derecha uno. Después duplique esta línea dos veces y cambie los nombres de las clases. Necesitamos la línea dos, la línea tres. Muy bien, eso es todo sobre Menu icon por ahora, no es factible porque solo tenemos elementos div vacíos sin ningún estilo A continuación, voy a crear navegación. Estará representado por elementos UL. Vamos a asignarle clase no menos importante. Después inserte en ella elementos LI. Debe tener ítem de clase. Y por último, necesitamos tus elementos de enlace. Vamos a asignarle el nombre de la clase nav link, y también insertemos su primer elemento. En general, voy a tener siete elementos de navegación. Así que vamos a duplicarlo seis veces y luego cambiar rápidamente el contenido aquí mismo sobre nosotros. Esa noticia. El siguiente va a ser Galería que eventos. Precios. Y para el último, inserta tu contenido. Bien, así que eso es todo sobre HTML. Es hora de empezar a peinar. Vamos al archivo style.css. Al principio voy a crear algunos estilos de reset. Vamos a deshacernos del margen predeterminado y el relleno de cada elemento. Selecciónelos usando asterisco. Y luego pasa tu margen cero y relleno cero también. Entonces voy a cambiar la familia de fuentes por elemento body. Así que vamos a seleccionarlo. Y luego inserte aquí dosis font-family, san-serif. A continuación, vamos a encargarnos del contenedor. Establezca su ancho y alto como un ancho. Escribamos aquí 100 por ciento. En cuanto a la altura. Voy a fijarlo como el 100 por ciento de la ventana gráfica. Así que bien, 100 pH que como fondo. Voy a poner una imagen. Así fondo derecho de lo que necesitamos aquí, gradiente lineal. Voy a usar tres colores diferentes. El primero va a ser RGBA 000 y la opacidad 0.4. A continuación, escribamos RGBA 14848, nuevamente 48 y opacidad Y luego insertar RGBA 167-60-7607 y opacidad 0.4. Después dentro de URL indica parte de las imágenes de la imagen y selecciona la imagen llamada bg dot JPG como la posición de fondo. Necesitamos Centro y también pasar aquí, no repita. Y por último, voy a usar la propiedad de tamaño de fondo con la cobertura de valor. Bien, así que la página de destino está lista. Tenemos aquí imagen de fondo a pantalla completa. Y ahora me voy a llevar aquí del menú de hamburguesas Como ya saben, constará de tres líneas y deberá colocarse en la esquina superior derecha de la página Al principio, seleccionemos el desarrollo rápido, que tiene un className, menú de hamburguesas Definamos su anchura y altura. Voy a configurar con 35 pixeles. En cuanto a la altura, vamos a asignarle 30 pixeles. Por ahora, el icono sigue sin ser visible. Y para arreglarlo, vamos a asignarle algún fondo temporal, digamos rojo. Bien, entonces ahora el icono que se muestra por defecto se coloca en la esquina superior izquierda. Pero como dije, voy a colocarlo en la esquina superior derecha de la página. Para eso, definamos esta posición como fija. Y luego necesitamos la posición superior, establecida como 50 píxeles y la derecha como 50 píxeles. Entonces ahora puedo desplazarme en la esquina superior derecha. Y por último, voy a cambiar el cursor. Hagámoslo señalar. Bien, por ahora con el elemento div padre, ya terminamos. Es hora de trabajar en las luces. Sigamos adelante y seleccionarlos usando la línea de nombre de clase común. Después fijó su ancho como 100 por ciento. Significa que la línea ocupará todo el ancho de su elemento padre, que es de 35 píxeles. A continuación, voy a definir la altura. Hagámoslo tres píxeles y cambiemos también el color de fondo. Ves tu color chocolate. Bien, Ahora las líneas son visibles, pero están pegadas entre sí y tenemos que separarlas. Para lograrlo, voy a usar Flexbox. Hagamos el menú Hamburger flex container. Para eso necesitamos display flex. Luego cambia la dirección del flex. Tenemos que colocar líneas como columna. Entonces necesitamos flexión dirección columna. Y por último, para hacer algún espacio entre ellos, utilizar justificar los contenidos. Los valores caminan alrededor. Bien, entonces ahora las líneas están separadas y en realidad podemos deshacernos de ese fondo rojo. Bien, entonces el ícono de Menú ya está creado y antes de que lo hagamos funcionar, voy a personalizar la barra de navegación Deberíamos colocarlo del lado derecho. Así que sigamos adelante y seleccionemos elemento nav con nombre de clase navbar Al principio, definamos su anchura y altura. Voy a establecer su ancho como 300 pixeles. En cuanto a la altura, hagámosla al 100 por ciento. Luego cambia el color de fondo. Usemos tu color 26262. Bien, entonces para poder colocar ahora barra en el lado derecho, definamos esta posición como fija. Y luego hacer que las propiedades superior y derecha sean ambas cero. Bien, entonces navbar se posiciona de la manera correcta. Ahora voy a encargarme de la posición de los elementos de navegación. Quiero colocarlos perfectamente en el centro dentro de navbar Y para eso, usemos Flexbox aquí mismo. Flexión de pantalla. Que para centrar los elementos horizontalmente, use justify-content Centro. S para centrado vertical Use alinear elementos, centrar. Bien, entonces los artículos se colocan en el centro. Y lo último que quiero hacer respecto a navbar es personalizar su forma Y lo voy a hacer usando radio fronterizo. En realidad, esta propiedad puede tomar cuatro valores diferentes apropiados a cuatro esquinas. Estoy en esquina superior izquierda, arriba derecha, abajo derecha e inferior izquierda Así que somos capaces de definir diferentes radios de borde, cuatro columnas diferentes. En este caso, voy a personalizar las esquinas superior izquierda e inferior izquierda. En cuanto al resto de las esquinas, no las vamos a tocar. Entonces como valor de border-radius de la esquina superior izquierda, voy a insertar aquí el 20 por ciento Entonces, como decíamos, las esquinas superior derecha e inferior derecha no se cambiarán. Entonces necesitamos insertar aquí ceros dos veces. Y para la esquina inferior izquierda voy a usar 60%. Bien, entonces la forma de la barra de navegación está personalizada y ahora voy a darle estilo a los elementos de navegación Sigamos adelante y seleccionemos elementos UL. Tiene nombre de clase. No menos importante. Voy a colocar texto en el lado derecho. Entonces usemos texto alinear a la derecha. A continuación, seleccionemos elementos LI. Tiene nombre de clase, no artículo. Primero, deshagamos de las viñetas predeterminadas usando ninguno estilo lista Después crea algo de espacio usando margen. 25 semanas. Bien, ahora tenemos que seleccionar los elementos de enlace, que tiene el nombre de la clase nav link Vamos a deshacernos de los estilos predeterminados. Usando texto-decoración. Ninguno. Después aumentó el tamaño de la fuente, lo hacen 22 pixeles. Cambiar de color. Ves tu color E. Además, voy a hacer que la fuente sea más clara usando font-weight 300. Luego crea algo de espacio entre letras usando el espaciado entre letras. Un píxel. Y finalmente hacer texto en mayúscula usando transformación de texto Mayúscula. Bien, eso es todo sobre los elementos de navegación Como recuerdas del proyecto terminado, vamos a crear algunos efectos de hover el cursor, debemos mostrar líneas en la parte superior e inferior de los artículos Se mostrará con una transición suave. Y desde los sentidos opuestos. En realidad vamos a crear esas líneas usando después y antes pseudo elementos Ambos tendrán algunos estilos comunes. Así que sigamos adelante y seleccionemos ambos pseudo elementos, derecho, enlace de navegación antes Después duplica esta línea y cambia antes y después. Entonces primero tenemos que definir los contenidos como vacíos. A continuación, voy a definir la anchura y la altura. Vamos a establecer con nosotros el 100 por ciento. Después haz la altura a píxeles y también cambia el color de fondo. Ves tu color chocolate. Por ahora, las líneas no son visibles porque son elementos en línea y por lo tanto no se aplican a la anchura y la altura. Entonces, si definimos su posición como absoluta, y luego si asignamos a los elementos padre, que no es la posición de enlace relativa, entonces se mostrarán ambas líneas. De un vistazo. Vemos aquí solo una línea, pero de hecho, ambas líneas se colocan una al lado Bien, a continuación voy a definir una posición izquierda para ambos elementos como cero. Ahora ambas líneas están tomando los mismos spots y para poder separarlas, tenemos que definir una posición inferior para después de pseudo elementos y tenemos que hacerla cero Así que vamos a copiar este selector y asignarle abajo cero. Entonces ahora ambas líneas están separadas. Como saben, por defecto, posición superior se establece como cero. Entonces, si no lo definimos manualmente, eso no va a ser un problema. Pero de todos modos, voy a definirlo. Así que vamos a duplicar este código. Luego cambia después, en antes. Y en lugar de abajo, derecha, arriba. Bien, lo último que queremos aquí es crear algo de relleno porque la línea de fondo está demasiado cerca del ítem Así que vamos a asignar a nav link padding en la parte superior e inferior derecha tres píxeles y luego cero en los lados izquierdo y derecho. Bien, eso es todo sobre las líneas que ahora tienen que crear un efecto hover Por defecto, voy a ocultar esas líneas. Y cuando pasemos el cursor sobre los elementos, esas líneas se mostrarán suavemente desde las direcciones opuestas Para ocultar líneas, voy a usar Transform. Después escala x. tenemos que ponerla como cero. Entonces ahora al flotar, tenemos que aumentar la escala y hacerla una Así que sigamos adelante y seleccionemos el enlace de navegación con hover. Después agrega aquí antes. Duplica este selector y cambia antes y después. Y luego inserta tu Transformar, Escala x con el argumento uno. Y por último, para que el efecto sea más inteligente, vamos a usar la transformación de transición 0.5 s. bien, así que si pasamos el cursor sobre los elementos se mostrarán las líneas Pero como puedes ver, por defecto, empiezan a aparecer desde el centro. Sucede porque la propiedad de origen de transformación se establece como sensor por defecto. Entonces tenemos que cambiarlo para ambas líneas. Vamos a asignar a después de pseudo elementos, transformar origen. Hacerlo bien. Después copia este código y pegarlo para antes de pseudo elementos Y en vez de derecha, vamos a insertar aquí a la izquierda. Si pasamos el cursor sobre los artículos, entonces todo funcionará perfectamente Tenemos aquí un bonito efecto hover. Bien, entonces con la navegación, ya terminamos. Siguiente. Eso que tenemos que hacer es hacer que el menú Hamburguesa funcione. En primer lugar, voy a transformar icono de menú en x. Para ello tenemos que cambiar posiciones para primera y tercera líneas. En cuanto al segundo, debe calentarse. Así que sigamos adelante y seleccionemos la línea uno. Tenemos que rotar la línea uno por 45 grados según el eje z Para ser más precisos, para la línea uno, tenemos que usar Rotar Z -45 grados. Duplicemos este código. Cambiar el nombre de la clase a la derecha, línea tres. Y también deshazte del signo menos de aquí. Como decíamos, tenemos que ocultar la línea dos. Así que vamos a seleccionarlo y usar tu opacidad cero. Entonces como puedes ver, las líneas se rotan, pero aquí no tenemos ninguna x. Tenemos que encargarnos de las posiciones de las líneas. Para eso. Voy a añadir aquí traducir. Entonces como el valor de la dirección x, ¿verdad? Menos ocho píxeles, S4, eje y. Tenemos que pasar tus seis semanas. Vamos a copiarlo Y pegar cuatro líneas tres En lugar de seis píxeles necesitamos aquí solo menos seis picos. Ahora se considera. El problema está arreglado y tenemos aquí x. En realidad este no es el estado predeterminado del icono. Tenemos que hacerlo x cuando hacemos clic en él. Para lograrlo, voy a usar un poco de JavaScript. Pero antes de escribir algo de JavaScript, voy a añadir dos líneas. Nuevo nombre de clase, llamémoslo cambio. Después agregaremos esta clase dos navbar usando JavaScript. Y todo esto sucederá cuando hagamos clic en el icono. Vamos al archivo script.js y antes que nada, creamos una nueva variable, llamémosla icono de menú. Y luego seleccionar los desarrollos que tiene un menú de hamburguesas con nombre de clase Para eso necesitamos escribir documentos, puntos, consulta, selector, y pasar tu nombre de clase menú hamburguesa Luego, adjunta el oyente de eventos al ícono de Menú, derecha, ícono de menú, punto, agrega oyente de eventos Como primer argumento tenemos que pasar tu nombre de eventos, que es camarilla Que necesitamos pasar tu función, que va a ser una función de flecha. Ahora tenemos que agregar dos nuevas clases que se cambian como primero, vamos a crear una nueva variable, llamarla barra de navegación. Debe ser igual a documentos, puntos, QuerySelector. Vamos a insertar tu nombre de clúster navbar. Entonces dentro de la función, derecha, barra de navegación y propiedad más fácil llamada lista de clases Ahora puedes pensar que tenemos que usar tu método agrega, pero en este caso no va a funcionar porque cuando hacemos clic en el icono, el cambio de clase debería agregarse a Napa. Pero en Siguiente clic, debería ser eliminado. Y para lograrlo, en lugar de agregar, tenemos que usar el método llamado Toggle. Vamos a insertar el cambio de nombre de tu clase. Entonces, si hacemos clic en el icono, entonces se transformará en x. Y luego en el siguiente clic, obtendrá su estado predeterminado. Para que esto afecte al motor, volvamos al archivo style.css y asignemos a la transición de línea con valores 0.8 s. así que ahora un hecho se volvió más inteligente, pero creo que podemos hacerlo aún más agradable En lugar de rotar las líneas solo por 45 grados, podemos dejar que hagan una rotación completa, rotación de 360 grados y luego vuelvan a girar 45 grados. Entonces como los valores tenemos que insertar aquí, suma de 360.45, que eventualmente es 405 grados Entonces ahora estás de acuerdo en que se ve mucho mejor. Bien, así que ya casi estamos ahí. La otra cosa que hay que hacer es ocultar suficiente puerto por defecto, mostrarlo onClick Para ello, cambiemos el valor de la posición correcta y hagamos que sea -300 píxeles Entonces ahora Navbar está oculto. Para moverlo de lado derecho a izquierdo, voy a utilizar de nuevo el cambio de clase. Vamos a asignarle, derecho, con valor cero. Ahora, si hacemos clic, se mostrará Napa, pero como invitado, para que el efecto sea más agradable, tenemos que usar transición con los valores ¿verdad? 0.8 s. y además, voy a usar tu función llamada cubic Bezier, que nos permite crear una transición personalizada En este caso, quiero que el efecto comience un poco más lento y termine más rápido. Para eso, voy a pasar tus valores 100.1. Entonces ahora podemos decir que todo funciona a la perfección. Tenemos aquí una barra de navegación de aspecto agradable y moderno con algunos efectos geniales 31. Proyecto 28 - Tarjetas de precios: En este tutorial, te voy a mostrar cómo construir unas bonitas cartas modernas con algunos efectos geniales. Entonces como puedes ver, tenemos aquí tres tarjetas similares con diferentes paquetes de precios y condiciones. Si vuelo el cursor sobre ellos, entonces la escala de carros se incrementará sin problemas Se harán más grandes. Y también si hago navegador más pequeño que las tarjetas serán envueltas. Por lo que el proyecto responderá en diferentes tamaños de pantalla. Bien. Así que aquí en el código VS, tengo un par de archivos para HTML y para CSS. Y también tenemos una carpeta en la que tengo una imagen. En el archivo index.html, he creado la estructura básica del documento HTML. Dentro del elemento cabeza, tenemos un par de eslabones. El primero es para las fuentes de Google. Voy a usar fuentes llamadas Josephine Sans, y Montserrat Entonces he pasado aquí un enlace para los iconos Font Awesome. Y por último, tengo un enlace para el archivo style.css. Bien, sigamos adelante y comencemos a construir el marcado HTML. Voy a crear elementos div, que va a ser un contenedor. Incluirá todo el contenido. Así que vamos a asignarle contenedor de clase. A continuación necesitamos otros elementos div que deberían ser un wrapper para tarjetas. Así asignado a ella envoltorio de tarjetas de nombre de clase. Y ahora tenemos que crear la propia tarjeta. Abramos otro desarrollo con tarjeta de nombre de clase. En realidad la tarjeta constará de tres partes principales. Tendremos encabezado de tarjeta, cuerpo de tarjeta y pie de página de tarjeta. Entonces, insertemos sus elementos div, que deberían ser un encabezado de tarjeta. Vamos a asignar a su cabecera de tarjeta de nombre de clase. Consistirá en dos elementos de encabezamiento. Primero, describiremos qué tipo de paquete tenemos. Estoy en libre o estándar o premium. En cuanto al segundo, debería ser por el precio del paquete. Así que vamos a abrir h3 elemento encabezado e insertar sus textos gratis A continuación necesitamos elementos de encabezado H1 con textos, dólar, signo y cero. Bien, eso es todo sobre el encabezado de la tarjeta. A continuación, necesitamos un cuerpo de tarjeta. Representará qué tipo de características tenemos en caso del paquete gratuito. Así que vamos a crear desarrollo y asignado a su cuerpo de tarjeta de nombre de clase. Las características estarán representadas por al menos. Por lo tanto eso son elementos UL abiertos. Insertándolo LI. Así que tendremos aquí Fuente, Iconos impresionantes con algunos textos. En caso de paquete gratuito, solo estarán disponibles dos funciones y el resto de ellas no lo estarán. Por lo que las dos primeras características tendrán iconos de verificación, y el resto de ellas deberán tener x iguales. Vamos a abrir aquí I elementos y asignarle clase F, a, S, FA dash check. Eso instituyó algunos textos después del cierre, etiqueta. Algunas características de texto. En general, voy a tener seis características. Entonces vamos a duplicar esta línea cinco veces. Y entonces lo único que tuvimos que hacer aquí es cambiar los nombres de las clases para el final, para los iconos Font Awesome. En lugar del cheque, necesitamos aquí para escribir tiempos. Bien, así que eso es todo sobre el cuerpo de la tarjeta. Como dijimos, también necesitamos crear el pie de página de la tarjeta. Incluirá solo un botón. Entonces vamos a abrir desarrollos y se le asignó la clase de filtro de carbohidratos Después dentro del elemento div botón Create, que debería tener type button y el texto subscribe. Bien, entonces hemos creado la primera tarjeta. En general, tendremos tres de ellos. Así que sigamos adelante y dupliquemos la tarjeta entera dos veces. Entonces haz algunos cambios. En lugar de tres, necesitamos aquí estándar S para el segundo elemento de encabezado en lugar de cero, ¿verdad? Digamos 49 y slash, luego abrir elementos span e instituir un mes Entonces, en caso de un paquete estándar, voy a poner a disposición cuatro funciones. Entonces cambiemos los nombres de las clases aquí. Tenemos que verificar en vez de tiempos. Entonces la segunda tarjeta está lista. Hagamos algunos cambios para el tercero, necesitamos aquí, premium que 99, open span element e insert month. Por último, voy a poner a disposición todas las funciones. Entonces, para las últimas cuatro características, necesitamos el nombre de la clase. Verifique en lugar de veces Bien, eso es todo sobre el marcado HTML Hemos creado estructuras para las tres tarjetas. Ahora es el momento de empezar a peinarlos. Vamos al archivo style.css y antes que nada, creamos algunos estilos de reinicio. Voy a seleccionar cada elemento usando asteriscos. Luego establece el margen y el relleno como cero. Y también usar la propiedad de tamaño de caja y se le asigna border-box Bien, entonces el primer elemento que quiero cuidar de su contenedor Así que vamos a seleccionarlo y definir su ancho y alto. Voy a establecer el ancho como 100% S bar alto. Vamos a establecerlo como el 100 por ciento de la pupila, y también cambiemos el color de fondo Vamos a asignarle color d, d, d. bien, después de eso, voy a seleccionar envoltorio de tarjetas. Entonces quiero envoltorio para ser colocado en el centro horizontalmente. Y también voy a alinear cartas seguidas. Para hacer eso al principio, definamos el ancho como 90%. Entonces para centrar envoltorio de tarjetas dentro del contenedor, necesitamos margen, nuestra fila. A continuación, definamos la altura y fijémosla como cien por ciento. Ahora, voy a alinear las tarjetas horizontalmente en fila, y también quiero colocarlas verticalmente en el centro usando flexbox Entonces necesitamos aquí display flex. Ahora como puedes ver, las cartas se colocan en fila. Vamos a crear algo de espacio entre ellos. Y para eso, vamos a usar justificar contenido con espacio de valor alrededor. Por último, para enviarles verticalmente, usa una línea de pedido y ponla como centro. Bien, así que eso es todo sobre la alineación de las tarjetas. Ahora tenemos que empezar a peinar las células del cartílago. Así que sigamos adelante y seleccionemos una tarjeta. Adversas. Vamos a establecer el ancho como 300 píxeles. Entonces voy a cambiar de fondo. En realidad, quiero establecer una imagen como fondo. Primero, usemos aquí gradiente lineal y pasemos aquí algunos valores RGBA Necesitamos color negro con opacidad 0.5. Entonces otra vez pasar el valor RGBA con el mismo color negro, pero con opacidad 0.6 A continuación tenemos que indicar parte de la imagen. Así Insight URL, así es, imágenes y seleccione Imagen bg punto JPG. Después como una posición de imagen a la derecha Centro. También necesitamos aquí no repetir. Y finalmente, usemos la propiedad de tamaño de fondo con la cobertura de valor. Entonces como pueden ver, tenemos aquí imagen como fondo de la tarjeta, pero por ahora, la corriente misma se ve realmente fea. A continuación, cambiemos el color de los contenidos para que sea visible. Pongámoslo como blanco. Y luego simplemente centrar el texto dentro de la tarjeta usando text-align Bien, pasemos a diseñar elementos individuales dentro de la tarjeta La primera parte que quiero darle estilo es el encabezado de la tarjeta, que consta de dos elementos de encabezado. Al principio, seleccionemos el propio encabezado de la tarjeta y creemos algo de espacio en la parte inferior usando el margen inferior con valor de 40 píxeles. A continuación, voy a seleccionar los primeros elementos de encabezado. Así que tenemos que escribir aquí cabecera de la tarjeta. Después h3. Vamos a cambiar la familia de fuentes. Voy a usar su fuente llamada Josephine Sans. Sans-serif. Eso incrementó el tamaño de la fuente. Voy a configurarlo como 30 pixeles. Y además, voy a hacer que la fuente sea más ligera usando font-weight con valor 300 Bien, así que el primer rubro ya se ve bien, pero quiero agregarle algunos estilos más Cambiemos su color. En este caso, voy a usar color llamado chocolate. Entonces crea algo de espacio alrededor del encabezado. Usar margen con un valor de 30 píxeles. Después de eso, quiero crear un borde en la parte inferior del encabezado. Entonces para eso, usemos un fondo de borde. Entonces, aquí mismo valora un surco de píxel y el color blanco Así que como pueden ver, tenemos aquí borde en la parte inferior, pero creo que está demasiado cerca de encabezarse. Y para arreglar eso, vamos a usar únicamente padding con valor diez pixeles, con valor diez picos. Bien, eso es todo sobre el primer encabezamiento Elementos. Sigamos adelante y diseñemos el segundo. Selecciónalo encabezado de tarjeta derecho, H1. En realidad, para H1, necesitamos usar esas tres propiedades. Entonces voy a agarrarlos de aquí y luego simplemente cambiar los valores. Como familia de fuentes I, voy a utilizar Montserrat A continuación, establezca el tamaño de fuente como 60 píxeles. En cuanto al peso de la fuente, dejémoslo como está. Bien, Entonces el segundo elemento de encabezado está estilizado, pero necesitamos escuchar para hacer algunos cambios Quiero hacer un letrero de $1 más pequeño, y además quiero colocarlo un poco arriba. Para hacer eso, voy a usar la etiqueta HTML llamada superscript Entonces, sigamos adelante y envolvamos signos de dólar para todas las tarjetas por etiqueta superíndice Entonces, como ves, el signo del dólar se coloca un poco arriba, pero es demasiado grande. Así que vamos a disminuir su tamaño de fuente. Seleccione el encabezado correcto de la tarjeta y la sopa, y establezca el tamaño de fuente como 35 píxeles. Bien, así que sentémonos sobre el signo del dólar. Lo único que quiero hacer respecto a esta parte es disminuir el tamaño de las matemáticas porque como pueden ver, es bastante más grande. Como recuerdas, tenemos un elemento envuelto esta palabra por span. Vamos a seguir adelante y seleccionarlo encabezado de tarjeta derecho, span. Y luego definir el tamaño de fuente y convertirlo en 18 pixeles. Hemos terminado de trabajar en el encabezado de tarjeta. Ambos encabezados están estilizados y ahora tenemos que seguir adelante y cuidar el cuerpo de la tarjeta Dentro del cuerpo de la tarjeta tenemos listas de características con Font, iconos impresionantes y algunos textos. adelante y seleccionemos ese primer cuerpo de carta y creemos algo de espacio en la parte inferior usando margen inferior, 60 píxeles. A continuación, voy a tomar aquí de los elementos LI, que en realidad envuelve icono y texto. Así que vamos a seleccionarlo, derecho, tallado Baldry. I. En primer lugar, vamos a deshacernos de las balas por defecto usando list-style Ninguno. Después cambia la familia de fuentes. En este caso, voy a usar la fuente llamada Josephine Sans san-serif que establecer el tamaño de fuente Y peso de fuente correcto 300. Bien, así que los elementos de la lista se ven bien, pero necesitamos algo de espacio entre ellos. Y para eso, voy a usar margen. Hagámoslo 50 píxeles en la parte superior e inferior y cero en los lados izquierdo y derecho. Con los valores de los textos, estamos hechos. Y ahora quiero personalizar los likens. Lo primero que necesitamos aquí es crear algún espacio entre icono y texto. Para ello, vamos a seleccionar elementos llamados body. Yo uso margen, ¿verdad? 25 píxeles. Lo siguiente que quiero hacer es cambiar el color de los iconos. En caso de cheque, quiero usar color verde. En cuanto a X iguales, voy a hacerlos rojos. Así que sigamos adelante y seleccionemos el cuerpo de la tarjeta. Después F un cheque y establecer su color como 06838. Duplicemos este código. Cambiar el nombre de clase que necesitamos a veces en lugar de verificar, y también cambiar el valor de color aquí mismo, 911832 Bien, así como pueden ver, cambia el color de los iconos y en realidad con el cuerpo de la tarjeta, ya terminamos Próximo invitado, tenemos que encargarnos del pie de página de la tarjeta. Entonces, seleccionemos desarrollo con pie de página de tarjeta de nombre de clase. Y crea algo de espacio en la parte inferior usando margen inferior con valor 40 píxeles. A continuación, voy a personalizar el botón, así que vamos a seleccionarlo. Necesitamos el botón de pie de página de tu tarjeta. En primer lugar, pongamos su ancho como 120 píxeles. Después crea algo de espacio dentro del botón usando relleno píxeles cambian el color de fondo. Voy a usar tu color chocolate. Y también cambiar el color del texto. Hazlo más claro usando el color d, d, d. bien, ahora voy a tomar aquí de textos dentro del botón. En primer lugar, cambiemos la familia de fuentes. Voy a usar la fuente llamada Montserrat, sans serif. Después establece su tamaño de fuente, hazlo 12 pixeles. Voy a hacer que la fuente sea un poco más audaz para eso, correcto font-weight Y fijarlo como 600. También haga textos en mayúsculas usando texto transformar mayúsculas. Y por último, crea algo de espacio entre letras usando espaciado entre letras con valor de un píxel. Bien, eso es lo de los textos. Necesitamos aquí algunos estilos más para que el botón quede bien. Cambiemos el borde predeterminado y creemos uno personalizado. Aquí mismo, dos píxeles, sólidos, y el color del chocolate. Después haz redondeado el botón usando border-radius. 50 pixeles. Se deshace del valor por defecto, contorno, contorno ninguno. Y finalmente cambiar el tipo de más tosco, hazlo señalar. Bien, así como puedes ver, el botón está estilizado. Ahora quiero agregar algunos estilos a la propia tarjeta. Voy a hacer su esquina ligeramente redondeada. Y también quiero agregarle algún efecto de sombra. Así que sigamos adelante y asignemos a la tarjeta border-radius con el valor diez pixeles Luego usa sombra de caja. Inserte aquí, valores 010 píxeles, dos píxeles, y el color RGB 000 y opacidad 0.8 Bien, entonces ahora los carros se ven mucho mejor. Y a continuación, voy a crear poco efecto hover. Al flotar. Voy a aumentar la escala de cartas y también quiero cambiar ligeramente la sombra de caja. Así que vamos a seleccionar tarjeta con hover. Después inserte aquí transformar, escalar. Y como argumento en severo 1.1. En realidad, como sabes por defecto, la escala de elementos es uno. A continuación, necesitamos una sombra de caja con valores de 015 píxeles, 60 píxeles, y el color RGB 000.8 Y también para que el efecto sea más suave, vamos a usar la transición con los valores todos y 0.4 s. así que si pongo el cursor sobre la tarjeta, entonces su tamaño se incrementará suavemente Además, se cambiará la sombra y en general, obtendremos un bonito efecto, ¿verdad? En realidad, eso es todo. Casi terminamos con este proyecto. Lo único que quiero hacer es hacer que el proyecto sea receptivo en diferentes tamaños de pantalla. Para eso, inspeccionemos la página y luego cambiemos el modo de respuesta. Entonces, el punto de ruptura en el que necesitamos hacer algunos cambios, creo, es de unos 1.200 píxeles Porque como se puede ver en el tamaño de la pantalla se rompe el proyecto. Así que vamos a seguir adelante y crear una consulta de medios CSS. Para eso, tenemos que escribir en medios de señalización. Después dentro de paréntesis, tenemos que indicar max-width. Como decíamos, necesitamos escribir aquí 1,200 pixeles. Y ahora dentro de una media query, tenemos que crear algunos estilos CSS, a los que luego se aplicarán sobre ese punto de interrupción Seleccionemos contenedor y fijemos su altura en cien por ciento. A continuación, quiero envolver tarjetas. Para eso. Seleccionemos el envoltorio de tarjetas y le asignemos flex wrap con valor rab Y finalmente, necesitamos espacio alrededor de las tarjetas. Con el fin de envolverlos muy bien. Voy a crear ese espacio usando margen. Por lo tanto, seleccione la tarjeta y se le asigne el margen de 50 píxeles. Bien, así que si hacemos la página más pequeña que las tarjetas serán envueltas Y eventualmente el proyecto responderá en tamaños de pantalla más pequeños 32. Proyecto 29 - botón de palanca CSS: Hola y bienvenidos a nuestro siguiente tutorial. En este video, vamos a construir una casilla de verificación animada CSS, que te permitirá crear algún efecto de alternancia Entonces como puedes ver, tenemos aquí nuestra casilla de verificación por defecto, tenemos aquí un lugar circular en el lado izquierdo con fondo rojo Si hacemos clic en él, entonces el círculo se moverá hacia el lado derecho sin problemas. Y también se cambiará el color de fondo del rojo integrar. Además de eso, puedes notar aquí un pequeño punto colocado en el centro del círculo. Cuando activamos la casilla de verificación, entonces este pequeño punto también cambia su color Bien, así que eso es lo que vamos a hacer. En realidad, creamos esta casilla con gran tamaño solo para una mejor visibilidad. En general, en los sitios web modernos, conocerás casillas de verificación más pequeñas Bien, sigamos adelante y comencemos a construir este proyecto. En código VS. Tengo dos archivos diferentes, uno para HTML y el segundo para CSS. En el archivo index.html. He preparado la estructura básica del documento HTML. Dentro de los elementos de la cabeza, he pasado el enlace para el archivo style.css. Bien, primero vamos a crear desarrollo abierto de marcado HTML, que envolverá todo el contenido asignado a él contenedor de clase Entonces dentro del contenedor necesitamos crear dos elementos. El primero va a ser un elemento de entrada con tipo checkbox. A continuación, necesitamos crear una etiqueta dentro para el atributo, ¿verdad? Cheque. Y también asignado a la clase toggle. Y por último, necesitamos insertar el desarrollo dentro de la etiqueta. Va a ser un círculo. Así que vamos a asignarle círculo de clase. Lo último que tenemos que hacer dentro del documento HTML es vincular entradas y etiquetar. Para ello, tenemos que asignar dos atributos ID de entrada. Y debería tener exactamente el mismo valor que pasamos por, para atributo. Me refiero a chequear. Para poder ver con claridad de lo que estoy hablando. Vamos a insertar dentro del desarrollo algunos textos. Digamos camarilla. Entonces, si hacemos clic en ese texto entonces el cuadro de chat se marcará automáticamente. Vamos al archivo style.css y comencemos a escribir algo de CSS. Al principio, voy a crear algunos estilos de reset. Vamos a deshacernos del margen predeterminado y el relleno de cada elemento. Para seleccionar cada elemento, tenemos que usar un asterisco Y luego pasa tu margen cero y relleno cero. Bien, a continuación voy a colocar los contenidos perfectamente en el centro para eso, seleccionemos contenedor Y al principio definió el ancho y la altura, voy a establecer el ancho como 100 por ciento. En cuanto a la altura, la voy a establecer como cien por ciento de la vista. Luego cambia el color de fondo. Ves tu color E. Y ahora para poder centrar el contenido, voy a usar flexbox Necesitamos aquí display flex. Entonces para centrar el elemento horizontalmente, necesitamos justify-content Y luego alinear los elementos al centro con el fin de centrar elementos particulares. Bien, así como puedes ver, la casilla de verificación se coloca perfectamente en el centro Ahora voy a seleccionar la etiqueta. Pero antes de eso, vamos a deshacernos de este formulario de texto aquí. Después vuelve al archivo CSS y selecciona etiqueta usando className toggle Definamos el ancho como ciento 50 píxeles de lo que necesitamos alto. Vamos a establecerlo como 50 píxeles. Cambiar el color de fondo. Voy a usar tu color e24 848, y también hacer elementos redondeados usando border-radius Bien, así que lo último que quiero hacer con la etiqueta es crear algún efecto de sombra Pero en este caso, voy a crear una sombra dentro de los elementos. Para eso, necesitamos sombra de caja. Entonces como primer valor necesitamos aquí en conjunto de 02 píxeles, diez píxeles, y el color 555. Bien, entonces ahora estás de acuerdo en que se ve mucho mejor. Ahora es el momento de crear el círculo. Así que seleccione el elemento div con el nombre de la clase círculo. En primer lugar, definamos el ancho y alto y establecemos ambos como cinco píxeles. En realidad aplicamos esos start to circle porque usándolos, crearemos un poco.en el centro del círculo, S4, la parte blanca del Debe ser creado por la frontera. Entonces necesitamos aquí borde con los valores de 27 píxeles, columna sólida y blanca. Para poder hacer a lo largo del redondeado, vamos a usar border-radius con un valor del 50 por ciento Bien, entonces tenemos aquí el círculo, pero por ahora no se coloca de la manera correcta Tenemos que encargarnos de su posición. Para eso, voy a usar posición absoluta. Entonces para gestionar la posición del círculo de acuerdo a su elemento padre, que es una etiqueta, tenemos que asignar a la etiqueta posición relativa. Bien, vamos a mover este círculo un poco hacia arriba y también hacia el lado izquierdo. Por lo que necesitamos definir las posiciones superior e izquierda como arriba menos cuatro píxeles e izquierda menos cinco semanas. Y por último, voy a crear un pequeño efecto de sombra, ¿verdad? Sombra de caja con los valores 005 píxeles. El color AAA. Bien, vamos a ver. Hemos personalizado nuestra casilla y ahora es el momento de que funcione Para ello, tenemos que crear el evento click. Se puede pensar que para eso deberíamos usar JavaScript. Pero en este caso, voy a usar algunos trucos CSS que nos permitirán crear el evento click. Como recuerde, hemos vinculado entrada y etiquetas usando id y cuatro atributos. Entonces esta es la forma en que vamos a crear el evento click. Tenemos que definir algunos estilos CSS y tenemos que aplicarlos a los elementos cuando se marca la casilla de verificación En primer lugar, tenemos que seleccionar elemento de entrada. Cuenta con cheque de identificación. Entonces en CSS tenemos una pseudo-clase llamada marcada, lo que nos permite seleccionar la casilla de verificación en modo comprobado Ahora tenemos que acceder a los elementos que necesitamos personalizar. En este caso, necesitamos seleccionar el círculo, pero no podemos simplemente escribir aquí círculo. Al principio, tenemos que tener acceso en la etiqueta, que es un hermano de entrada Para seleccionar al hermano de los elementos de entrada, tenemos que usar uno de estos combinadores CSS llamado selector general de hermanos, que se expresa por Ahora necesitamos una etiqueta, tiene className toggle Y por último, necesitamos aquí círculo. Bien, entonces ahora tenemos acceso en el círculo y todos los estilos que vamos a pasar deberías aplicar al círculo una casilla de verificación se marcará. En caso de un círculo, necesitamos moverlo de su posición actual al lado derecho. Para ello, vamos a usar la posición izquierda. Y al principio vamos a asignarle el 100 por ciento. Además, necesitamos una transición para efecto suave asignado a ella valores izquierda y 0.5 s. vamos a comprobar lo que va a pasar si hago clic aquí entonces el círculo se moverá hacia el lado derecho. Pero se acabará demasiado lejos. Entonces, para obtener los resultados necesarios, necesitamos restar el 200 por ciento del tamaño del círculo Calculemos el tamaño del círculo. En realidad en tamaño del círculo, me refiero al diámetro del círculo. Tiene ancho cinco píxeles y Borde 27 píxeles. Pero hay que tener en cuenta que se deben duplicar 27 píxeles porque tenemos lados izquierdo y derecho. Entonces, en general, el valor debe ser la suma de 27 píxeles más 27 píxeles y más cinco píxeles. Son 59 pixeles. Por lo que tenemos que restar 200 por ciento, 59 picos. Como veis tenemos aquí diferentes unidades de medida, porcentaje y pixel. En realidad esta operación no es válida en CSS. Y para que sea válido, tenemos que usar una función llamada calc, que significa calcular Ahora esta operación es válida. Entonces, si volvemos a hacer clic, entonces el círculo se moverá y obtendremos unos resultados mucho mejores. De un vistazo. Ese es el resultado que necesitábamos obtener. Pero en realidad, necesitamos mover círculo un poco más hacia el lado derecho. Para ser más precisos, necesitamos moverlo por cinco píxeles. Porque como posición por defecto, hemos definido a la izquierda menos cinco píxeles. Entonces, en lugar de 59 píxeles, necesitamos 54 píxeles. Y espero que tenga sentido para ti. Entonces, si hacemos clic, entonces todo va a funcionar. Perfecto. Ahora necesitamos cambiar el color de la etiqueta. Tenemos que hacerlo verde. En realidad, necesitamos que uses la misma técnica. Así que vamos a duplicar este código. Tenemos que cambiar el color de fondo del elemento label. Entonces, deshagámonos del círculo desde aquí. Después borra también esta línea de código, y en color de fondo severo con el valor 3963 Por último, también necesitamos una transición para la etiqueta. Así que aquí mismo la transición con los valores fondo, color y 0.5 s. así como puedes ver ahora, todo funciona bien y en realidad ya casi hemos terminado. Lo único que tenemos que hacer es ocultar esta pequeña casilla de verificación Para eso, voy a ir al archivo index.html y asignado al atributo de elemento de entrada llamado hidden. Bien, así que eso es todo. Nuestro proyecto está hecho. Hemos creado una bonita casilla de verificación animada con efecto de alternar 33. Proyecto 30 - Galería de cuadrícula CSS: En este video, vamos a estar construyendo una galería responsive usando CSS grid. Hoy en día es muy popular y estoy seguro que ya te has encontrado con esas calorías en los sitios web modernos. Entonces como pueden ver, tenemos aquí 12 imágenes con pequeños huecos. Y esas imágenes están alineadas en el espacio bidimensional. Eso es. Lo que puedes lograr usando CSS grid. Es un módulo de diseño CSS bidimensional. Como decíamos, la galería responde. Si hacemos navegadores más pequeños que las imágenes se encogerán muy bien y la galería en sí no se romperá. Bien, sigamos adelante y comencemos a construir este proyecto que tengo aquí en VS Code, par de archivos, index.html y style.css Y también tengo una carpeta llamada images, que incluye todas las imágenes que vamos a utilizar a lo largo de este proyecto. En realidad, como nota rápida aquí, quiero decir que vamos a construir este proyecto en Mozilla Firefox, porque este navegador tiene un poco mejor entorno de trabajo para la cuadrícula CSS. Entonces por eso he corrido el proyecto en este navegador. Bien, entonces en el archivo index.html, he preparado una estructura HTML básica Como ves en el elemento head, tenemos un link para nuestro archivo CSS. Sigamos adelante y comencemos a construir nuestra galería. En primer lugar, voy a crear el marcado HTML. Entonces vamos a abrir el desarrollo. Debe ser un envoltorio para toda la galería. Así que vamos a asignarle contenedor de clase. Entonces voy a abrir otro desarrollo que envolverá todas las imágenes. Vamos a asignarle galería de clase. Entonces ahora es el momento de insertar tus imágenes. Abramos elementos IMG e indiquemos la ruta de la imagen. Tenemos imágenes de carpeta, y después tenemos que seleccionar IMG, un punto JPG Además, necesitamos asignar un par de clases al elemento image. El primero va a ser cuatro estilos comunes, escribir IMG también El segundo debería ser para estilos individuales. Así que escribe IMG dash one. Bien, así como dijimos, en general, vamos a tener 12 imágenes Entonces voy a duplicar esta línea de código 11 veces. Y luego cambiar rápidamente los nombres de las imágenes y también los nombres de las clases. ¿Bien? Entonces como pueden ver, tenemos aquí todas las imágenes, pero por ahora son bastante grandes. Y además se ven feas porque tenemos aquí solo HTML puro. Entonces es momento de empezar a peinar para eso. Vamos al archivo style.css. En primer lugar, voy a crear algunos estilos de reset. Vamos a establecer el margen y el relleno para todos los elementos como cero. Y además de eso, voy a establecer box-sizing border-box. Después de eso, voy a encargarme del contenedor. Entonces sigamos adelante y seleccionémoslo. Después, defina ancho y alto. Vamos a establecer con como 100%. En cuanto a la altura. Voy a fijarlo como 100 por ciento del puerto de visión. Bien, eso es todo por ahora. En cuanto a contenedor, voy a seleccionar una galería que envuelva todas las imágenes. La galería va a ser un contenedor de rejilla. En cuanto a las imágenes, las haremos como elementos de cuadrícula. Entonces, para poder hacer que los elementos de la cuadrícula contenedor, tenemos que asignarle la cuadrícula de visualización. Ahora tenemos que definir columnas de cuadrícula y filas de cuadrículas. Para ello, tenemos que usar propiedades llamadas columnas de plantilla de cuadrícula y filas de plantilla de cuadrícula. Empecemos por las columnas. Utilice aquí columnas de plantilla de cuadrícula de propiedades. En realidad, como nota rápida aquí, quiero decir que si no tienes bastante confianza en CSS grid, entonces te recomiendo que revises nuestro boot camp CSS en que explicamos este módulo en detalle. Y además construimos todo el proyecto basado en la cuadrícula CSS. Entonces si te interesa, entonces puedes encontrar el enlace de este curso en la descripción. ¿Bien? Entonces vamos a tener ocho columnas similares que tendrán el mismo tamaño. Y para eso, quiero usar una función llamada repeat. La función Repetir toma dos argumentos. Como primera, tenemos que indicar número de columnas, ocho. En cuanto a la segunda , tenemos que indicar tamaño para cada columna. En este caso, voy a usar una función llamada min-max. Nos permite definir los valores mínimo y máximo de cada columna. Entonces como valor mínimo, pasemos aquí diez pixeles. En cuanto al valor máximo, voy a usar una unidad especial llamada unidad fraccionaria, ¿verdad Uno. Por lo que significa que el espacio disponible se dividirá en ocho partes del evento. Y cada columna ocupará una parte del espacio disponible. Entonces, como puedes ver, las imágenes han cambiado el diseño. Tenemos aquí, una situación un poco desordenada. Inspeccionemos la página y abramos Herramientas para desarrolladores dije al principio de este tutorial que Firefox tiene un entorno de trabajo muy bueno para la cuadrícula CSS. En el lado derecho, tenemos aquí la pestaña Layout en la que puedes encontrar una sección para la cuadrícula donde tenemos nuestros elementos div, que es Gallery Si marcamos esta casilla, entonces se mostrará GridLayout Quiero decir, puedes encontrar tus ocho columnas que acabamos crear y los números de línea de cuadrícula adecuados. ¿Bien? A continuación voy a encargarme de las filas de cuadrículas. Para eso voy a usar una propiedad llamada grid template rows. Entonces tendremos cuatro filas. Cada uno de ellos tendrá el mismo tamaño. Por lo tanto, voy a usar, de nuevo repetir la función. Indiquemos aquí una serie de roles para s precisos, voy a usar aquí pequeño tweak que nos ayudará a hacer la respuesta de la galería Entonces voy a hacer que el tamaño de cada fila 10% del ancho de la ventana gráfica Significa que una vez que se disminuya el ancho de la página , entonces el tamaño de los roles se disminuirá en consecuencia. Y eventualmente, obtendremos un diseño receptivo. Para poder ver mejor, vamos al navegador. Por lo que si hago el navegador más pequeño que el tamaño de la rosa se disminuirá. Bien, así que por ahora, las imágenes son bastante grandes Y para arreglarlo, sigamos adelante y seleccionemos imágenes con nombre de clase común IMG, luego establecer ancho y alto como cien por ciento Ahora, las imágenes se colocan dentro de las celdas de la cuadrícula. También son más pequeños. Pero tenemos aquí un pequeño problema. Si las miras más de cerca, encontrarás que las imágenes están un poco estiradas y no se ven del todo bonitas. Entonces para arreglar eso, vamos a usar la propiedad llamada pies de objeto y asignada a cada cubierta de valor. Entonces ahora se ven mejor. A continuación, quiero crear algo de espacio entre celdas de cuadrícula. Para ello, tenemos que asignar a la galería la grilla gap. Vamos a establecerlo como 16 píxeles. Y también cambiemos el color de fondo. Voy a usar tu llamada o cero, d cuatro a cero. Entonces como puedes ver, tenemos algo de espacio entre celdas de cuadrícula y también se cambia el fondo. ¿Bien? Ahora necesitamos alinear cada imagen individualmente y eventualmente ocuparán toda la galería. Entonces comencemos desde la primera imagen. Quiero que retomes las dos primeras columnas y la primera fila. Así que vamos a seleccionarlo con nombre de clase individual IMG. A continuación, definir la propiedad llamada columna de cuadrícula. Esta propiedad nos permite definir el número de línea de columna inicial y también el final. Entonces como decíamos, la primera imagen ocupará las dos primeras columnas y la primera fila. Por lo tanto, necesitamos aquí como línea de salida número uno, luego slash y tres Y también, escribamos fila de cuadrícula con números de línea 1.2. Entonces, como puedes ver, la primera imagen ha ocupado las dos primeras columnas y se coloca en la primera fila. La segunda imagen ocupará las siguientes tres columnas y las dos primeras filas. Entonces sigamos adelante y copiemos el código para la primera imagen. Después cambia el nombre de la clase. Y también valores para columna de cuadrícula y fila de cuadrícula. Necesitamos 3.6 S fila de cuatro cuadrículas, ¿verdad? 1.3. Bien, a continuación tenemos la tercera imagen Quiero dejarla donde está. Es decir, va a tomar toda la deuda una celda. Entonces para la tercera imagen, necesitamos la columna de cuadrícula como 6.7 y el papel de coraje como 1.2. A continuación tomaremos dos columnas y dos filas. Entonces, para la cuarta imagen, escribamos líneas de cuadrícula. Para columna de rejilla necesitamos 7.9. Agregar para la fila de cuadrícula 1.3. Bien, A continuación tenemos la imagen número cinco. Quiero que tomes dos columnas y dos filas también. Me refiero a la segunda y tercera fila. Entonces, para la quinta imagen, cambiemos las líneas de la cuadrícula de la siguiente manera. Necesitamos aquí 1.3 como fila de cuatro cuadrículas, ¿verdad? 2.4. ¿Bien? En realidad así es como decidí alinear las imágenes. Pero claro que puedes hacerlo por tu cuenta. Puedes usar más imágenes o menos y crear el diseño como desees. Sé que escribir código para la galería es un poco repetitivo y tal vez un poco preocupante Pero así es como funciona. Eventualmente obtendremos un buen resultado. Bien, A continuación tenemos la imagen número seis. Quiero que se coloque dentro de la tercera y cuarta columnas. En cuanto a la fila, ocupará la tercera. Entonces, para los seis MHz, escribamos números de línea para la columna de cuadrícula 3.5, fila de cuadrícula S4, necesitamos 3.4. Bien, entonces hemos alineado seis imágenes. Todavía quedan otras seis imágenes. Como dijimos, escribir el código para tal diseño es un poco rutinario Entonces voy a pasar aquí el código para el resto de las imágenes y luego simplemente puedes sobrescribirlo Bien, espero que hayas escrito el código para las otras seis imágenes. Vamos al navegador y veamos cómo se ve nuestra galería. Así que las imágenes están muy bien alineadas y nuestra galería ya se ve bien, ¿verdad? En realidad, quiero hacer aquí algunos cambios. Como ve, tenemos una brecha entre las imágenes y quiero crear ese espacio también en los bordes de la galería. Quiero decir, en los cuatro lados, arriba, abajo, izquierda y derecha. Para eso, voy a usar padding. Escribamos aquí 16 pixeles. Lo siguiente que quiero hacer es colocar toda la galería verticalmente en el centro. Para eso, voy a usar Flexbox. Vamos a asignar al contenedor display flex. Y para centrar los artículos flexibles verticalmente, necesitamos alinear los artículos al centro. Entonces la galería está centrada. Y lo último que quiero hacer es crear efecto hover Por defecto, quiero disminuir la opacidad para las imágenes. Entonces lo aumentaremos al hover. Así que vamos a asignar a la opacidad de imagen 0.7. Después selecciona imagen con hover y aumenta la opacidad aquí mismo, uno Por último, usemos la transición con valores de opacidad y 0.5 s. ? Entonces como pueden ver, tenemos aquí bonito efecto hover Y en realidad nuestro proyecto está hecho 34. Proyecto 31 - Landing Page con formas modales: En este video, vamos a crear una bonita página de préstamos usando HTML, CSS y un poco de JavaScript. Antes de empezar a trabajar en este proyecto. Como Normalmente, voy a repasarlo y describirlo rápidamente. Entonces como pueden ver, tenemos aquí fondo de pantalla completa. En el centro de la página, teníamos una pancarta que consta de encabezamientos y párrafos Y también en la esquina superior derecha, se colocan dos botones diferentes. Si hacemos clic en ellos, entonces formularios agradables se mostrarán como las cajas del modelo. En realidad esas formas son similares. Sólo hay una diferencia. Un formulario es para iniciar sesión y el segundo es para registrarse. Bien, eso es. Lo que vamos a hacer. Espero que sea interesante y disfrutes de este proyecto. Así que comencemos. En el escritorio. He creado una carpeta llamada formularios modelo, en la que he creado tres archivos diferentes para HTML, CSS y JavaScript. También aquí hay una carpeta que incluye la imagen para la página de destino. Bien, sigamos adelante y abramos esta carpeta con el código VS. Entonces voy a revisar el archivo index.html. Como puedes ver, tenemos aquí la estructura básica del documento HTML. Dentro del elemento head, tenemos un par de elementos link. Quiero decir, enlaces para iconos Font Awesome, también un enlace para fuentes de Google. A lo largo de este proyecto, voy a usar fuentes llamadas Josephine Sans, y Montserrat Y por último, tenemos aquí un enlace para nuestros estilos CSS personalizados. En realidad puedes descargar archivos de inicio desde el enlace en la descripción. Bien, sigamos adelante y ejecutemos este archivo en el navegador. Voy a hacer eso usando un servidor en vivo. Es una gran extensión del Código VS para que puedas buscarlo desde el Administrador de Extensiones e instalar este paquete. Bien, sigamos adelante y coloquemos el editor y el navegador uno al lado del otro y comencemos a construir al principio el marcado HTML Todo el contenido estará envuelto por desarrollo. Así que vamos a abrirlo. Y asignado al contenedor de nombre de clúster. El contenedor constará de tres partes diferentes. Como primera parte, vamos a tener aquí Banner, que incluirá encabezamiento y un párrafo. Después en la esquina superior derecha tendremos botones para iniciar sesión y para registrarse. En cuanto a la tercera parte, será un contenedor lleno e incluiremos nuestros formularios. Entonces sigamos adelante y abramos el desarrollo. Y asignado a su nombre de clase, texto de banner. E inserte en él H1 elementos de encabezado con código de texto y cree. Después abre p elementos e inserta en él algunos textos. Digamos que aprende a sobrellevar. Bien, Siguiente deberíamos tener aquí los botones. Entonces vamos a abrir el desarrollo, que tendrá nombre de clase btn Y luego insertarlo en partes y elementos. Voy a asignar a cada clúster el nombre para estilos comunes, btn Y también necesitamos aquí otra clase para el estilismo individual. Vamos a llamarlo Login, btn como texto, voy a insertar tu login En realidad, también hicimos el botón similar para apuntarte. Así que vamos a duplicar esta línea de código y cambiar el nombre de la clase que necesitamos aquí, regístrate btn Y también voy a cambiar el texto. Vamos a escribir te registres. Bien, eso es todo sobre los botones. A continuación, tenemos que empezar a trabajar en formularios. Para eso voy a crear otro desarrollo. Debe ser un contenedor de forma. Así que vamos a asignar a cada nombre de clase para contenedor. Entonces tendremos aquí dos partes distintas. El primero va a ser para un registro. Así que vamos a abrir el desarrollo y asignado a nombre de clase inscribirse. Para envoltorio. Esta clase va a ser para estilos individuales. Necesitamos aquí otro para el estilo común. Entonces llamémoslo modelo. El modelo constará de un par de elementos. Tendremos botón X de cierre. También. Voy a crear un par de encabezamientos. Entonces tendremos varias entradas con Font, Iconos impresionantes. Y por último tendremos un botón. Bien, vamos a seguir adelante y crear esos elementos, desarrollo abierto y asignado a comer varios nombres de clase El primero va a ser x btn, y luego necesitamos registrarse x. dentro de esos elementos div Voy a insertar una de las entidades HTML, derecha, en signo y horarios con punto y coma Entonces como pueden ver, tenemos aquí x. A continuación tendremos un par de encabezamientos Entonces vamos a abrir otro desarrollo y le asignamos nombre de clase, encabezado de formulario. Y luego insertar elementos de encabezado H1 con código de texto y crear A continuación necesitamos aquí otro encabezado va a ser h3 elementos de encabezado Vamos a insertar tu texto. Únete a nosotros. Bien, ahora es el momento de crear un elemento form en sí mismo, que incluirá un par de entradas Así que vamos a abrir los elementos del formulario y asignemos a comer formulario className Por lo que el elemento form constará de tres grupos diferentes. Cada uno de ellos incluirá Font, Awesome, icon y el elemento input. Así que vamos a crear un elemento div y asignarle entrada de clase, grupo. Después inserte en él I elementos. Entonces el primer icono va a ser para nombre de usuario. Vamos a asignar a cada clase nombres FAS, un usuario. Entonces necesitamos un elemento input. Su tipo va a ser textos. Y también necesitamos aquí otro atributo llamado placeholder con un valor username Entonces como dijimos, necesitamos unos tres grupos de entrada. Duplicémoslo dos veces y luego hagamos algunos cambios. La segunda entrada va a ser para correo electrónico. Entonces cambiemos el nombre de clase de los elementos de IA. Aquí necesitamos, F, a, F, un sobre. Después cambia el tipo de entradas, hazlo por correo electrónico. Y también como valor de marcador de posición, necesitamos insertar correo electrónico Bien, la tercera entrada va a ser para una contraseña. Cambiemos el nombre de clase de los elementos de IA. Necesitamos tu llave FASFA. Luego cambia el tipo de elementos de entrada. Necesitamos la contraseña y también insertar contraseña para marcador de posición también Bien, veamos acerca de las entradas. Los últimos elementos que tenemos que crear es un botón. Así que vamos a abrirlo. Entonces. Voy a definir type attribute como un bottom y luego insertar tus textos, regístrate. Bien, así que hemos creado los primeros cuatro registros. También necesitamos similares para iniciar sesión. Así que vamos a duplicar el envoltorio de formulario de registro, y luego hacer algunos cambios Voy a cambiar el nombre de la clase que necesitamos aquí iniciar sesión. Entonces necesitamos cambiar el nombre de clase de x bottom. Necesitamos volver a iniciar sesión. Entonces también en lugar de unirse a nosotros, necesitamos iniciar sesión. En caso de formulario de inicio de sesión, no necesitamos un correo electrónico en absoluto. Entonces, deshagámonos del segundo grupo de entrada. Y por último, cambió el valor del fondo. Necesitamos aquí iniciar sesión. Bien, eso es todo sobre el marcado HTML. Ahora, es el momento de comenzar a escribir algo de CSS. Vamos al archivo style.css. En primer lugar, voy a crear algunos estilos de reset. Vamos a deshacernos del margen y el relleno de cada elemento. Necesitamos usar asterisco para seleccionar cada elemento. Entonces pasemos tus márgenes y relleno cero también. Entonces voy a seleccionar contenedor. Definamos su ancho y alto como un ancho. Voy a usar peligro presente. Altura S4. Quiero establecer la altura como 100% de la ventana gráfica. Y para eso, tenemos que usar unidad de medida relativa llamada VH. Entonces necesitamos 100 vh. A continuación, establecemos la imagen como fondo de pantalla completa. Voy a usar tu gradiente lineal. Después pasar algunos valores RGBA. El primero va a ser de color negro ¿verdad? 000 con opacidad 0.6. Como por segundo, necesitamos de nuevo RGBA color negro, pero con opacidad 0.8 A continuación, indiquemos URL. Quiero decir parte de la imagen. Tenemos imágenes de carpeta y luego imagen llamada PG dot JPG que necesitamos posición de fondo como centro. Y también no repetir. Por último, usemos la propiedad de tamaño de fondo con la cobertura de valor. Bien, así como pueden ver, tenemos aquí imagen de fondo a pantalla completa Ahora, voy a darle estilo a banner y botones. Y después de eso nos encargaremos de las formas de estilismo y también las haremos funcionar por ahora. Para que el proceso de trabajo sea más conveniente, voy a ocultar todo el contenedor de formularios por un tiempo Puedes hacerlo usando ya sea display none o simplemente podemos usar uno de los atributos HTML llamados hidden. Entonces usemos el atributo Keaton y asignémoslo para formar Container. Como puedes ver, ambas formas de oculto y tenemos aquí solo texto de banner y botones. Sigamos adelante y comencemos a diseñar el texto del banner. Entonces, seleccionemos desarrollos que tengan textos de banner de nombre de clase. Yo voy a encargarme de la posición de la pancarta. Quiero que se coloque en el centro. Para eso, voy a utilizar alguna técnica usando posiciones y transformar la propiedad. Si has visto nuestros videos recientes, entonces ya deberías conocer esta técnica. Pero si no, te lo voy a mostrar en un segundo. En primer lugar, necesitamos establecer la posición como absoluta. Entonces necesitamos encabezar la posición, establecer como 40 por ciento y posición izquierda con un valor del 50 por ciento. Entonces ahora decimos que los controles fronterizos desplazaron de arriba a abajo un 40% y de izquierda a derecha en un 50%. Eso no es lo que queremos. Para que los elementos centrales, tenemos que moverlo de su posición actual en un 50 por ciento al lado izquierdo y un 50 por ciento al alza. Para eso, necesitamos usar Transform. Después traduzca. Tenemos que pasar rendimiento los siguientes valores. Necesitamos -50 por ciento y luego otra vez -50 por ciento. Bien, Entonces con la posición del texto del banner, ya terminamos. Y ahora tenemos dos encabezamientos de estilo y un párrafo. Empecemos por el encabezamiento. Selecciónalo a la derecha, textos de banner, H1. Antes que nada, cambiemos de color. Voy a hacerlo blanco. Después cambia font-family. Usemos su fuente llamada Montserrat san-serif. Eso incrementó el tamaño de la fuente. Voy a configurarlo como 80 pixeles. Además, voy a hacer que la fuente sea más ligera usando font-weight. Vamos a establecerlo como 300. Entonces crea algo de espacio entre letras. Utilice el espaciado entre letras con el valor de dos píxeles. Y por último, voy a crear algo de espacio en la parte inferior usando margen inferior, dos picos. Bien, eso es todo sobre rumbo. Ahora, voy a seleccionar el párrafo. Así que el texto del banner derecho p. en realidad, necesitamos aquí propiedades casi similares que usamos para encabezado. Entonces voy a copiarlos. Vamos a pegar aquí y hacer algunos cambios como color. Usemos e. Entonces. Voy a cambiar familia de fuentes en lugar de Montserrat aquí mismo, Josephine Que disminuyen el tamaño de la fuente, lo hacen 40 pixeles. Como peso de fuente, necesitamos aquí lo mismo. Entonces dejémoslo como está. A continuación, voy a disminuir el espacio entre letras. Necesitamos un pixel. Y por último, en lugar de margen inferior, vamos a usar text-align, Bien, eso es lo de la pancarta. Creo que se ve bien. Y ahora quiero trabajar en botones. En primer lugar, cuidemos sus posiciones. Quiero que se coloquen en la esquina superior derecha. Para ello, vamos a seleccionar desarrollo, que envuelve ambos botones. Tiene nombre de clase BTN. Hagamos su posición como absoluta. Después defina los 50 píxeles superiores y los 60 píxeles derechos. Entonces como puedes ver, ambos botones se colocan en la esquina superior derecha. Y ahora voy a darles estilo. En primer lugar, vamos a darle a ambos botones algunos estilos comunes. Como recuerdas, tienen clase común, BTN. Vamos a seleccionarlo. Al principio, establezca el ancho como ciento 70 píxeles. Luego crea algo de espacio dentro de los botones usando relleno. En la parte superior e inferior, necesitamos diez píxeles, y luego 15 px está en los lados izquierdo y derecho. Entonces vamos a crear espacio en el lado derecho de los botones usando 20 píxeles margin-right Además, quiero hacerlos redondeados. Para eso, usemos border-radius y hagamos que sea 50 pixeles. Ahora, vamos a encargarnos de los textos. En primer lugar, cambiar font-family. En este caso, voy a usar teléfonos llamados Josephine Sans Serif. Después aumentó el tamaño de la fuente, lo hacen 16 pixeles. Crea algo de espacio entre letras. Utilice el espaciado entre letras. Un píxel. También se deshace de default, outline, outline, none Y por último, cambiar tipo de gruesamente. Hazlo un puntero. Eso es todo sobre estilos comunes. Ahora, voy a darle algunos estilos individuales a ambos botones. Seleccionemos el primero usando className, Login, btn. Luego cambia el color de fondo. Voy a usar tu color llamado tomate. Ahora, quiero cambiar el color del texto. Y en realidad necesito el mismo color para ambos botones. Entonces lo voy a escribir dentro de estilos comunes. Usemos tu color blanco. Además del color, también quiero el mismo borde. Entonces definamos la frontera. Dos pixeles, sólidos y como color, ¿verdad? Tomate. Y por último, selecciona el segundo botón que tiene nombre de clase, regístrate btn, y haz que su color de fondo sea transparente Bien, eso es todo sobre este alicatado de los botones. A continuación, quiero crear algunos efectos de hover y clicar. Al flotar. Quiero que el botón mueva a Elizabeth hacia arriba. Para eso. Seleccionemos btn con Harvard y luego definamos transform Necesitamos traducir Y con valor menos dos píxeles. Y también para que el efecto sea más inteligente, necesitamos hacer la transición del transporte 0.3 s. Si pasamos cursor sobre los botones, entonces llegaremos hasta aquí Bonito efecto. A continuación, como dijimos, necesitamos hacer clic en efecto. Para eso tenemos que usar una de estas pseudo-clases llamadas active Así que tenemos que seleccionar BGN con active. Y ahora podemos definir estilos que queremos que los botones obtengan cuando hacemos clic en ellos. Entonces, como saben, al flotar ahí, subiendo y onclick, necesitamos colocarlos en sus viejas posiciones Por lo tanto, necesitamos copiar esta línea de código y simplemente cambiar el valor. Tenemos que escribir aquí cero. Entonces, cuando hagamos clic, obtendremos un bonito efecto de clic. Bien, eso es todo sobre personalizar botones. Ahora es el momento de comenzar a trabajar en granjas. Entonces por ahora el contenedor de formulario está oculto. Lo primero que tenemos que hacer es mostrarlo de nuevo. Pero no necesitamos mostrar ambos formularios al mismo tiempo. Voy a comenzar al primer formulario de registro. Entonces la segunda forma será automáticamente estilo. Eso sucederá porque ambas firmas comparten las mismas clases. Entonces voy a ocultar el formulario de inicio de sesión para eso. Vamos a asignar a su wrapper atributo hidden. Después vuelve al archivo style.css. Voy a seleccionar ambos raperos de forma con modelo de clase común Después defina el ancho como 400 píxeles. Entonces voy a poner una imagen como fondo. Usemos aquí gradiente lineal y pasemos aquí algunos valores RGBA El primero va a ser 148422, después voy a 42 y la opacidad 0.8 S para el segundo va a ser 185-12-9129 A continuación, seleccione la imagen. Necesitamos aquí bg dot JPG como una posición, centro derecho que no repetir. Y también necesitamos propiedad de tamaño de fondo con la cobertura de valor. ¿Bien? Por lo que los formularios deben colocarse en el centro de la página. Es decir, deberían estar perfectamente centrados. Para eso, voy a usar la misma técnica que usamos para el banner. Así que fijemos la posición del modelo como absoluta. Que necesitamos arriba 50 por ciento, izquierda, 50 por ciento. Y también transformar, traducir con los valores -50 por ciento y nuevamente -50 por ciento. Por último, hagamos esquinas de modal, un poco redondeadas usando border-radius con valor 20 píxeles Bien, así que por ahora, la forma se ve realmente horrible, pero vamos a hacer que se vea bien en un rato. Sigamos adelante y comencemos a diseñar elementos que se colocan dentro del modal. Voy a comenzar con x patrón de cierre. Así que vamos a seleccionarlo. Necesitamos el nombre de la clase x BTM. Voy a colocarlo en la esquina superior derecha de modal. Para eso, voy a usar posición absoluta. Entonces, ¿a la derecha? Como 20 piezas. Por ahora, como puedes ver, el botón es bastante pequeño, así que vamos a encargarnos de ese mayor tamaño de fuente. Hazlo 50 pixeles Además, voy a cambiar el color. Vamos a usar aquí llamado o dos a dos. Y por último, cámbielo de tipo más basto, hazlo puntero. Bien, eso es todo sobre el botón X. Ahora tenemos que encargarnos de esos elementos de rumbo. Seleccionemos sus elementos padre, que es el encabezado del formulario. Voy a colocar texto en el centro usando text-align Después crea algo de espacio en la parte superior y también en la parte inferior del encabezado usando margen, derecho, ocho píxeles, cero, cien y 50 píxeles. Y otra vez cero. Y por último, cambiar el color de ambos encabezamientos, hacerlos blancos. Bien, ahora voy a seleccionar el primer rumbo para eso. Tenemos que escribir aquí el encabezado del formulario H1. Vamos a cambiar la familia de fuentes. En este caso, voy a usar fuente Josephine Sans, san-serif A continuación, voy a aumentar el tamaño de la fuente. Hagámoslo 40 pixeles. Entonces. Haz que los textos sean más ligeros usando font-weight 300. Y luego crear algo de espacio en la parte inferior del encabezado usando márgenes tercios inferiores píxeles. Después de las deudas, voy a seleccionar el segundo rubro. Así forma derecha encabezado h3. En el caso del segundo rubro, necesitaremos propiedades casi similares. Así que vamos a agarrar esas tres líneas de código. Pégalos para segundo encabezamiento. Después cambia font-family. Necesitamos aquí más Surat. Entonces como tamaño de fuente, derecho, 25 píxeles, font-weight, no necesitamos cambiarlo, así que dejémoslo como Y por último, agregar texto, transformar, mayúsculas. Bien, eso se sienta sobre encabezar elementos. Ahora tenemos que empezar a trabajar en insumos. Al principio, seleccionemos los elementos del formulario, que tiene el formulario className Quiero encargarme de su posición. Y para eso voy a usar flexbox. Así que la derecha de la pantalla flex. Los artículos flexibles se colocan horizontalmente en una fila. Entonces necesitamos cambiar la dirección del flex y tenemos que hacerla columna. Entonces para centrar los elementos, necesitamos alinear los elementos, centrar. Bien, ahora tenemos que empezar a diseñar esas entradas. Al principio, voy a seleccionar el grupo de entrada, que envuelve Font, Iconos impresionantes y entradas. Quiero crear algo de espacio en la parte inferior de cada grupo de entrada. Entonces usemos aquí margen inferior con valor diez píxeles. Después de eso, seleccionemos la entrada en sí, ¿verdad? Grupo de entrada. Esa entrada. Ancho definido como 250 píxeles. A continuación, quiero crear algo de espacio dentro de la entrada usando padding. En los lados superior, derecho e inferior, necesitamos la misma cantidad de espacio. Así que aquí mismo, 15 pixeles, tres veces S para el lado izquierdo, voy a crear un poco más de espacio porque eventualmente vamos a colocar tus iconos Font, Awesome. Entonces aquí mismo, 50 pixeles. A continuación, me voy a deshacer del borde y contorno predeterminados , borde derecho ninguno. Y no esbozar ninguno. También hacer entrada ligeramente redondeada. Usando border-radius con valor de 30 píxeles. Entonces voy a cambiar el fondo de entradas. Vamos a usar aquí el valor RGBA con color negro y con puntos de opacidad seis Bien, después de eso, voy a trabajar en el texto. Así que vamos a cambiar la familia de fuentes. Voy a usar su fuente llamada Josephine Sans. Sans serif. Eso incrementó el tamaño de la fuente. Hazlo 16 pixeles y luego cambia de color. Ves tu color di, di, di. Bien, así que acabamos de empezar los elementos de entrada. Es hora de seguir adelante y cuidar de los iconos Font Awesome. Así que vamos a seleccionarlos usando input-group. I. Al principio quiero gestionar sus posiciones. Como decíamos, los voy a colocar dentro de elementos de entrada. Para ello, definamos su posición como absoluta. Y para que funcionen de acuerdo con el elemento padre, que en este caso es input-group Tenemos que asignar al elemento padre posición relativa. Después defina cuatro elementos I, arriba como 13 píxeles e izquierda Como 17 píxeles. Entonces ahora como puedes ver, se colocan dentro de entradas. Solo aumentemos el tamaño de la fuente. Hágalo 18 píxeles, y cambie de color. Usa aquí. Bien, así que con los grupos de entrada, hemos terminado ahí luciendo bien Y el único elemento que queremos cuidar dentro de la forma es un botón. Así que vamos a seleccionarlo bien para botón. En primer lugar, definamos anchuras, conviértanlo 310 píxeles Luego crea algo de espacio dentro del botón usando relleno. Establecerlo como 12 píxeles, se deshace del borde y el contorno predeterminados , ¿verdad? Frontera ninguna. Y no esbozar ninguno. Después hacer botón redondeado. Use aquí, border-radius con valor se piensa en píxeles. Después de eso, voy a cambiar el color de fondo de Batson Usemos tu color o d8678. Además, necesitamos cambiar el color del texto. Hagámoslo blanco. A continuación, voy a trabajar en textos. Quiero cambiar font-family. Usemos aquí Josephine Sans. Serif. También aumenta el tamaño de la fuente. Hazlo 16 píxeles y transforma texto en mayúsculas usando texto, transforma mayúsculas Bien, así como puedes ver, el botón está casi estilizado Se ve bien, pero tenemos que agregarle un par de estilos. Como ves, necesitamos algo de espacio en la parte inferior de la misma. Y también voy a crear algo de espacio en la parte superior de la misma también. Para eso, tenemos que usar margen. En la parte superior derecha, diez píxeles que cero, que 50 píxeles en la parte inferior y cero. Entonces crea alguna sombra. Usa sombra de caja con los siguientes valores. Como 05 píxeles, 20 píxeles. Y como un color derecho RGBA, color negro posterior con opacidad 0.4 Y finalmente cambió más grosero, hacer que apunte un derecho, ese asiento sobre la personalización de Lo último que quiero hacer es crear efectos de hover y click, como lo hicimos en caso de iniciar sesión y botón de registro Así que vamos a seleccionar para botón con Harvard que necesitamos aquí, Transformar, Traducir Y con argumentos menos dos píxeles. Y además de eso, quiero cambiar ligeramente la sombra al flotar Así que la sombra de caja derecha. Aquí necesitamos valores cero, que ocho píxeles, 25 píxeles. Y como derecho de color, RGBA 000 y opacidad 0.3 Además, necesitamos usar la transición, ¿verdad? Todo 0.3 s. así como puede ver, efecto hover está funcionando Se ve bien. Ahora vamos a crear el efecto click. Voy a seleccionar para y abajo con pseudo-clase E2. Entonces vamos a agarrar esta línea de código. Pégalo aquí y como argumento pasa cero. Bien, así que eso es todo. El modelo está diseñado en realidad este es el formulario de registro. Por ahora el formulario de inicio de sesión está oculto. Pero si lo mostramos de nuevo, entonces encontrarás que también está estilizado porque ambas formas modelo tienen las mismas clases comunes Bien, así que todo está listo para que esos formularios modelo funcionen por defecto. Los vamos a esconder. Y cuando hacemos clic en los botones de inicio de sesión o registro, deberían mostrarse. Y también el resto de la página debería estar deshabilitado. Para lograrlo, vamos a usar un poco de JavaScript. Bien, entonces antes de escribir algo de JavaScript, al principio voy a ocultar los formularios, pero no lo voy a hacer desde HTML. Lo haremos desde CSS. Así que al principio vamos a deshacernos del atributo oculto desde aquí. Después vaya al archivo style.css. Para ocultar formularios, voy a usar opacidad cero y visibilidad oculta. Y debemos asignarlos a modelar. Las espumas están ocultas. Ahora para poder mostrarlos, cuando hacemos clic en los botones, tenemos que crear una nueva clase, que en realidad no existe en HTML. Y luego usando JavaScript, tenemos que agregar a esta clase dos formas de evento onclick Así que primero vamos a crear clase y llamarlo display. Entonces agarra esas dos propiedades. Y cambiar valores. Necesitamos opacidad de uno y visibilidad visible. Ahora es el momento de escribir algo de JavaScript. En realidad, necesitamos vincular nuestros archivos JavaScript a la celda HTML. Vamos al archivo index.html y abajo abajo antes de cerrar body tag, open script tag. Y en el atributo fuente indica parte del archivo JavaScript. Necesitamos aquí script.js, luego abrir el archivo script.js. Entonces antes de adjuntar un evento click dos botones, voy a crear un par de variables. Tenemos que crear variables para los modelos, y necesitamos seleccionar ambos modelos por separado. Como recuerda, asignamos a cada uno de ellos nombres de clase individuales. Quiero decir, envoltorio de formulario de registro y envoltorio de formulario de inicio de sesión. Por lo que necesitamos usar esas clases para seleccionar modelos por separado. Así que volvamos al archivo script.js y creamos la variable, llámalo modelo de registro En realidad, como nota rápida aquí, si no estás familiarizado con JavaScript, en este caso dom, entonces puedes consultar nuestro bootcamp de JavaScript en Udemy, en el que te explicamos todos los conceptos principales desde básico hasta avanzado en detalle Puedes encontrar el enlace de este curso en la descripción. Ahora tenemos que seleccionar el envoltorio de formulario de registro para eso. Escribamos aquí documento. Entonces voy a usar el método llamado selector de consultas. Dentro de paréntesis, vamos a indicar className, que es registrarse para rápido. Y de la misma manera tenemos que seleccionar el envoltorio de formulario de inicio de sesión. Así que vamos a duplicar esta línea de código. Después cambiar el nombre de la variable que necesitamos aquí, modelo de inicio de sesión. Y también cambió className aquí mismo, login. Bien, además de los modelos, también tenemos que seleccionar los botones de registro e inicio de sesión Así que vamos a crear otra variable y llamarla sign up btn, que debería ser igual al selector de consulta de punto de documento Y entre paréntesis como nombre de clase, ¿verdad? Regístrate en BTM Lo mismo necesitamos para un botón de inicio de sesión. Así que vamos a duplicar esta línea de código. Después cambiar el nombre de la variable. Necesitamos aquí Iniciar sesión btn. Y también cambiar el nombre de la clase, ¿verdad? Iniciar sesión btn Bien, así que por ahora todos sabemos o pueden adjuntar click evento dos botones para eso tenemos que escribir aquí, regístrate btn. Entonces tenemos que adjuntar a él método llamado add event listener Dentro de paréntesis, tenemos que indicar el nombre del evento como primer argumento Y luego tenemos que pasar tu función. En este caso, voy a usar la función de flecha ES6. Y ahora tenemos que agregar para registrarte la visualización de clase modelo, que acabamos de crear en CSS. Para eso, tenemos que escribir aquí modelo de registro que necesitamos usar la propiedad llamada lista de clases Y para poder agregar una clase al modelo, tenemos que usar el método llamado add. Entre paréntesis. Tenemos que pasar un nombre de clase como argumento. Entonces ahora si hacemos clic en el botón Registrarse, entonces se mostrará el modelo de registro. Agradable, el botón de registro está funcionando. También necesitamos lo mismo para el botón de inicio de sesión. Así que vamos a duplicar este código y cambiar los nombres de las variables. Necesitamos Login, btn, y también login model Bien, hagamos clic en el botón Iniciar sesión y podrás ver que funciona como lo hace el botón de registro. Por ahora. Sólo esos dos botones están funcionando. No podemos cerrar modelos usando botones X. Y además no se desactiva el fondo cuando se muestran los modales Entonces ahora es el momento de encargarse de esas cosas. Al principio, quiero que los botones X funcionen. Para eso. Vamos a crear nuevas variables por separado para el botón X de registro y el botón X de inicio de sesión también Vamos a llamarlo seno variable de x, que debe ser igual al selector de consulta de punto de documento. Y luego indiquemos el nombre de tu clase, seno de x. Vamos a duplicarlo. Cambiar el nombre de la variable aquí mismo, iniciar sesión x. Y también cambió className Necesitamos iniciar sesión x, como los botones de registro e inicio de sesión También necesitamos adjuntar el evento de clic a los botones X. En realidad, voy a duplicar este código Entonces vamos a cambiar el nombre de variable, derecha, seno de x Así que ahora cuando hacemos clic en el botón X, tenemos que quitar la visualización de clase, a que agregamos dos modelos. Así que aquí en lugar de método add, necesitamos usar el método llamado remove. Hagamos lo mismo para iniciar sesión x. Duplicar este código. Cambiar nombre del botón aquí mismo iniciar sesión x. Y también cambiar nombre de modelo, ¿verdad? Iniciar sesión modal. Bien, vamos a mostrar modelos. Entonces, si hacemos clic en X botellas, entonces se irán. Entonces los botones X funcionan bien. En realidad por ahora tenemos aquí una situación un poco desordenada. Podemos mostrar ambos modelos al mismo tiempo, pero definitivamente es la mala experiencia de usuario. Necesitamos algunas restricciones. Es decir, cuando se muestra uno de esos modelos, debemos desactivar toda la página para que no podamos hacer clic en segundo botón. Para disolver la página, debemos cubrir ocho por contenedor de forma. Y entonces no podremos hacer click en ninguna parte de la página. Para eso. Al principio, tuvimos que asignar algunos estilos para formar contenedor. Vamos al archivo style.css y seleccionemos. Para contenedor. Voy a definir su posición como fija. Entonces para la visibilidad, definamos este color de fondo aquí mismo, RGBA, e insertándolo color negro con opacidad 0.7 Por ahora, el contenedor formado no es visible. Y en realidad para arreglar eso, tenemos que difundirlo en toda la página. Para eso, voy a definir las cuatro posiciones como cero. Quiero decir, necesitamos arriba cero, derecho cero, luego abajo cero, y finalmente dejar cero. Entonces ahora desde contenedor es posible. Pero al mismo tiempo, no podemos hacer clic en los botones y también hacer clic en cualquier parte de la página. Por supuesto que no es lo que queremos por defecto. Queremos que suceda cuando mostramos uno de esos modelos. Entonces por defecto tenemos que escondernos del contenedor. Y para eso necesitamos opacidad cero visibilidad oculta. Entonces necesitamos crear una nueva clase la cual se agregará al contenedor de formularios usando JavaScript, que gestionará que aparezca el contenedor de formularios. Así que vamos a crear clase y llamarla deshabilitada. Tenemos que copiar esas dos propiedades. Después pegarlos aquí y cambiar los valores. Necesitamos opacidad uno y visibilidad visible. Bien, ahora volvamos al archivo script.js. Entonces necesitamos desactivar la página cuando hacemos clic en una de esas batallas, me refiero a iniciar sesión o registrarse. Entonces tenemos que crear una nueva variable. Vamos a llamarlo formulario contenedor. Debe ser igual al selector de consultas de puntos de documentos. Y vamos a indicar el nombre de tu clúster para contenedor. Entonces dentro de esta función, tenemos que agregar a la granja la clase contenedor deshabilitada, que acabamos de crear. Entonces para eso necesitamos contenedor foráneo. Entonces la propiedad llamada lista de clases. Tenemos que usar aquí método add. Y dentro de paréntesis tenemos que indicar el nombre de clase igual Lo mismo necesitamos para un botón de inicio de sesión también. Entonces vamos a copiar esta línea y pegarla aquí. Entonces, si hacemos clic en uno de esos botones, entonces se mostrará el modelo. Y también se deshabilitará la página. Y luego si hacemos clic en el botón X para se ocultará, pero la página se quedará, aún deshabilitada. Entonces, cuando hacemos clic en los botones X, debemos eliminar la clase deshabilitada del contenedor de formularios. Copiemos este código y lo peguemos para ambos botones X. Y simplemente cambiar el método agregar a eliminado. Entonces ahora si probamos, entonces todo va a funcionar correctamente. Lo único que tenemos que hacer es suavizar la visualización y ocultación de los efectos. Para eso, tenemos que usar la transición. Tenemos que asignarlo al modelo. Vamos a insertar sus valores todos y 0.5 s. luego agarrarlo y asignarlo al contenedor de formulario también. Bien, entonces nuestro proyecto está hecho. Espero que haya sido realmente interesante y aprendan muchas cosas. Gracias por mirar. Nos vemos en el siguiente tutorial. 35. Proyecto 32 - Landing Page animado: Hola y bienvenidos a nuestro próximo tutorial de YouTube creado por código y crear. En este video, vamos a construir una landing page de aspecto bonito con algunos efectos de animación El proyecto se creará en base a HTML y CSS. Vamos a usar fotogramas clave CSS. Entonces en este video, podrás aprender sobre cómo crear animaciones usando solo CSS puro. Sigamos adelante y antes que nada, describamos nuestro proyecto. Como puedes ver, tenemos aquí fondo de imagen a pantalla completa Y en el centro de la página, tenemos un par de elementos. Se puede ver aquí encabezamiento, párrafo, dos botones distintos. Si vuelvo a cargar la página, entonces el encabezado y un párrafo aparecerán desde las direcciones opuestas con algún efecto de desvanecido Y en cuanto terminen, moviéndose, los botones se mostrarán en orden. Todos esos efectos de animación se crearán usando CSS, fotogramas clave y un par de propiedades de animación Bien, comencemos en el escritorio. Tengo una nueva carpeta llamada landing page animada, en la que tenemos dos archivos diferentes para HTML y CSS. Y también carpeta llamada images, que incluye una sola imagen para fondo de landing page. Vamos a abrir esta carpeta con VS Code. Dentro del archivo index.html. He preparado una estructura básica de documento HTML. Aquí puedes encontrar dos enlaces dentro del elemento head. Una para las fuentes de Google, voy a usar una fuente llamada doses. Y tenemos otro enlace para los estilos CSS. Bien, vamos a ejecutar este proyecto en el navegador usando un servidor en vivo Si no usas este paquete, entonces te recomiendo instalar el servidor en vivo desde el Administrador de extensiones. En realidad es un paquete muy práctico y útil. Bien, sigamos adelante y coloquemos el editor de código y navegador uno al lado del otro y comencemos a crear marcas HTML Va a ser uno sencillo. Vamos a tener sólo un par de elementos. Entonces, antes que nada, vamos a crear desarrollos que serán un contenedor para todo el contenido. Así que vamos a asignarle contenedor de clase. A continuación necesitamos otro desarrollo que va a envolver un par de elementos. Vamos a asignarle nombre de clase, banner. Y luego dentro del banner, crear elementos de encabezado H1. Vamos a insertar algún texto. Digamos mi sitio web. En realidad, voy a envolver el sitio web por elemento span porque quiero darle estilo a la segunda palabra de encabezado de una manera ligeramente diferente. A continuación, necesitamos un párrafo. Vamos a insertar aquí algunos textos creados por código y crear. Después de eso, voy a crear un botón con botón tipo. Además, vamos a asignarle un nombre de clase, BTN, left. Y como texto, vamos a insertarte explora. Bien, necesitamos el botón similar al segundo. Así que vamos a duplicar esta línea de código. Entonces cambia el nombre de la clase que necesitamos aquí, btn, ¿verdad? Y también en lugar de explorar, escribamos Suscríbete. Bien, eso es todo sobre el marcado HTML. Estamos listos para comenzar a diseñar el banner. Vayamos al archivo style.css. Al principio, estilizaremos todos los elementos y luego nos encargaremos de las animaciones. Sigamos adelante y creamos algunos estilos de reinicio. Seleccione todos los elementos usando asterisco. Voy a poner el margen y el relleno como cero. Y también cambiar la familia de fuentes. Usemos la fuente llamada ptosis y luego sans-serif. Bien, a continuación voy a seleccionar contenedor. En primer lugar, definamos su anchura y altura. Establecer con nosotros cien por ciento S para la altura. Usemos 100 vh. Si no está familiarizado con unidad de medida VH, significa altura de ventana gráfica Y en este caso, decimos que la altura de los contenedores debe ser el cien por ciento de la ventana gráfica Después de eso, voy a poner una imagen como fondo. Usemos aquí gradiente lineal y pasemos aquí algunos valores RGBA El primero va a ser 53, luego un dos a 66. Y opacidad 0.5. Como segundo valor RGBA. Pasemos año 47, 80, 63, y opacidad 0.6 A continuación, voy a indicar parte de la imagen Tenemos carpeta llamada images y tenemos que seleccionar bg dot JPG. A continuación, necesitamos posición de imagen de fondo para que se establezca un centro. También necesitamos aquí no repetir. Y por último, voy a usar sitios de fondo propiedad con cobertura de valor. Bien, así como pueden ver, la imagen se establece como fondo del contenedor Y ahora tenemos que empezar a trabajar en la pancarta. Así que vamos a seleccionarlo usando ClassName Banner. Al principio, fijemos su ancho como 100%. Significa que el banner ocupará el 100 por ciento del ancho de su elemento padre, en este caso contenedor. Ahora voy a encargarme de la posición de la pancarta. Voy a colocarlo en el centro de la página. En realidad, no va a ser un centrado perfecto. Quiero decir, quiero centrarlo perfectamente horizontalmente pero no verticalmente. Para eso, voy a usar alguna técnica. Fijemos su posición como absoluta. Después definir la posición superior como 40 por ciento, luego a la izquierda como 50 por ciento. Por lo que ahora la pancarta se mueve de arriba a abajo en un 40 por ciento y de izquierda a derecha en un 50 por ciento. Pero esa no es la posición que queremos vincularlos para que tengan. Tenemos que colocarlo en el centro. Y para eso, tenemos que usar transform translate. Tenemos que pasarte los siguientes valores. Necesitamos -50 por ciento y luego otra vez -50 por ciento. Entonces, usando transform translate, movimos el banner de su posición actual en un 50 por ciento al lado izquierdo y un 50 por ciento al alza. Lo siguiente que quiero hacer con respecto al banner es colocar elementos en el centro dentro de la caja. Y para eso tenemos que usar el centro de alineación de texto. Bien, sigamos adelante y diseñemos elementos de rumbo. Seleccionarlo, derecho, ban o H1. Aumentemos el tamaño de la fuente. Que sea un dos pixeles. Luego cambia de color. Voy a usar tu color D, D, D. Además, quiero hacer que la fuente sea un poco más ligera usando font-weight Entonces 800. Y por último crear algo de espacio en la parte inferior usando margen, dos píxeles inferiores. ¿Bien? Como recuerdo envolvimos segunda palabra de encabezado. Me refiero a sitio web por elemento span. Entonces voy a seleccionarlo bien, banner span. Quiero transformar texto en mayúsculas. Para ello, vamos a usar texto transformar mayúsculas. Entonces hazlo un poco más audaz. Peso de la fuente 700. Y también hacen que su color sea blanco. Cuello blanco, f, f. Bien, eso es todo sobre rumbo Vamos a darle algunos estilos al párrafo. Selecciónela, banner derecho p. Definamos su tamaño de fuente como 50 píxeles. Después haz los textos más claros usando font-weight, 300, cambia de color, hazlo e, e. y por último, crea algo de espacio en la parte inferior usando margen, abajo 20 píxeles Bien, así como encabezar el estilo de párrafo también. Y ahora tenemos que encargarnos de esos dos botones. En realidad, deberían ser casi idénticos. Entonces, al principio, voy a definir algunos estilos comunes para los botones. Seleccione ambos. ¿Correcto? Botón de pancarta. Defina el ancho como 180 píxeles. Después crea algún espacio usando relleno asignado a él, 12 píxeles. Siguiente Quiero crear algo de espacio alrededor de los botones para eso, vamos a usar el margen y establecerlo como 20 pixeles. Entonces en lugar de borde predeterminado, vamos a definir uno personalizado, borde derecho con los valores dos píxeles, sólido. Y vamos a hacer color E. Además, voy a hacer botones redondeados usando border-radius Vamos a establecerlo como 50 píxeles. Además de eso, quiero aumentar el tamaño de la fuente. Hagámoslo 18 pixeles. Después deshazte del contorno predeterminado usando outline none. También crea algo de espacio entre letras. Para ello, vamos a usar el espaciado entre letras con valor un píxel. Y por último, cambia de tipo de rumbo, hazlo señalar. Bien, eso es todo acerca de los estilos comunes para los botones. Ahora, voy a asignar a cada uno de ellos algunos estilos individuales. Así que vamos a seleccionar el botón, que se coloca en el lado izquierdo. Tiene un className btn a la izquierda. Cambiemos su color de fondo. Usa tu color, es decir, E y luego cambia el color del texto. Voy a usar aquí el color para. En realidad necesitamos propiedades similares para este segundo botón. Así que sigamos adelante y dupliquemos este código. Cambiar el nombre de clase que necesitamos aquí, ¿verdad? Entonces voy a establecer el color de fondo como transparente. Es color de piel. Vamos a usar ie. Bien, entonces finalmente, todos los elementos están estilizados. La página de préstamos se ve bien, y ahora es el momento de crear nuestras animaciones. En CSS, puedes crear animaciones usando fotogramas clave Dentro de los fotogramas clave, puede definir diferentes reglas CSS en diferentes pasos de animación Después usando un par de propiedades de animación, puedes aplicar esas reglas CSS a diferentes elementos para poder verlo en la práctica, Vamos a crear fotogramas clave Para eso necesitamos a la señal. Después palabra clave, fotogramas clave. Debe ir seguido del nombre de la animación. En realidad es opcional. Puedes llamarlo como quieras. Y en este caso, quiero nombrarlo como mover a la izquierda. ¿Bien? Entonces esta parte de la animación va a ser para el encabezado uno, encabezado dos se colocará al lado derecho por defecto. Además, quiero que esté oculto en por defecto, me refiero al estado inicial de un elemento cuando se inicia la animación. Entonces cuando recarguemos la página, quiero que se mueva de derecha a izquierda y también que aparezca con algún efecto de fundido Entonces para lograrlo, debemos definir esos estilos dentro de los fotogramas clave Quiero decir, estado inicial de un elemento y su estado final también. Para definir los estilos cuando comienza la animación, necesitamos escribir aquí cero por ciento. Además, en lugar de cero por ciento, puedes usar la palabra clave from. Entonces como decíamos, el rumbo debe colocarse hacia el lado derecho y debe ocultarse. Para eso tenemos que escribirte, transformar, luego traducir X. Y como argumento, coloquemos aquí ciento 20 pixeles. Y también para ocultar un elemento, necesitamos opacidad. Cero. S4, el punto final de la animación que queremos que se dirija se coloque de nuevo en su antigua posición. Y también debería ser visible. Con el fin de definir el punto final, podemos escribir aquí palabra clave para. En realidad en este caso sólo tenemos dos pasos. Somos capaces de usar esas palabras clave, me refiero a partir de N2. Pero a veces, creo que sobre todo tenemos más de dos pasos. Y entonces en ese caso deberíamos usar valores porcentuales. Entonces de todos modos, cambiemos esas palabras clave y usemos valores porcentuales. En lugar de desde cero. En lugar de dos. Necesitamos al 100%. Después agarra estrellas desde el primer paso. Inserta tu cero S para opacidad, necesitamos uno. Bien, por ahora, aquí no pasa nada. El rubro no se mueve. Necesitamos algo más para aplicar esos estilos a un elemento, necesitamos usar algunas propiedades de animación. Así que sigamos adelante y asignemos dos encabezamientos a esas propiedades. El primero va a ser el nombre de la animación. Vamos a asignarle un nombre de fotogramas clave, mover a la izquierda. Y entonces necesitamos la duración de la animación. Vamos a establecerlo como 2 s. Así que si guardamos eso, el encabezado se moverá de izquierda a derecha con algún efecto de fundido. En realidad aquí tenemos un pequeño problema. Estamos recibiendo una barra de desplazamiento hacia abajo mientras el encabezado se mueve. Eso es porque por defecto se coloca en el lado derecho y el espacio en la página no es suficiente. Entonces, para solucionar ese problema, necesitamos usar desbordamiento oculto. Y tenemos que asignarlo al contenedor. Como pueden ver, el acero. Y tal vez inesperadamente tenemos el mismo problema aquí. Ocurre porque banner se ha posicionado absoluto. Y por ahora está funcionando de acuerdo con el elemento del cuerpo. Tenemos que hacerlo funcionar de acuerdo al contenedor. Para ello, tenemos que asignar a la posición relativa del contenedor. Entonces ahora todo funciona a la perfección. A continuación, voy a crear fotogramas clave para un párrafo. Va a ser similar a los fotogramas clave de encabezado. Pero en este caso necesitamos usar una dirección opuesta. Quiero que el párrafo se mueva de izquierda a derecha. Así que sigamos adelante y dupliquemos este código. Cambiar el nombre de la animación. En este caso, voy a escribir mover a la derecha. Entonces en lugar de 120 píxeles, necesitamos aquí menos ciento 20 píxeles. Entonces adelante y asigne dos propiedades de párrafo que usamos para encabezado. Entonces voy a agarrarlos, pegar para p elementos y simplemente cambiar el nombre de la animación. Tenemos que movernos a la derecha Así que si guardamos, entonces como encabezado el párrafo se moverá de izquierda a derecha con algún efecto descolorido Y en general creará un bonito efecto de animación. ¿Bien? Entonces como invitado, ahora tenemos que trabajar en los botones por defecto, quiero que se oculten. Y luego después de mostrar encabezado y un párrafo, quiero que aparezcan en orden y con algún efecto de desvanecido. Así que vamos a crear nuevos fotogramas clave. Nombrarlo como animado btn. Entonces, en caso de botón, solo necesitamos manipular por Opacidad Entonces, en el cero por ciento, necesitamos que la opacidad sea cero S para el 100%. Voy a hacer que sea uno. ¿Bien? Así que los fotogramas clave están listos Sigamos adelante y asignemos dos botones, propiedades de animación. Empecemos desde btn, dejó el nombre de animación definido y lo configuramos como animado Entonces como yo duración, vamos a usar un segundo. Además de esas dos propiedades, necesitamos un poco de tiempo de retraso porque quiero que aparezcan las de Batson cuando las animaciones de encabezado y párrafo están a punto de terminar. Así que vamos a usar el retardo de animación de propiedad y establecerlo como 1.5 s. luego tomar esas tres propiedades y pegarlas para btn, justo también Para el segundo botón, necesitamos un poco más de tiempo de retardo. Entonces cambiemos su valor y hagamos 2.3 s. Bien, guardemos y veamos qué va a pasar. Como puedes ver, mientras se ejecutan animaciones de encabezado y un párrafo, para ser más precisos, durante el tiempo de retardo, los botones son visibles y en cuanto termina el posterior, empiezan a animarse Entonces necesitamos ocultarlos durante el tiempo de retraso. Y para eso tenemos que usar otra propiedad llamada modo película de animación. Y tenemos que ponerla como al revés. Entonces en este caso, decimos que durante el tiempo de retardo, los elementos por defecto tendrán este estilo particular. Entonces, en otras palabras, durante el tiempo de retardo, los botones estarán ocultos. Agarremos este código y péguelo para el segundo botón también. Entonces Guardar. Y aquí vamos. Ahora todo funciona a la perfección. Tenemos aquí una bonita landing page animada. Bien, en realidad eso es todo. Nuestro proyecto está hecho. Y antes de terminar este tutorial, quiero mostrarte una cosa más respecto a las propiedades de animación. Como puede ver, utilizamos varios de ellos. Y en lugar de hacer eso, podemos escribirlos de una manera corta. Solo necesitamos usar la propiedad llamada animación. Y luego tenemos que asignarle a cada nombre, mover a la izquierda, a lo que debe seguir la duración. Vamos a copiar esta línea y pegarla para párrafo. Cambiar Nombre. Tenemos que movernos a la derecha. Vamos a ahorrar. Y ves que todo funciona exactamente de la misma manera. ¿Bien? En realidad, no voy a cambiar propiedades por Batson's. Creo que verás claramente cómo funciona para que puedas hacerlo por tu cuenta. Bien, vamos a verlo. Ya terminamos con este proyecto. Espero que lo hayas disfrutado y hayas aprendido algunas cosas útiles. Nos vemos en el siguiente tutorial. 36. Proyecto 33 - botón 3D: Hola a todos y bienvenidos a nuestro próximo tutorial. En este video, vamos a construir un botón 3D usando solo HTML y CSS puros. Y creo que será realmente interesante y útil porque podrás aprender sobre algunos trucos y técnicas geniales usando solo HTML y CSS. Así que comencemos. Como siempre. En primer lugar, describamos lo que vamos a crear. Entonces como veis, tenemos aquí imagen de fondo a pantalla completa. Y en el centro de la página tenemos botón 3D. Se coloca en el espacio 3D. Y cuando pasamos el cursor sobre él, está rotando con un efecto realmente agradable Entonces espero que estés disfrutando de este pequeño proyecto. En escritorio, he creado nueva carpeta en la que tengo dos archivos diferentes para HTML y CSS. Además, tengo aquí otra carpeta que incluye una imagen para fondo. Sigamos adelante y abramos esta carpeta con código VS. Dentro del archivo index.html. Contamos con estructura básica de documento HTML. En el interior tenía elementos. Hay dos enlaces, uno para el archivo style.css y otro para las fuentes de Google. A lo largo de este proyecto, vamos a utilizar teléfonos llamados losa. ¿Bien? Bien, sigamos adelante y ejecutemos este archivo en el navegador usando servidor en vivo Para obtener esta extensión, hay que buscarla en Extension Manager e instalarla. Bien, coloquemos el editor y el navegador uno al lado del otro para que funcione de manera más conveniente y flexible y comencemos a construir el marcado HTML Va a ser una muy sencilla. Solo necesitamos crear desarrollos, que va a ser contenedor. Entonces dentro de ella tenemos que insertar botón. Vamos a asignarle el nombre de clase BTN. Y también como texto aquí mismo, suscríbete. Bien, eso es todo respecto a HTML, vayamos al archivo style.css y escribamos algunos estilos En primer lugar, voy a crear algunos estilos de reset. Seleccionemos todos los elementos usando asteriscos y establecemos el margen y el relleno como cero. A continuación, tenemos que encargarnos del contenedor. Así que vamos a seleccionarlo. Al principio. Voy a definir su anchura y altura. Vamos a establecer con como 100 por ciento. En cuanto a la altura. Voy a asignarle 100 vh. En realidad, hemos explicado cómo funciona la altura de la ventana gráfica en otros videos Pero nuevamente, en este caso, decimos que la altura del contenedor, debería ser cien por ciento de Viewport Siguiente Voy a establecer la imagen como fondo de contenedor. Vamos a usar tu gradiente lineal. Voy a pasar tus valores RGBA, ¿verdad? 000 y opacidad puntos siete. Entonces otra vez, necesitamos RGBA valor 000, opacidad 0.8. Entonces voy a indicar dentro de URL parte de imagen, tenemos carpeta llamada images. Seleccionemos bg dot JPEG. Entonces voy a definir posición de fondo. Va a ser centro. Y también necesitamos aquí no repetir. Y por último, voy a usar la propiedad de tamaño de fondo con una cobertura de valor. Bien, entonces ahora el fondo se ve muy bien. Y lo último con respecto al contenedor es que vamos a colocar botón perfectamente en el centro de la página. En realidad, lo manejaremos usando Flexbox. Así que escribamos aquí display flex. Y entonces necesitamos usar justificar el contenido con el centro de valores y alinear los elementos. De nuevo con un centro de valor. Bien, eso es todo sobre contenedor. A continuación tenemos que encargarnos, pero vamos a seguir adelante y seleccionarlo está en nombre de clase BTN Al principio. Vamos a asignar a comer algunos estilos habituales de ancho definido y hacerlo 350 píxeles. Luego establece la altura como 100 píxeles, cambia el color de fondo. En este caso, voy a usar gradiente lineal. Pasemos tus dos colores diferentes. El primero va a ser 8539, 16s4. Segundo, voy a pasar por aquí 63019. Bien. Entonces así es como está buscando nuestro botón por ahora. Es realmente enorme, pero en realidad necesitamos esto. Sigamos y agreguemos algunos estilos más. Se deshace del borde y contorno predeterminados , borde derecho ninguno. Y bosquejar ninguno. Entonces sigamos adelante y trabajemos en el texto. Cambiar font-family. Usa tu fuente llamada losa 27 píxeles que serif, mayor tamaño de fuente Hagámoslo 35 pixeles. A continuación, voy a hacer letras mayúsculas usando transformación de texto Mayúscula, también crea algo de espacio entre ellas usando el espaciado entre letras Vamos a configurarlo como cuatro píxeles y luego cambiar de color, hacerlo blanco. Paso a paso. Nuestro botón se está poniendo más bonito. A continuación, voy a agregar algo de sombra al texto. Para ello, tenemos que usar la propiedad llamada sombra de texto. Insertemos aquí los siguientes valores. Necesitamos cero, luego diez píxeles, nuevamente, diez píxeles y color negro. Y también cambiar tipo de más basto. Hagámoslo señalar. Bien. En este punto con personalización de botón, ya terminamos. Es hora de seguir adelante y empezar a transformarlo en elementos 3D. En primer lugar, necesitamos crear un entorno 3D para Bateson Y para eso tenemos que asignar a su elemento padre la propiedad llamada perspectiva. Vamos a asignar a cada valor mil píxeles. En realidad, la perspectiva define qué tan lejos está un elemento del usuario. Ahora necesitamos girar el botón De acuerdo a las direcciones x y z. Así que vamos a asignarle transformar la propiedad. Al principio, vamos a girar el botón a lo largo del eje x. Gire x e inserte sus 70 grados. Entonces como puedes ver, el botón se gira, pero además de la dirección x, también tenemos que girarlo a lo largo del eje z Entonces necesitamos aquí rotar Z con valor 30 grados. ¿Bien? Entonces esa es la posición que queremos que tengan por defecto. Ahora necesitamos darle forma de botón de cuboide. En realidad, cuboide es como un cubo, pero tiene forma de rectángulo Lo estamos haciendo para transformarlo en aún más elementos 3D. Me gustaría señalar que esto va a ser algo no del todo sencillo. Usaremos algunas cosas avanzadas de CSS. Por lo que recomiendo estar más concentrados y enfocados en las cosas que vamos a mostrar. Entonces vamos a usar antes y después pseudo elementos. Seleccionemos el botón con. Antes de pseudo elementos. Escribir btn antes del contenido en vivo como vacío, asignado a él cadena vacía Después defina el ancho como cien por ciento y el alto como 15 píxeles. Para que los elementos sean visibles, vamos a asignarle color de fondo y hacerlo rojo por un tiempo Quiero decir, sólo para demostración. Además, necesitamos definir esta posición porque lo contrario no se le aplicará la altura y el ancho. Así que pongamos su posición como absoluta. Entonces aquí está antes de pseudo elementos, necesitamos cambiar su posición y colocarlo en algún lugar aquí frente a botón Así que pongamos abajo y las posiciones correctas como cero. El elemento ha cambiado su posición, pero eso no es lo que queremos. Eventualmente, necesitamos girarlo a lo largo del eje x 90 grados. ¿Bien? Entonces como se puede ver, en este punto, elemento ya no es visible. La razón es que no tiene sus propios entornos 3D porque es un elemento hijo de botón. Y no hereda exhibiciones del contenedor. Para lograrlo, en CSS, tenemos una propiedad llamada transform style, cual debe tener valor preserve 3D, y tenemos que asignarla a. Pero así vamos a escribir transformar estilo y asignado a ello preservar 3D. El elemento se muestra de nuevo mal tenemos aquí otro problema. Por defecto, el origen de la transformación se establece como centro. Es decir, se puede imaginar que eje x va en el centro de los elementos. En este caso, no lo queremos. Queremos hacer origen de transformar fondo. En realidad, sé que estas cosas son un poco difíciles de entender, pero así es como funcionan. Si he viajado para entender será mejor probar esas cosas por tu cuenta. Así que sigamos adelante y escribamos transformar origen y establecerlo como fondo. Bien, entonces veamos qué queremos que obtenga. Paso a paso. Estamos consiguiendo la forma de cuboide. Ahora, voy a cambiar el color de fondo. Vamos a usar colores de combinación de degradado lineal. Voy a copiar el segundo y pegarlo aquí. Ahora como pueden ver, se ve mucho mejor. Entonces como anverso, necesitamos lo mismo. En el lado derecho. Tenemos que crearlo usando después de pseudo elementos. En realidad vamos a necesitar propiedades similares. Así que vamos a duplicar todo este código. Después cambia antes a, después. En primer lugar, cambiemos de posición en lugar de abajo, necesitamos aquí arriba. Ves elementos terminaron detrás del botón. Entonces necesitamos girarlo de acuerdo al eje y con valor -90 grados Entonces ves donde los elementos se acaban de un vistazo, parece peso, pero la razón es que necesitamos cambiar los valores de altura y ancho. En caso de después de pseudo elementos, necesitamos cambiar los valores para height y width Ancho como 15 pixeles de alto con cien por ciento. Bien, ahora ya casi estamos ahí. Lo único que tenemos que hacer es cambiar origen de transformar. En este caso, en lugar de fondo, tenemos que hacerlo, bien. Bien, así que finalmente llegamos aquí, necesitábamos dar forma. Lo último con respecto a su estilo es cambiar el color de fondo de los pseudo elementos posteriores En este caso, vamos a agarrar el primer color del degradado lineal y pegarlo a usted. Bien, eso es lo de Batson. Ahora tenemos que hacerlo funcionar. Quiero decir, tenemos que crear un efecto de libración sobre la libración. Voy a girarlo a lo largo del eje x y z. Así que escribe btn con hover e inserta tu Transform. Girar X con argumentos 30 grados. Entonces necesitamos rotar Z con cero grados. Y por último, para un efecto suave, voy a usar la transición. Escribamos aquí transformar con duración 0.5 s. Bien, pasemos el cursor sobre el botón Y dijo que tenemos un efecto realmente impresionante. Bien, así que eso es todo sobre nuestros proyectos. Hemos creado un botón 3D genial, y espero que lo hayan disfrutado. Gracias por mirar. Nos vemos en el siguiente tutorial.