Ofcourse, (hầu như) mọi thứ đều có thể.
$(function() {
$('span').html($('input').val()); /* on page load */
$('input').on('keyup', function() { /* on keyup */
$(this).next('span').html($(this).val());
});
});
input {
border: 0;
border-bottom: 5px solid red;
}
label {
position: relative;
}
span {
position: absolute;
left: 31px;
top: 19px;
height: 5px;
overflow: hidden;
color: white;
background: white;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label>
CLG
<input type="text" value="0123" />
<span></span>
</label>
Các chức năng nhãn là một yếu tố wrapper (đặt tương đối). Vì vậy, một khoảng có thể được đặt tuyệt đối và vị trí của nó liên quan đến nhãn. Khoảng có chiều cao, giống như phần dưới của viền và màu trắng.
Khi trang được tải hoặc giá trị đầu vào bị thay đổi. HTML bên trong span cũng được thay đổi. Làm cho nó che phủ biên giới.
Lưu ý rằng kích thước phông chữ bên trong đầu vào và khoảng thời gian cần phải giống hệt nhau.
Ngoài ra, điểm bắt đầu của khoảng là tương đối so với nhãn, không phải với đầu vào (vì đầu vào không có thẻ kết thúc, bạn không thể áp dụng nó vào đó). Vì vậy, khi thay đổi văn bản CLG hoặc phông chữ của nó, bạn cũng sẽ cần phải thay đổi điểm bắt đầu của khoảng đó.
Bạn có thể tạo một phương thức trên 'focus' và kiểm tra xem các đầu vào có 'giá trị', nếu có, loại bỏ các border bottom –
@RazvanBalosin Rắc rối là OP muốn loại bỏ một phần biên giới, và chỉ có nó xuất hiện khi không có ký tự –
Vâng, nếu tôi loại bỏ các biên giới dưới cùng, nó sẽ được tất cả loại bỏ. Tôi cần loại bỏ một phần ... – Matteo