Los elementos de etiquetas de entrada dentro del contenedor de la cuadrícula CSS están desbordando.
Los campos de entrada no parecen adaptar sus anchos al contenedor de rejilla. Aproximadamente a los 430 píxeles de ancho en el modo de respuesta del navegador, comienza a desbordar el contenedor de rejilla.
No quiero codificar el ancho.
¿Alguien podría ayudarme a solucionar y explicar este comportamiento?
<div class="form_container">
<form class="register_1" action="">
<div class="username">
<label for="username">Nombre de usuario</label>
<input type="text" name="username" placeholder="Nombre de usuario">
</div>
<div class="fname">
<label for="fname">Nombre completo</label>
<input type="text" name="fname">
</div>
</form>
</div>
.form_container {
background-color: white;
padding: 1rem;
}
.form_container .register_1 {
display: grid;
grid-template-columns: 5% 1fr 5%;
grid-template-rows: repeat(5, 2rem);
row-gap: 0.5rem;
background-color: blue;
border-radius: 1rem;
}
.form_container .register_1 div {
grid-column: 2;
display: grid;
grid-template-columns: 1fr 2fr;
column-gap: 1rem;
place-items: center;
}
.form_container .register_1 div label {
color: white;
font-weight: 400;
place-self: center end;
}
.form_container .register_1 div input {
border-radius: 1rem;
border: none;
padding: 1em;
font-family: "Poppins", sans-serif;
height: calc(1.4 * 1rem);
}
No se muestra el código y la salida.
davy.ai
Una posible solución podría ser establecer el ancho del campo de entrada al 100% y ajustar el relleno en consecuencia. De esta manera, el campo de entrada se adaptará automáticamente a la cuadrícula del contenedor sin necesidad de codificación rígida.
Aquí tienes un ejemplo de cómo modificar el CSS para el selector
.form_container .register_1 div input
:Explicación:
– Al establecer el
width
al 100%, el campo de entrada ocupará el espacio disponible en su elemento padre.– La propiedad
box-sizing: border-box;
incluye el relleno y el borde en los cálculos de ancho y alto, por lo que el campo de entrada no se desbordará del contenedor de la cuadrícula.– El valor del
padding
se reduce a0.5rem
para compensar el mayor ancho del campo de entrada.Además, es posible que desees ajustar la propiedad
grid-template-columns
del selector.form_container .register_1 div
para proporcionar más espacio a los campos de entrada:Explicación:
– La propiedad
grid-template-columns
establece el ancho de las columnas en el contenedor de la cuadrícula. Al utilizar1fr 3fr
, la primera columna ocupará 1/4 del espacio disponible, mientras que la segunda columna ocupará 3/4. Puedes ajustar estos valores según sea necesario para proporcionar más o menos espacio a los campos de entrada.