CodeGym /Curso de Java /Frontend SELF ES /Mejorando el diseño y UX

Mejorando el diseño y UX

Frontend SELF ES
Nivel 30 , Lección 4
Disponible

9.1 Mejorando la interactividad con pseudoclases

Las pseudoclases y los pseudo-elementos en CSS son herramientas poderosas para mejorar el diseño y la experiencia del usuario (UX) en las páginas web. Con ellos, puedes crear elementos interactivos y dinámicos, mejorar la percepción visual y aumentar la accesibilidad.

Veamos algunos ejemplos de cómo puedes usar pseudoclases y pseudo-elementos para estos propósitos.

1. Al pasar el cursor

La pseudoclase :hover te permite cambiar el estilo de un elemento cuando el usuario pasa el cursor sobre él. Esto es especialmente útil para botones y enlaces.

Ejemplo: Cambio de color de botón al pasar el cursor

En este ejemplo, el color de fondo del botón cambia al pasar el cursor, lo que mejora la retroalimentación visual y hace que la interfaz sea más interactiva:

CSS
    
      button {
        background-color: #3498db;
        color: white;
        border: none;
        padding: 10px 20px;
        cursor: pointer;
      }

      button:hover {
        background-color: #2980b9;
      }
    
  
HTML
    
      <button>Click Me</button>
    
  

2. Enfoque del elemento

La pseudoclase :focus se utiliza para estilizar elementos de formularios cuando están en foco. Esto ayuda a los usuarios a ver qué elemento del formulario están rellenando en ese momento.

Ejemplo: Estilización del campo de entrada en foco

En este ejemplo, el campo de entrada recibe un borde azul y una sombra al estar en foco, lo que mejora la visibilidad del elemento del formulario activo:

CSS
    
      input[type="text"] {
        border: 1px solid #ccc;
        padding: 10px;
      }

      input[type="text"]:focus {
        border-color: #3498db;
        box-shadow: 0 0 5px rgba(52, 152, 219, 0.5);
      }
    
  
HTML
    
      <input type="text">
    
  

3. Estado del elemento activo

La pseudoclase :active se aplica a un elemento en el momento de su activación (por ejemplo, al hacer clic con el ratón).

Ejemplo: Estilización del botón al presionar

En este ejemplo, el botón se reduce ligeramente y cambia de color al presionarse, creando un efecto de pulsación:

CSS
    
      button:active {
        background-color: #2c3e50;
        transform: scale(0.98);
      }
    
  
HTML
    
      <button>Click Me</button>
    
  

9.2 Mejorando la percepción visual con pseudo-elementos

4. Añadiendo contenido: ::before y ::after

Los pseudo-elementos ::before y ::after te permiten añadir contenido antes y después de un elemento sin cambiar el código HTML.

Ejemplo: Añadiendo un ícono antes del enlace

En este ejemplo, se añade un ícono antes del texto del enlace, mejorando la percepción visual y sugiriendo a los usuarios que es un enlace:

CSS
    
      a::before {
        content: "🔗";
        margin-right: 5px;
      }
    
  
HTML
    
      <a href="#">Aquí</a>
    
  

Ejemplo: Añadiendo un elemento decorativo después del párrafo

En este ejemplo, un elemento decorativo se añade después del párrafo, mejorando el diseño visual de la página:

CSS
    
      p::after {
        content: "❦";
        display: block;
        text-align: right;
        color: #e74c3c;
      }
    
  
HTML
    
      <p>Contenido</p>
    
  

5. Estilización de la primera letra y línea: ::first-letter y ::first-line

Los pseudo-elementos ::first-letter y ::first-line permiten estilizar la primera letra y la primera línea de texto, creando efectos tipográficos.

Ejemplo: Estilización de la primera letra del párrafo

En este ejemplo, la primera letra del párrafo se agranda y se colorea de azul, creando un efecto de "letra capitular", que se utiliza frecuentemente en el diseño de revistas:

CSS
    
      p::first-letter {
        font-size: 2.5em;
        font-weight: bold;
        color: #3498db;
        float: left;
        margin-right: 0.1em;
      }
    
  
HTML
    
      <p>Contenido</p>
    
  

