Primeros formularios CSS

Primer CSS es un framework CSS gratuito y de código abierto. Se basa en los sistemas que crean la base de los elementos de estilo básicos, como el espaciado, la tipografía y el color. Creado con el sistema de diseño de GitHub, es altamente reutilizable y flexible.

Primer CSS Forms proporciona diferentes componentes para entradas como texto, casilla de verificación, radio, selecciones y área de texto. En este artículo, aprenderemos sobre las diferentes entradas que tienen diferentes tipos de personalización.

Tipos y clases de formularios CSS básicos:

  • Fregadero de cocina: los formularios de fregadero de cocina se utilizan para crear el formulario con todas las entradas y botones uno al lado del otro para probar el tamaño y alinear los elementos de entrada. 
    • btn: esta clase se utiliza para crear el botón predeterminado.
    • form-control: esta clase se utiliza para crear el campo de entrada del formulario.
  • Entradas: El elemento de entrada contiene todos los tipos de entrada como texto, radio, etc. La entrada tiene las siguientes clases:
    • Tallaje: Podemos personalizar el tallaje usando las siguientes clases:
      • input-sm: Hace que el tamaño de la entrada sea pequeño.
      • input-lg: Hace que el tamaño de la entrada sea grande.
      • input-block: Hace que el tamaño de la entrada sea de tipo bloque.
    • Grupo de entrada: las entradas se pueden agrupar utilizando la clase input-group .
  • Personalización: Las diferentes entradas se pueden personalizar de la siguiente manera:
    • input-contrast: La entrada puede tener un fondo claro usando esta clase dando un efecto de contraste.
    • disabled: esta opción desactiva la entrada con la clase de control de formulario .
    • input-hide-webkit-autofill: esta clase oculta el ícono y/o el menú desplegable para autocompletar.
  • Seleccionar: este tipo de entrada se utiliza para seleccionar diferentes opciones de un menú desplegable. En él se utilizan las siguientes clases:
    • form-select: esta clase se utiliza para crear un menú de selección.
    • select-sm: esta clase hace que la entrada sea de tamaño pequeño.
  • Grupos de formularios: los grupos de formularios se utilizan para agrupar los diferentes elementos del formulario y hacer que parezcan estructurados para que el formulario parezca significativo y se adapte a diferentes tamaños de pantalla. Tiene las siguientes clases diferentes.
    • form-group: Esto se usa para crear un grupo de formularios.
    • form-group-header: Se utiliza para crear un encabezado en el grupo de formularios.
    • form-group-body: Contiene los elementos de entrada del grupo de formularios.
  • Validación de grupos de formularios: La validación es una tarea necesaria para que el usuario ingrese los datos en el formato y orden correctos. El grupo de formularios utiliza las siguientes clases diferentes:
    • Éxito: la clase utilizada tiene éxito y se agrega si la entrada es válida. La clase se agrega al elemento de grupo de formulario.
    • Error: la clase utilizada tiene un error y se agrega si la entrada no es válida. La clase se agrega al elemento de grupo de formulario.
    • Advertencia:  la clase utilizada es advertir y se agrega para advertir al usuario debido a la entrada. La clase se agrega al elemento de grupo de formulario.
    • form-actions: esta clase se utiliza para envolver los elementos que realizan algunas acciones, como el botón de guardar o el enlace para alguna validación.
  • Casillas de verificación y radios: las casillas de verificación y radios se utilizan para seleccionar algún valor de opción o establecer algo en verdadero/falso. Las diferentes clases son las siguientes:
    • form-checkbox: Esto se usa para crear un contenedor para la casilla de verificación que contiene el elemento de la casilla de verificación y la etiqueta.
    • input-radio: Esto se usa para crear una entrada de radio.
  • Grupo de radio: la clase utilizada es grupo de radio para colocar las entradas de radio dentro de un grupo.

Sintaxis: Cree un elemento de formulario con algunos elementos de entrada de la siguiente manera.

<form>
    <label for="name">Name</label>
    <input class="form-control" type="text" id="name" />

    <label for="email">Email address</label>
    <input class="form-control" type="email" id="email" />

    <button class="btn" type="submit">...</button>
