Loading repository data…
Loading repository data…
AlexisMauriz / repository
Componente/UI para Subir Archivos realizado con HTML y CSS.
Aquí tienes un documento Markdown que explica el código CSS proporcionado:
# Explicación del Código CSS
El siguiente código CSS se utiliza para dar estilo a una página web que incluye una funcionalidad de carga de archivos y una sección para arrastrar y soltar archivos.
## Estilo Global
```css
body {
font-family: Arial, Helvetica, sans-serif;
background-color: #000428; /* Fallback para navegadores antiguos */
background: -webkit-linear-gradient(
to right,
#004e92,
#000428
); /* Gradiente para Chrome 10-25, Safari 5.1-6 */
background: linear-gradient(
to right,
#004e92,
#000428
); /* Gradiente estándar para navegadores modernos */
}
```
font-family: Define la fuente de texto utilizada en todo el cuerpo del documento.background-color y background: Establecen el fondo de la página web con un degradado que va desde el azul oscuro (#004e92) en el lado izquierdo hasta el azul más oscuro (#000428) en el lado derecho. Se utiliza una declaración de fondo lineal que funciona en varios navegadores..upload-container {
margin: 100px auto;
width: 500px;
text-align: center;
background-color: white;
border-radius: 5px;
padding: 50px 30px;
box-sizing: border-box;
}
margin: Establece un margen de 100px en la parte superior e inferior y ajusta automáticamente los márgenes izquierdo y derecho para centrar el contenedor en la página.width: Define el ancho del contenedor principal en 500px.text-align: Centra el contenido de texto dentro del contenedor.background-color: Establece el fondo del contenedor en blanco.border-radius: Agrega esquinas redondeadas al contenedor con un radio de 5px.padding: Añade un espacio de 50px en la parte superior e inferior y 30px en los lados del contenedor.box-sizing: Asegura que el tamaño total del contenedor incluya el relleno especificado..upload-container .drag-drop {
border: dashed 3px #ccc;
border-radius: 5px;
box-sizing: inherit;
padding: 60px 30px;
margin: 20px 0;
line-height: 1.5;
display: flex;
flex-direction: column;
font-weight: bold;
color: #999;
gap: 10px;
}
.upload-container .drag-drop: Selecciona los elementos con la clase .drag-drop dentro del contenedor principal.border: Crea un borde punteado de 3px de color gris claro (#ccc) alrededor de la sección.border-radius: Agrega esquinas redondeadas al contenedor con un radio de 5px.box-sizing: Hereda el modelo de caja del contenedor principal.padding: Establece un espacio de 60px en la parte superior e inferior y 30px en los lados de la sección.margin: Agrega un margen de 20px en la parte superior e inferior de la sección.line-height: Define la altura de línea como 1.5 para el contenido de texto.display: Configura el diseño de la sección como una columna flexbox.font-weight: Establece el peso de fuente en negrita.color: Define el color del texto en gris oscuro (#999).gap: Añade un espacio de 10px entre elementos hijos dentro de la sección.(Continúa en el siguiente comentario debido a la longitud del código)
¡Claro! A continuación, se explica el código CSS proporcionado:
```css
.upload-container .drag-drop .icon svg {
width: 200px;
height: 200px;
fill: rgba(77, 134, 240, 0.5);
}
.upload-container .drag-drop .icon svg: Selecciona elementos <svg> que están anidados dentro de elementos con clases .icon dentro de elementos con clases .drag-drop dentro del contenedor con la clase .upload-container.
width y height: Establecen el ancho y el alto del <svg> en 200px, lo que hace que el ícono sea cuadrado con dimensiones de 200x200 píxeles.
fill: Define el color de relleno del ícono. En este caso, se utiliza un color azul semi-transparente (rgba(77, 134, 240, 0.5)) para que el ícono tenga un aspecto ligeramente transparente.
.upload-container .drag-drop .btn {
padding: 15px;
font-size: 16px;
font-weight: bold;
background-color: #4d86f0;
color: white;
border: none;
border-radius: 3px;
min-width: 200px;
cursor: pointer;
}
.upload-container .drag-drop .btn:hover {
background-color: #04f771;
}
.upload-container .drag-drop .btn: Selecciona elementos con la clase .btn que están anidados dentro de elementos con clases .drag-drop dentro del contenedor con la clase .upload-container.
padding: Agrega un espacio de 15px en todos los lados del botón, lo que proporciona espacio alrededor del texto del botón.
font-size y font-weight: Establecen el tamaño de fuente en 16px y el peso de la fuente en negrita, lo que hace que el texto del botón sea más grande y resaltado.
background-color: Define el color de fondo del botón como azul (#4d86f0).
color: Establece el color del texto del botón en blanco.
border: Elimina el borde del botón al establecerlo en "none".
border-radius: Agrega esquinas redondeadas al botón con un radio de 3px.
min-width: Establece el ancho mínimo del botón en 200px para garantizar que tenga un tamaño mínimo deseado.
cursor: Cambia el cursor del mouse al puntero cuando se coloca sobre el botón, indicando que es interactivo.
.upload-container .drag-drop .btn:hover: Define un estilo especial cuando el cursor se coloca sobre el botón.
background-color: Cambia el color de fondo del botón a un tono de verde (#04f771) cuando se pasa el cursor sobre él, lo que proporciona retroalimentación visual de interacción.
Claro, aquí tienes una explicación del código CSS proporcionado:
.upload-container .uploaded-files .file .actions button: Esta regla CSS selecciona botones que están anidados dentro de elementos con las clases .actions, que a su vez están dentro de elementos con las clases .file, que están dentro de elementos con las clases .uploaded-files, que finalmente están dentro de elementos con la clase .upload-container.
padding: Agrega un espacio de 10px en todos los lados del botón, lo que proporciona un espacio alrededor del contenido del botón.
border: Elimina cualquier borde del botón al establecerlo en "none", lo que significa que el botón no tendrá un borde visible.
border-radius: Agrega esquinas redondeadas al botón con un radio de 5px, lo que da un aspecto suavizado a las esquinas del botón.
cursor: Cambia el cursor del mouse al puntero cuando se coloca sobre el botón, lo que indica que es interactivo.
margin: Agrega un espacio de 17px entre cada botón para separarlos entre sí.
display: Define cómo se muestra el contenido del botón. En este caso, se utiliza "flex" para que los elementos dentro del botón se puedan alinear y distribuir horizontalmente.
align-items: Centra verticalmente los elementos dentro del botón.
justify-content: Centra horizontalmente los elementos dentro del botón.
.upload-container .uploaded-files .file .actions button svg: Esta regla CSS selecciona elementos <svg> que están anidados dentro de botones que cumplen con la estructura descrita anteriormente.
width y height: Establece el ancho y el alto de los elementos <svg> en 45px cada uno, lo que define las dimensiones de estos gráficos vectoriales.
fill: Establece el color de relleno de los elementos <svg> en un tono de gris (#555).
.upload-container .uploaded-files .file .actions button:hover: Esta regla CSS define un estilo especial que se aplica cuando el cursor se coloca sobre los botones que coinciden con la estructura descrita anteriormente.
background-color: Cambia el color de fondo del botón a rojo (#ff0000) cuando el cursor se coloca sobre él, proporcionando una retroalimentación visual de interacción. Esto indica al usuario que el botón es interactivo y puede hacer clic en él.<!DOCTYPE html>: Esta línea declara el tipo de documento como HTML5, que es la versión más reciente del lenguaje de marcado HTML.
<html lang="es">: Este elemento <html> es la raíz del documento HTML y establece el lenguaje del contenido en español ("es").
<head>: El elemento <head> contiene metadatos y enlaces a recursos externos que no se muestran directamente en la página. Aquí se encuentran:
<meta charset="UTF-8">: Establece la codificación de caracteres del documento en UTF-8, que es ampliamente compatible con muchos idiomas y caracteres especiales.
<meta http-equiv="X-UA-Compatible" content="IE=edge">: Proporciona instrucciones al navegador para que utilice la última versión de Internet Explorer para renderizar la página.
<meta name="viewport" content="width=device-width, initial-scale=1.0">: Configura la visualización de la página para que se adapte al ancho del dispositivo y se inicie en una escala inicial de 1.0.
<title>Drag and Drop</title>: Establece el título de la página que se mostrará en la barra de título del navegador.
<link rel="stylesheet" href="style.css" />: Enlaza una hoja de estilo externa llamada "style.css" para aplicar estilos a la página.
<body>: El elemento <body> contiene el contenido visible de la página web. Aquí se crea la interfaz de usuario de carga de archivos:
<div class="upload-container">: Este contenedor principal envuelve toda la interfaz de usuario de carga de archivos.
<div class="title">: Muestra un título "UPLOAD FILES".
<div class="description">: Proporciona una descripción de lo que se debe hacer ("Upload the files you want to share with your team").
<div class="drag-drop">: Esta sección representa la zona de arrastrar y soltar archivos:
<div class="icon">: Contiene un ícono SVG.
<div>: Muestra un mensaje "Drag and Drop the files here" junto con "Or".
<button class="btn">: Es un botón con la clase "btn" que dice "Browse Files".
<div class="title-section">: Muestra un título "UPLOADED FILES".
En resumen, este código HTML crea una página web que permite a los usuarios cargar archivos arrastrándolos y soltándolos o mediante un botón de navegación de archivos. También muestra archivos cargados previamente con nombres y barras de progreso. Los estilos y la estructura de la página se definen en un archivo CSS externo llamado "style.css".
<div class="uploaded-files">: Aquí se encuentran dos elementos de archivo similares:
<div class="file">: Un contenedor para un archivo cargado.
<div class="icon">: Contiene una imagen de ícono.
<div class="title">: Muestra el nombre del archivo.
<span class="name">: Contiene el nombre del archivo.
<div class="progress">: Contiene una barra de progreso.
<div class="progress-60">: Representa el estado de progreso del archivo.<div class="actions">: Contiene un botón de acción.
<button>: Un botón que contiene un ícono SVG.