Explorar diferentes técnicas de alineación en CSS es fundamental para crear diseños web efectivos y atractivos. En esta sección, nos enfocaremos en las técnicas de "table cell" y "positions", detallando cómo funcionan y cuándo son más efectivas.
¿Cómo funciona la técnica de 'table cell'?
La alineación usando la técnica de "table cell" es fascinante por su manera de manejar elementos como si fueran parte de una tabla, sin necesidad de elementos <td> o <tr>. Este método emplea tres propiedades principales:
display: table-cell: Convierte cualquier elemento HTML en una especie de celda de tabla, independientemente de su tipo original.
text-align: Alinea horizontalmente el texto dentro de la celda.
vertical-align: Controla la alineación vertical del contenido dentro de la celda.
Veamos un ejemplo de cómo se utiliza esta técnica:
Un aspecto clave a resaltar es que estos elementos necesitan ser de tipo bloque o inline-block para que las propiedades sean efectivas. Además, al establecernos un entorno tipo tabla, nos permite organizar elementos de forma más eficiente sin depender de sistemas de grid o flexbox.
¿Qué es y cómo se usa la técnica de 'positions'?
La técnica de "positions" es extraordinaria y versátil, por ello es muy favorecida y utilizada frecuentemente en el diseño web moderno. Se basa en cuatro propiedades diferenciadas:
position: Puede ser relative o absolute.
top, right, bottom, left: Determinan su posición respecto a un contenedor.
transform: Permite manipular la posición de los elementos de manera detallada usando translate.
Estas propiedades son esenciales para manejar cómo un elemento se ubica dentro de un contenedor, ya sea según el flujo del documento o de manera independiente.
Con el ejemplo anterior, los elementos .child se ubican perfectamente centrados dentro de .parent, gracias al uso de position y transform. Este enfoque es altamente flexible, permitiendo el alineamiento en cualquier dirección.
¿Qué consideraciones hay al usar estas técnicas?
Al aplicar la técnica de "table cell", es fundamental comprender que:
Gestiona la alineación como si fuera una tabla, perfecta para estructuras basadas en datos o layouts que simulan tablas.
Requiere que los elementos sean bloques o inline-block para aplicar las propiedades correctamente.
Para la técnica de "positions":
relative permite mover elementos desde su posición natural en el flujo del documento.
absolute fija los elementos en relación con su contenedor más cercano con position: relative.
La propiedad transform es clave para movimientos precisos y ajustes finos.
Ambas técnicas muestran las múltiples formas de manejar la alineación en CSS, cada una adaptándose a situaciones y estructuras de diseño distintas. Estas son herramientas poderosas que, junto a propiedades como Flexbox o CSS Grid, complementan el arsenal de cualquier desarrollador web.
¿Cómo continuar desarrollando habilidades en alineación?
Para maximizar el potencial de estas técnicas, es recomendable practicar con proyectos reales y explorar cómo se integran otras tecnologías de CSS, como Flexbox y CSS Grid, en el diseño web. Perfeccionar estas habilidades es cuestión de experimentación y práctica continua, donde cada proyecto ofrece una nueva oportunidad de aprendizaje.
Técnicas de Alineamiento CSS: Table Cell y Positions
Los valores que recibe la función translate se calculan con base en el tamaño del elemento. Esto significa que si el elemento tiene un width de 60px, al usar transform: translate(-100%, 0) sería lo mismo que si pusiéramos transform: translate(-60px, 0).
Aplica de igual forma para el eje Y con respecto al height.
Si quieres saber mas ve el curso definitivo de html y css, ahí vas a entender excelentemente bien como funcionan las posiciones. De hecho, es mi manera preferida de poner etiquetas en el lugar justo que quiero
El Científico de Datos o Data Scientist es un perfil profesional que traduce los grandes volúmenes de información disponibles conocidos como Big Data. Provienen de todo tipo de fuentes de información masivas y las convierten en respuestas.
No le veo mucho sentido a estar explicando soluciones de posicionamiento que se usaban antes de css grid. Entiendo que la profe ha querido mostrarlas para que luego podamos ver lo fácil que todo se logra con css grid. Pero al final los alumnos que no vivieron la época pre-css grid no la comprenden del todo, sienten muy rápidas las explicaciones (no es mi caso). Y en todo caso es un contenido innecesario ahora mismo si la propuesta es css grid. Me parece un relleno total al contenido del curso.
Por mi lado lo que hago con estas clases es mirarlas, no trato de entender a fondo ni de practicar pero siento que me sirve para tener un pantallazo por si en un futuro tengo que mantener codigo viejo. Ademas, hay veces que posicionar algo super basico termina siendo mas facil con una tecnica de estas.. Y si no las conocemos terminamos usando grid hasta para centrar un titulo
Otra forma es usando la función calc(), con esta función se hace un cálculo directamente dentro del atributo al que queremos verle afectado. Ejemplo lo movía un 50% y le restaba la mitad del elemento para que este se viera centrado. Con esto reducimos una línea de código por elemento jeje.
Una contra de esta opción es que si el elemento cambia de tamaño con el tiempo tendremos que volver a ajustar ese valor y pensándolo a largo plazo y muchas lineas de código esto puede ser complicarse la vida. Si en su lugar, al momento de escribir el codigo invertimos un poquito de tiempo y "alargamos" la linea de codigo usando "transform" a futuro lo hacemos escalable y ahorraremos tíempo. (No comprobado, sólo es un pensamiento que me viene)
No olvidar que la position absolute va directamente ligada al relative del elemento padre en el contenedor. En caso contrario cuando se encuentren trabajando y no les resulta es porque absolute va a ir directamente a tomar en valor relativo del propio body.
Ahí va un pequeño lifehack, saludos
Tengo una pregunta, las tablas se siguen utilizando dentro del desarrollo moderno?... No se por temas de semática, siempre he tenido esa duda y nunca he encontrado a alguien que me la pueda responder 😅...
Sí. La etiqueta <table> no ha desaparecido ni ha quedado obsoleta, sólo que ahora se el da el uso correcto, para mostrar datos tabulados, o estadísticos, mas no para maquetar la estructura de la página web.
En este caso 50% se cálcula a partir del elemento padre. Las dimensiones del elemento hijo son 30px por 30px, por eso se le resta 30px.
Al ver esta técnica con transform estaba confundiendome con la técnica usando calc.
Hice una cosa medio rara con una de las tarjetitas 😂, traté de aplicarle un efecto 3D usando perspectivas y una rotación pero se ve un poco raro jajaja, igual y se vería mejor si le pusiera una animación o algo jajaja:
.
Obviamente si aumentamos ese 45deg la perspectiva 3D irá cambiando jaja, sé que es posicionamiento pero no pude evitarlo jajaja
Es de SASS, que es como un complemento de CSS que debes instalar independiente pero te sirve para guardar estilos en un elemento para usarlos en otros ya existentes y ahorrar código:
.
Creas el elemento donde quieres guardar los estilos que se repetirán .container(en este caso):
Así es como los puedes ponerlo dentro de varios elementos diferentes para no repetir código.
.
Si gustas puedes ver este comentario para saber como instalarlo en en Visual Stuio Code.
Hola a todos. Para las personas que quieren guardar el codigo en su computadora, acá les dejó el codigo en HTML y CSS.