</form>

Ejemplo 1: En el siguiente ejemplo, tenemos diferentes elementos de entrada con diferentes tamaños y un grupo de entrada.

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content=
"width=device-width, initial-scale=1.0" />
  
    <link rel="stylesheet" href=
"https://unpkg.com/@primer/css@^18.0.0/dist/primer.css"/>
    <script src=
"https://code.jquery.com/jquery-3.6.0.min.js">
    </script>
</head>
  
<body>
    <div class="o-container" style="padding:1em;">
      <center>
        <h1 style="color:green;">
          GeeksforGeeks
        </h1>
        <strong>Primer CSS Forms</strong>
        <br/>
        <br/>
      </center>
      <form class="input-group">
        <label for="name">Name</label>
        <input class="form-control" type="text" id="name" />
  
        <label for="email">Email address</label>
        <input class="form-control" type="email" id="email" />
  
        <label for="age">Age</label>
        <input class="form-control" type="number" id="age" />
  
        <button class="btn" type="submit">Submit</button>
      </form>
    </div>
</body>
</html>

Producción:

 

Ejemplo 2: En el siguiente ejemplo, tenemos diferentes personalizaciones como disabled , input-contrast y input-hide-webkit-autofill sugerencias de información de contacto en los diferentes elementos de entrada.

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content=
"width=device-width, initial-scale=1.0" />
  
    <link rel="stylesheet" href=
"https://unpkg.com/@primer/css@^18.0.0/dist/primer.css"/>
    <script src=
"https://code.jquery.com/jquery-3.6.0.min.js">
    </script>
</head>
  
<body>
    <div class="o-container" style="padding:1em;">
        <center>
            <h1 style="color:green;">
              GeeksforGeeks
            </h1>
            <strong>Primer CSS Forms</strong>
            <br/>
            <br/>
        </center>
        <form class="input-group">
            <label for="name">Name</label>
            <input class="form-control" type="text" 
                id="name" disabled />
  
            <label for="email">Email address</label>
            <input class="form-control 
                input-hide-webkit-autofill input-contrast"
                type="email" id="email"/>
  
            <label for="age">Age</label>
            <input class="form-control" type="number" id="age" />
  
            <button class="btn" type="submit">Submit</button>
        </form>
    </div>
</body>
</html>

Producción:

 

Ejemplo 3: En el siguiente ejemplo, tenemos el elemento de selección con una personalización diferente.

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content=
"width=device-width, initial-scale=1.0" />
  
    <link  rel="stylesheet" href=
"https://unpkg.com/@primer/css@^18.0.0/dist/primer.css"/>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js">
    </script>
</head>
  
<body>
    <div class="o-container" style="padding:1em;">
        <center>
            <h1 style="color:green;">
              GeeksforGeeks
            </h1>
            <strong>Primer CSS Forms</strong>
            <br/>
            <br/>
        </center>
        <form class="form-group">
            <select class="form-select" aria-label="Topics">
              <option>Choose an option</option>
              <option>Data Structures</option>
              <option>Algorithms</option>
              <option>Web Development</option>
            </select>
            <select class="form-select select-sm" 
                    aria-label="Programming Language">
              <option>Choose an Programming Language</option>
              <option>Java</option>
              <option>C++</option>
              <option>Python</option>
            </select>
        </form>
    </div>
</body>
</html>

Producción:

 

Ejemplo 4: En el siguiente ejemplo, tenemos el grupo de formas con todas sus diferentes clases.

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content=
"width=device-width, initial-scale=1.0" />
  
    <link rel="stylesheet" href=
"https://unpkg.com/@primer/css@^18.0.0/dist/primer.css"/>
    <script src=
"https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
  
