Fix Css Ticker
This commit is contained in:
		| @@ -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; | ||||||
|   } |   } | ||||||
|    |    | ||||||
|   /* Esta regla asegura que el dropdown siga ocupando todo el ancho */ |   .ticker-results { | ||||||
|   .ticker-header > div { |       /* En móvil, forzamos una sola columna */ | ||||||
|     width: 100%; |       grid-template-columns: 1fr; | ||||||
|   } |  | ||||||
|  |  | ||||||
|   .ticker-party .party-name { |  | ||||||
|     white-space: normal; |  | ||||||
|   } |  | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |   .ticker-party .party-name, | ||||||
|   .party-candidate-name { |   .party-candidate-name { | ||||||
|   font-size: 0.8rem; |     white-space: normal; /* Permitimos que el texto se divida en varias líneas */ | ||||||
|   color: #555; |   } | ||||||
|   margin-top: 4px; /* Espacio entre la barra y el nombre */ |  | ||||||
|   font-weight: 500; |  | ||||||
|   text-transform: uppercase; |  | ||||||
|   letter-spacing: 0.5px; |  | ||||||
| } | } | ||||||
		Reference in New Issue
	
	Block a user