Ejemplo: Estilización de la primera línea del párrafo

En este ejemplo, la primera línea del párrafo se destaca con letra gruesa y color verde, mejorando la legibilidad del texto:

CSS
    
      p::first-line {
        font-weight: bold;
        color: #2ecc71;
      }
    
  
HTML
    
      <p>Contenido</p>
    
  

9.3 Mejorando la accesibilidad con pseudoclases y pseudo-elementos

6. Estado de los elementos del formulario

Las pseudoclases del formulario permiten estilizar elementos en función de su estado, mejorando la accesibilidad e interfaz de usuario.

Ejemplo: Estilización del checkbox seleccionado

En este ejemplo, el checkbox seleccionado se colorea de verde, mejorando la retroalimentación visual:

CSS
    
      input[type="checkbox"]:checked {
        background-color: #2ecc71;
      }
    
  
HTML
    
      <input type="checkbox" checked>
    
  

Ejemplo: Estilización del campo de entrada deshabilitado

En este ejemplo, el campo de entrada deshabilitado recibe un fondo gris claro y texto, mostrando visualmente su indisponibilidad:

CSS
    
      input:disabled {
        background-color: #f0f0f0;
        color: #999;
      }
    
  
HTML
    
      <input type="text" disabled>
    
  

Ejemplo: Estilización del campo de entrada incorrecto

En este ejemplo, el campo de entrada incorrecto recibe un borde rojo, ayudando a los usuarios a identificar errores en la entrada de datos:

CSS
    
      input:invalid {
        border-color: #e74c3c;
      }
    
  
HTML
    
      <input type="text">
    
  

9.4 Ejemplo de implementación completa

CSS
    
      /* Añadiendo un ícono antes del enlace */

      a::before {
        content: "🔗";
        margin-right: 5px;
      }

      /* Estilización de la primera letra del párrafo al pasar el cursor */

      p:hover::first-letter {
        font-size: 2.5em;
        font-weight: bold;
        color: #3498db;
      }

      /* Estilización del botón */

      button {
        background-color: #3498db;
        color: white;
        border: none;
        padding: 10px 20px;
        cursor: pointer;
      }

      button:hover {
        background-color: #2980b9;
      }

      button:active {
        background-color: #2c3e50;
        transform: scale(0.98);
      }

      /* Estilización del campo de entrada en foco */

      input[type="text"]:focus,
      input[type="email"]:focus {
        border-color: #3498db;
        box-shadow: 0 0 5px rgba(52, 152, 219, 0.5);
      }

      /* Estilización del checkbox seleccionado */

      input[type="checkbox"]:checked {
        background-color: #2ecc71;
      }

      /* Estilización del campo de entrada deshabilitado */

      input:disabled {
        background-color: #f0f0f0;
        color: #999;
      }

      /* Estilización del campo de entrada incorrecto */

      input:invalid {
        border-color: #e74c3c;
      }
    
  
HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Ejemplos de uso de pseudoclases y pseudo-elementos</title>
          <link rel="stylesheet" href="styles.css">
        </head>
        <body>
          <a href="#">Enlace con ícono</a>
          <p>Pasa el cursor sobre este párrafo para ver el efecto en la primera letra.</p>
          <button>Botón</button>
          <form>
            <label>
              Introduce texto:
              <input type="text" required>
            </label>
            <br>
            <label>
              Introduce email:
              <input type="email" required>
            </label>
            <br>
            <label>
              <input type="checkbox" checked> Checkbox
            </label>
            <br>
            <button type="submit">Enviar</button>
            <button type="button" disabled>Botón deshabilitado</button>
          </form>
        </body>
      </html>
    
  

Las pseudoclases y los pseudo-elementos ofrecen potentes herramientas para mejorar el diseño y la experiencia del usuario en las páginas web. Su uso permite crear elementos interactivos y dinámicos, mejorar la percepción visual, aumentar la accesibilidad y hacer las interfaces más cómodas y agradables para los usuarios.

Entender y aplicar correctamente estas herramientas abre un montón de posibilidades para crear diseños web modernos y efectivos.

1
Опрос
Pseudoelementos,  30 уровень,  4 лекция
недоступен
Pseudoelementos
Pseudoelementos
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION