Fix Css Ticker

This commit is contained in:
2025-09-05 13:56:09 -03:00
parent a495ab67ef
commit 6354791f28

View File

@@ -1,62 +1,94 @@
/* src/components/TickerWidget.css */ /* ==========================================================================
.ticker-wrapper { TickerWidget.css (Versión Mejorada y Responsiva)
display: grid; ========================================================================== */
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
gap: 1.5rem; /* --- Contenedor Principal del Widget --- */
width: 100%;
max-width: 1280px;
margin: 20px auto;
}
.ticker-card { .ticker-card {
background-color: #ffffff; background-color: #ffffff;
border: 1px solid #e0e0e0; border: 1px solid #e0e0e0;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05); box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
padding: 15px 20px; padding: 1rem; /* Usamos rem para un padding relativo */
border-radius: 8px; border-radius: 8px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
/* --- CAMBIO CLAVE: Establecemos un tamaño de fuente base --- */
/* 1rem = al tamaño de fuente del contenedor padre. Si la página usa 16px,
el widget usará 16px como base. Si usa 14px, se adaptará a 14px. */
font-size: 1rem;
} }
/* --- Cabecera del Ticker --- */
.ticker-header { .ticker-header {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
border-bottom: 1px solid #e0e0e0; border-bottom: 1px solid #e0e0e0;
padding-bottom: 10px; padding-bottom: 0.8rem;
margin-bottom: 15px; margin-bottom: 1rem;
} }
.ticker-header h3 { .ticker-header h3 {
margin: 0; margin: 0;
color: #212529; color: #212529;
font-size: 1.2em; /* El tamaño del título es 1.1 veces el tamaño base del widget */
font-size: 1.1rem;
font-weight: 700; font-weight: 700;
padding-right: 15px; /* Espacio para que no se pegue al dropdown en escritorio */ padding-right: 1rem;
} }
.ticker-stats { .ticker-stats {
display: flex; display: flex;
gap: 20px; gap: 1.25rem; /* 20px / 16px */
font-size: 0.9em; font-size: 0.875rem; /* 14px / 16px */
color: #555; color: #555;
} }
.ticker-stats strong { .ticker-stats strong {
color: #0073e6; color: #0073e6;
font-size: 1.1em; font-size: 1.1em; /* 1.1 veces el tamaño de su padre (0.875rem) */
} }
/* --- Resultados (Grid de Partidos) --- */
.ticker-results { .ticker-results {
display: grid;
/* Mantenemos minmax para la responsividad de las columnas */
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 1.25rem; /* 20px */
}
.ticker-party {
display: flex; display: flex;
flex-direction: column; align-items: center;
gap: 12px; gap: 0.8rem; /* 10px */
}
/* Logo del partido */
.party-logo {
flex-shrink: 0;
width: 65px; /* Ligeramente más pequeño para no ser tan dominante */
height: 65px;
}
.party-logo img {
width: 100%;
height: 100%;
object-fit: contain; /* Usar 'contain' es más seguro para logos */
border-radius: 4px;
border: 1px solid #ddd;
}
/* Detalles (Nombre, Barra, Candidato) */
.party-details {
flex-grow: 1;
min-width: 0;
} }
.ticker-party .party-info { .ticker-party .party-info {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
margin-bottom: 5px; align-items: baseline; /* Alinea la base del texto */
font-size: 0.9em; margin-bottom: 0.3rem; /* 5px */
} }
.ticker-party .party-name { .ticker-party .party-name {
@@ -64,17 +96,22 @@
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
padding-right: 10px; padding-right: 0.6rem; /* 10px */
/* El tamaño del nombre del partido es 0.9 veces el tamaño base */
font-size: 0.9rem;
color: #343a40;
} }
.ticker-party .party-percent { .ticker-party .party-percent {
font-weight: 700; font-weight: 700;
font-size: 0.95rem; /* Un poco más grande para destacar */
flex-shrink: 0; /* Evita que el porcentaje se comprima */
} }
.party-bar-background { .party-bar-background {
background-color: #e9ecef; background-color: #e9ecef;
border-radius: 4px; border-radius: 4px;
height: 10px; height: 8px; /* Un poco más delgada */
overflow: hidden; overflow: hidden;
} }
@@ -84,62 +121,39 @@
transition: width 0.5s ease-in-out; transition: width 0.5s ease-in-out;
} }
.ticker-results { .party-candidate-name {
display: grid; font-size: 0.8rem; /* 12.8px / 16px */
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); color: #555;
gap: 20px; margin-top: 0.3rem; /* 4px */
} font-weight: 400; /* Ligeramente menos pesado */
.ticker-party { text-transform: uppercase;
display: flex; letter-spacing: 0.5px;
align-items: center; white-space: nowrap;
gap: 10px; overflow: hidden;
} text-overflow: ellipsis;
.party-logo {
flex-shrink: 0;
width: 75px;
height: 75px;
}
.party-logo img {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 4px;
border: 1px solid #ddd;
}
.party-details {
flex-grow: 1;
min-width: 0;
} }
/* --- ESTILOS PARA RESPONSIVIDAD MÓVIL --- */
/* --- Media Query para Móviles --- */
@media (max-width: 600px) { @media (max-width: 600px) {
.ticker-header { .ticker-header {
flex-direction: column; flex-direction: column;
/* Centra los elementos hijos horizontalmente */
align-items: center; align-items: center;
gap: 10px; gap: 0.8rem;
} }
.ticker-header h3 { .ticker-header h3 {
font-size: 1.1em; font-size: 1.1rem;
padding-right: 0; /* Quitamos el padding en móvil */ padding-right: 0;
}
.ticker-results {
/* En móvil, forzamos una sola columna */
grid-template-columns: 1fr;
} }
/* Esta regla asegura que el dropdown siga ocupando todo el ancho */ .ticker-party .party-name,
.ticker-header > div { .party-candidate-name {
width: 100%; white-space: normal; /* Permitimos que el texto se divida en varias líneas */
} }
.ticker-party .party-name {
white-space: normal;
}
}
.party-candidate-name {
font-size: 0.8rem;
color: #555;
margin-top: 4px; /* Espacio entre la barra y el nombre */
font-weight: 500;
text-transform: uppercase;
letter-spacing: 0.5px;
} }