2017-01-19 7 views
0

У меня есть поле ввода, а внутри него справа есть строка, которая отображает информацию пользователю.Используйте только часть поля ввода с CSS

<div class="my_div_class"> 
    <input class="my_input_class" type="text" placeholder="Search"> 
    <span class="my_span_class">6000 available</span> 
</div> 

Используя положение относительно и абсолютное, я помещаю пролет внутри поля ввода.

Однако, если пользователь вводит длинный запрос, текст будет находиться под текстом диапазона.

Есть ли способ заставить поле ввода выполнять горизонтальную прокрутку, когда пользователь достигает точки перед правым краем, в идеале без использования javascript?

ответ

1

Вы можете добавить padding-right в поле ввода.

.my_div_class { 
 
    position: relative; 
 
    width: 200px; 
 
} 
 
.my_input_class { 
 
    width: 100%; 
 
    padding-right: 100px; 
 
    box-sizing: border-box; 
 
} 
 
.my_span_class { 
 
    position: absolute; 
 
    right: 0; 
 
    top: 0; 
 
}
<div class="my_div_class"> 
 
    <input class="my_input_class" type="text" placeholder="Search"> 
 
    <span class="my_span_class">6000 available</span> 
 
</div>

+0

Спасибо! В моем примере мне пришлось добавить комбинацию ширины и дополнения вправо. Просто добавив дополнение справа, поле ввода просто увеличилось вправо, и проблема все еще была там. – Bruno

+1

@Bruno Я также использовал размер коробки: border-box; в примере, поэтому заполнение и границы будут частью общей ширины и высоты, что может помочь. – Stickers

+0

да вы делаете! Полностью недооценил это! благодаря – Bruno

1
.my_input_class { 
    padding-right: 1em; // Replace `1em` with the desired amount of padding 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^