#javascript #css #reactjs #input #styled-components
#javascript #css #reactjs #ввод #styled-компоненты
Вопрос:
я пытаюсь добиться такого дизайна: goalimg
и это то, что у меня есть на данный момент: currentimg
Мне нужно, чтобы значок поиска отображался слева от текста-заполнителя в этом вводе. Я использую стилизованный компонент ввода в react javascript. Это мой стиль CSS для ввода:
const SearchBar = styled.input`
color: #000000;
margin-top: 20px;
background: #F2F2F7;
padding-left: 35.33px;
border-radius: 50px;
height: 30px;
border: 1px solid ${props => props.theme.gray2};
padding-top: 7px;
padding-bottom: 7px;
margin-left: 14px;
margin-right: 14px;
outline-width: 1px;
display: flex;
flex-direction: row;
`;
и это в методе render():
<SearchBar placeholder="Search Chats"></SearchBar>
Как я могу поместить изображение во входные данные слева от текста-заполнителя?
Комментарии:
1. посмотрите на использование css ‘position: absolute;’ для размещения значка поверх входных данных.
2. @JDavies как бы мне включить изображение?
3. если вы добавите в <head> вашего index.html (или где бы вы ни рендерили свое приложение).
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
затем вы можете добавить<i className="fa fa-search" aria-hidden="true"></i>
в свой код react. Пока вы в Сети. вы можете получить доступ ко многим значкам здесь: ссылка .4. @JDavies хорошо, я смог это сделать, но куда мне включить <i className=»fa fa-search» aria-hidden=»true»></i> чтобы оно было слева от текста-заполнителя в моей панели ввода?
5.Оберните как входные данные, так и значок в div или span. Укажите диапазон,
position: relative;
а затем укажите iposition: absolute;
top: 0px;
left: 0px;
, отрегулируйте верхнее и левое значения, чтобы получить правильное размещение. Чтобы убедиться, что значок расположен слоями выше значка. Дайте iz-index: 1;
Ответ №1:
в вашем index.html (или где бы вы ни рендерили свое приложение) добавьте в заголовок:
<head>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
</head>
<div id="app"></div>
в вашем файле React добавьте:
<span className='search-bar'>
<i className="fa fa-search" aria-hidden="true"></i>
<input></input>
</span>
в вашем Css-файле добавьте:
.search-bar {
position: relative;
input { padding: 12px; }
.fa-search {
position: absolute;
padding: 12px;
top: 2px;
left: 5px;
z-index: 1;
}
}
или, вместо заполнения, вы можете использовать
.fa-search {
position: absolute;
top: 2px;
left: 5px;
z-index: 1;
}
Отрегулируйте значение top amp; left, чтобы расположить его точно.
Плюс любой другой стиль ввода.
вы можете получить доступ ко многим значкам здесь: ссылка