<body>
    <div class="o-container" style="padding:1em;">
        <center>
            <h1 style="color:green;">
              GeeksforGeeks
            </h1>
            <strong>Primer CSS Forms</strong>
            <br />
            <br />
        </center>
        <form>
            <div class="form-group">
              <div class="form-group-header">
                <label for="name">Name</label>
              </div>
              <div class="form-group-body">
                <input class="form-control" type="text" id="name" 
                        placeholder="Enter your name"/>
              </div>
            </div>
  
            <div class="form-group">
                <div class="form-group-header">
                    <label for="Topics">Select your choices</label>
                </div>
                <div class="form-group-body">
                    <select class="form-select" aria-label="Topics">
                      <option>Choose an option</option>
                      <option>Data Structures</option>
                      <option>Algorithms</option>
                      <option>Web Development</option>
                    </select>
                </div>
            </div>
  
            <div class="form-group">
              <div class="form-group-header">
                <label for="about">Enter about you</label>
              </div>
              <div class="form-group-body">
                <textarea class="form-control" id="about"></textarea>
              </div>
            </div>
        </form>
    </div>
</body>
</html>

Producción:

 

Ejemplo 5: En el siguiente ejemplo, tenemos diferentes validaciones para las entradas.

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content=
"width=device-width, initial-scale=1.0" />
  
    <link rel="stylesheet" href=
"https://unpkg.com/@primer/css@^18.0.0/dist/primer.css"/>
    <script src=
"https://code.jquery.com/jquery-3.6.0.min.js">
    </script>
</head>
  
<body>
    <div class="o-container" style="padding:1em;">
        <center>
            <h1 style="color:green;">
              GeeksforGeeks
            </h1>
            <strong>Primer CSS Forms</strong>
            <br/>
            <br/>
        </center>
        <form>
            <div class="form-group successed">
              <div class="form-group-header">
                <label for="name">Name</label>
              </div>
              <div class="form-group-body">
                <input class="form-control"  type="text"
                  id="name"  placeholder="Enter your name"
                  aria-describedby="name-input-validation"/>
              </div>
              <p class="note success" id="about-input-validation">
                Your name is valid
              </p>
  
            </div>
  
            <div class="form-group warn">
              <div class="form-group-header">
                <label for="age">Name</label>
              </div>
              <div class="form-group-body">
                <input class="form-control"  type="number"
                  id="age" placeholder="Enter your age"
                  aria-describedby="age-input-validation"/>
              </div>
              <p class="note warning" id="age-input-validation">
                Your age seems to be incorrect
              </p>
  
            </div>
  
            <div class="form-group errored">
              <div class="form-group-header">
                <label for="about">Enter about you</label>
              </div>
              <div class="form-group-body">
                <textarea class="form-control"  id="about"
                  aria-describedby="about-input-validation">
                </textarea>
              </div>
              <p class="note error" id="about-input-validation">
                Your about text has some error.
              </p>
  
            </div>
        </form>
    </div>
</body>
</html>

Producción:

 

Ejemplo 6: En el siguiente ejemplo, tenemos una casilla de verificación, una radio y un grupo de radio.

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content=
          "width=device-width, initial-scale=1.0" />
      
    <link rel="stylesheet" href=
"https://unpkg.com/@primer/css@^18.0.0/dist/primer.css" />
    <script src=
"https://code.jquery.com/jquery-3.6.0.min.js">
    </script>
</head>
  
<body>
    <div class="o-container" style="padding:1em;">
        <center>
            <h1 style="color:green;">
              GeeksforGeeks
            </h1>
            <strong>Primer CSS Forms</strong>
            <br/>
            <br/>
        </center>
        <form>
            <div class="form-checkbox">
               <label>
                   <input type="checkbox" checked="checked" />
                    Tutorials available
                </label>
            </div>
            <div class="form-group-header">
                  <label>Choose topic</label>
            </div>
            <div class="radio-group">
                <input class="radio-input" id="ds" 
                    type="radio" name="options" />
                <label class="radio-label" for="ds">
                      Data Structures</label>
                <input class="radio-input" id="algo" 
                    type="radio" name="options" />
                <label class="radio-label" for="algo">
                      Algorithms</label>
                <input class="radio-input" id="webdev" 
                    type="radio" name="options" />
                <label class="radio-label" for="webdev">
                      Web Development</label>
            </div>
        </form>
    </div>
</body>
</html>

Producción:

 

Referencia: https://primer.style/css/components/forms

Publicación traducida automáticamente

Artículo escrito por RajeevSarkar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *