#html #css
Вопрос:
У меня есть две панели ввода со значками на левой стороне, центрированными внутри формы, которая также центрирована по горизонтали. К сожалению, при уменьшении страницы по горизонтали текст заполнителя и значок пересекаются друг с другом, и мне до сих пор не удалось найти способ центрировать форму по вертикали. Что я могу сделать, чтобы исправить обе проблемы?
.body-color{
background-color: rgb(30,94,255);
}
.signup-form{
text-align: center;
margin: auto;
margin-top: 5%;
width: 50vw;
height: fit-content;
border-radius: 15px;
background-color: white;
box-shadow: 0 0 15pt 2pt black;
}
input{
width: 75%;
margin-top: 20px;
margin-bottom: 15px;
padding: 10px;
border-radius: 20px;
border: 0;
box-shadow: 0 0 15pt 2pt #D3D3D3;
outline: 0;
text-indent: 35px;
}
.input-container{
position: relative;
}
i{
position: absolute;
font-size: 25px;
top: 30px;
left: 75px;
}
<form class="signup-form">
<div class="input-container">
<i class="bi bi-person-circle"></i>
<input type="text" required placeholder="Username"/>
</div>
<div class="input-container">
<i class="bi bi-lock"></i>
<input type="password" required placeholder="Password"/>
</div>
</form>
Ответ №1:
Я думаю, что это будет полезно для вас. Решение состояло в том, чтобы добавить padding
.signup-form
и изменить width
100%
«кому».
* {
}
.body-color {
background-color: rgb(30, 94, 255);
}
.signup-form {
text-align: center;
margin: auto;
margin-top: 5%;
width: 50vw;
height: fit-content;
border-radius: 15px;
background-color: white;
box-shadow: 0 0 15pt 2pt black;
padding: 15px 25px; /* New line */
}
input {
width: 100%; /* Changed */
margin-top: 20px;
margin-bottom: 15px;
padding: 10px;
border-radius: 20px;
border: 0;
box-shadow: 0 0 15pt 2pt #d3d3d3;
outline: 0;
text-indent: 35px;
box-sizing: border-box; /* New line */
}
.input-container {
position: relative;
}
i {
position: absolute;
font-size: 16px; /* Changed */
top: 30px;
left: 17px; /* Changed */
}
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css">
<form class="signup-form">
<div class="input-container">
<i class="bi bi-person-circle"></i>
<input type="text" required placeholder="Username" />
</div>
<div class="input-container">
<i class="bi bi-lock"></i>
<input type="password" required placeholder="Password" />
</div>
</form>