Estructuración de Blogs en HTML y CSS: Creación de Tarjetas Interactivas
Resumen
¿Cómo clonar y estructurar un diseño de blog?
El trabajo de diseño y desarrollo de un blog puede parecer complejo al principio, pero al seguir pasos estructurados, se vuelve manejable. En esta sección del curso, nos centramos en darle forma a la maqueta de nuestro blog. El objetivo es replicar la tarjeta propuesta por nuestro diseño seis veces para que aparezcan en nuestra página principal. Esto implica preparar contenedores, agregar título y botones en las tarjetas, y aplicar estilos CSS.
¿Cómo se estructura una tarjeta de blog en HTML?
Lo primero es trabajar en nuestro marcado HTML. Nos aseguramos de tener un diseño básico para nuestra tarjeta de blog que incluya una imagen, un título, un botón de vista previa y otro que dirija al contenido completo del post.
<divclass="card-container"><divclass="card-header"><spanclass="icon"></span><!-- Aquí va el icono --></div><divclass="card-content"><spanclass="title">Título del Blog</span><pclass="preview-text">Resumen del contenido del post...</p><ahref="#"class="read-more-button">Leer más</a></div></div>
¿Qué clases y estilos se deben aplicar?
Ahora que tenemos nuestro HTML, es momento de aplicar estilos con CSS para asegurar que las tarjetas tengan un diseño atractivo y responsivo. Debemos enfocar el uso correcto de clases y estilos para cada uno de los elementos.
.card-container{/* Estilo para el contenedor de la tarjeta */}.card-header{/* Estilo para el encabezado de la tarjeta, quizás incluyendo el icono */}.card-content{/* Estilo para el contenido que aparecerá, como el título y el resumen */}.read-more-button{/* Estiliza el botón para visualizar la publicación entera */}
¿Cómo gestionar los iconos y el botón de cerrar?
Agregar iconos y funcionalidad a los botones es una parte crucial del diseño. Para los iconos, es esencial tener una clase de iconos general y luego especificar qué icono se va a usar en cada parte.
.icon{/* Aplica los estilos básicos a los iconos */}.close-icon{/* Estilo específicamente para el icono de cerrar */}
Y en HTML:
<spanclass="icon close-icon"></span>
¿Cómo agregar dinamismo y funcionalidad?
Una vez que las tarjetas están diseñadas, el siguiente paso es asegurarnos de que los botones tengan las funcionalidades correctas. Al hacer clic, el botón debe llevarnos a una página nueva que muestre el contenido completo del post.
En el diseño CSS, podemos agregar una clase para efectos visuales en el botón:
.read-more-button:hover{background-color:#5c7dfa;/* Cambia de color al pasar el ratón */}
¿Qué más hacer para completar el diseño?
Para finalizar el diseño, queda agregar una imagen única para cada tarjeta, organizar y aplicar un 'full width' (ancho total) donde sea necesario, y terminar los estilos del buscador para un diseño centrado y estético. Cada post clonado debe contener sus elementos correctamente posicionados y estéticamente agradables. Una vez que se tengan estos aspectos, el blog estará muy cerca de su funcionalidad completa y listo para revisión, actualización y mejora continua.
¡Sigue perfeccionando tus habilidades y no dudes en explorar nuevas formas de personalizar y optimizar el diseño del blog! Cada detalle cuenta para ofrecer una experiencia de usuario dinámica y agradable.
pueden bajar una extensión de vcode de materialize snippets y les ayuda mucho
¡Muchas gracias! La acabo de descargar y de verdad que ayuda muchísimo. Qué buen aporte :clap:
Genial! Que gran aporte
Estuve revisando el código de Materialize y encontré que esa clase "activator" en el CSS únicamente le agrega:
.card.card-title.activator{cursor: pointer;}
Y su funcionalidad esta en el JavaScript, donde card tiene un evento clic y si tiene existe el .activator realiza la animación y mostrar la información que estaba abajo oculta. Así mas o menos:
$(document).on('click','.card',function(e){//Luego de mucho otro código de otras parteselseif($(e.target).is($('.card .activator'))||$(e.target).is($('.card .activator i'))){ $card.css('overflow','hidden'); $cardReveal.css({display:'block'});anim({targets: $cardReveal[0],translateY:'-100%',duration:300,easing:'easeInOutQuad'});}}
Me dí cuenta que partes de Materialize están programadas con JQuery, curioso.
Otra opción es ir a Getting Started en la página de materialize y descargar el CSS (botón materialize).
Una vez descargado colocamos el contenido dentro de nuestro proyecto y con esto nuestro IDE detectará las clases y nos será de mucha ayuda en el autocompletado para escribir más rápido el código y sin fallas.
También se pueden agregar el CSS y JS a modo de que sea local y podríamos quitar el cdn...
Me pareció que se quedaron varios definiciones de clases en el aire, las clases que se usaron en el ancla ('a')
La razón para usar botones Flat: Los botones planos generalmente se usan dentro de elementos que ya tienen profundidad como tarjetas o modales.(Tomado de la documentación de Materialize)
Hola Otra vez para que les funciones las acciones de su aplicacion como card-reveal (ejemplo los botones de material-icoms ) tienes que usar JQuery antes que el escript de mateialize.
<body><!--Import jQuery before materialize.js--><script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script><script type="text/javascript" src="js/materialize.min.js"></script></body>```
Las cards son muy buenas, sin embargo su codeo es un poco complicado. El codeo que ofrece Tailwind lo veo mucho más simple, sin embargo, no tiene la misma calidad
Clase que delimita el color del texto
grey-text
Etiqueta i utilizada para importar iconos de Materialize
<i class="material-icons right">more_vert</i>
¿Cuando se usa activator?
La clase activator se usa cuando se quiera lanzar la interacción de la tarjeta en la que esta. Por eso se usa en la imagen y en el titulo, para revelar el otro contenido de la tarjeta.
Parece que el equipo de Materialize se les ocurrió BUENISIMA IDEA de limitar también sus estilos creo que no les gusta usar bold y evitan que lo hagan los developers. Por estas razones no me gustan los frameworks no te dan esa libertad como hacerlo con CSS Vanilla.
Una forma de solucionarlo es usando la etiqueta style directo en el elemento porque usar clases se podría pero deberíamos usar important o elevar de otra forma la especificidad o simiplemente evitar usar las clases predefinidad de Materialize.
<spanclass="card-title activator gray-text text-darken-4"style="font-weight:400;">Post Title <iclass="material-icons">more_vert</i></span>
ahi clases que no vi en documentacion material que el profe puso eso es de css puro?
En la parte de <div class=“card-reveal”> no me lee la etiqueta <p> ninguna otra, solo <h2,3 etc> Que será?
¿Puedes mostrar tu código para ayudarte de mejor manera?
Quedo super bien
¿La clase que le permite cerrar al ícono “X” es “card tilte”?
es activator, el icono de Material.io icons (close)
Lo veo mas simple Bootstrap..... pero sigamos!
Creo que es constumbre. Pero no esta de mas conocer otras herramientas. Vamos!!