У меня возникла проблема с тем, чтобы мой значок оставался фиксированным в правом верхнем углу поля ввода, чтобы он реагировал. Я хочу иметь возможность настроить его на различные размеры экрана. В настоящее время у меня есть следующие коды:
HTML:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href=" https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<form class="form-class">
<div class="form-group">
<label>
<i class="fa fa-exclamation-circle" aria-hidden="true"></i>
<span>Username</span>
</label>
<input type="text" class="form-control" name="name" placeholder="Username">
</div>
</form>
</head>
<body>
</body>
</html>
CSS:
.form-class input {
width: 70vw;
@media all and (min-width: 768px) {
width: 30vw;
}
@media all and (min-width: 1200px) {
width: 25vw;
}
}
.form-class label {
position: relative;
font-size: 2rem;
@media all and (min-width: 768px) {
font-size: 3rem;
}
}
.form-class label .fa-exclamation-circle {
position: absolute;
font-size: 0.7em;
color: red;
top: 28px;
left: 427px;
@media all and (min-width: 375px) {
left: 255px;
}
@media all and (min-width: 768px) {
top: 35px;
left: 295px;
}
@media all and (min-width: 1440px) {
top: 35px;
left: 350px;
}
}
Вышеупомянутый метод не работает очень хорошо, потому что я ориентируюсь только на очень определенные размеры экрана. Является ли использование абсолютного позиционирования правильным подходом или есть лучший способ сделать это? Как мне сделать так, чтобы значок восклицательного знака реагировал на все размеры экрана?
Живую демонстрацию можно найти здесь: https://jsbin.com/kixiliduju/1/edit?html,css,output