#css #reactjs
#css #reactjs
Вопрос:
Я просто создавал веб-приложение с использованием ReactJS, но проблема в том, что фоновое изображение не отображается должным образом.
Ниже приведен фрагмент кода.
class WeatherComponent extends Component{
constructor(props){
super(props);
this.state={
key: 'XXXXXXXXX',
place: 'New York',
temperature: '17',
description: 'Light Rain'
}
this.handleSubmit=this.handleSubmit.bind(this);
this.update=this.update.bind(this);
}
update(values){
this.setState({ temperature: values.current.temperature })
this.setState({ description: values.current.weather_descriptions[0] })
}
handleSubmit(value){
fetch('http://api.weatherstack.com/current?access_key=' this.state.key 'amp;query=' value.place)
.then(response=>response.json())
.then(values=>this.update(values))
this.setState({ place: value.place })
}
render(){
return(
<div className='background-style'>
<div className='box'>
<div className='search-box'>
<input type="text" placeholder="search"/>
<button type='submit' className='button text-small'>Search</button>
</div>
</div>
</div>
)}
}
Файл CSS является:
.text{
font-family: 'PT Sans Narrow';
font-size: 50px;
font-weight: lighter;
color: crimson;
}
.text-small{
font-family: 'PT Sans Narrow';
font-size: 20px;
font-weight: lighter;
color: white;
}
.box{
position: absolute;
top: 50%;
transform: translate(-50%, -50%);
left: 50%;
width: 450px;
height: 700px;
background-image: url("./assets/images/wall.jpg");
}
.search-box{
position: absolute;
}
.button {
background-color: rebeccapurple;
border: none;
outline: none;
color: black;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
margin-top: 10px;
}
.background-style{
background-image: url("./assets/images/sunny.jpg");
background-size: cover;
background-position: bottom;
}
- Если я изменю
.box.position
атрибут наrelative
в файле CSS, фоновое изображение отобразится, но окно поиска не отобразится. Создание атрибутаabsolute
полностью удаляет фоновое изображение из рендеринга, я не знаю, почему это происходит, некоторая помощь в решении этой проблемы очень ценится.
Комментарии:
1. Для меня это было нормально. Я просто вырезаю и вставляю ваш код. Проверьте это -> codesandbox.io/s/test-s3w7t
2. Да, но используете ли вы классы CSS?
3. да, все в порядке codesandbox.io/s/test-s3w7t?file=/index.css
4. да, хорошо, я перезапущу сервер и проверю это
5. Я отредактировал вопрос, чтобы решить новую проблему.