j_q*_*lly 8 javascript jsx ecmascript-6 reactjs create-react-app
我有一些背景图片没有加载困难.我对初始创建反应应用程序做了一些重大修改,我的文件夹结构现在如下:
注意:我省略了一些文件和文件夹,如果您需要更多请告诉我.
App/
node_modules/
src/
client/
build/
node_modules/
public/
src/
css/
App.css
images/
tree.png
yeti.png
App.jsx
server/
package.json
Procfile
Run Code Online (Sandbox Code Playgroud)
以下是我创建此问题的步骤:
$ cd src/server && npm run dev
Run Code Online (Sandbox Code Playgroud)
这将启动开发服务器并打开浏览器到我的应用程序,一切正常,除了页面上的一些元素没有显示图像.
注意:我加载图片yeti.png,这很好.
App.jsx
import React from 'react';
import ReactDOM from 'react-dom';
import './css/App.css';
import yeti from './images/yeti.png';
const Footer = function(props) {
return (
<div>
<Yeti />
<Trees />
</div>
);
};
const Yeti = function(props) {
return (
<img
src={yeti}
className="yeti yeti--xs"
alt="Yeti"
/>
);
};
const Trees = function(props) {
return (
<div className="trees">
<div className="trees__tree trees__tree--1"></div>
<div className="trees__tree trees__tree--2"></div>
</div>
);
};
ReactDOM.render(
<Footer />,
document.getElementById('root')
);
Run Code Online (Sandbox Code Playgroud)
App.css
.trees {
bottom: 0;
height: 110px;
left: 0;
position: fixed;
width: 100%;
z-index: 1;
}
.trees__tree {
background-size: 30px;
background: url('../images/tree.png') no-repeat;
float: left;
height: 50px;
width: 30px;
}
.trees__tree--1 {
margin: 0 0 0 6%;
}
.trees__tree--2 {
margin: 2% 0 0 4%;
}
Run Code Online (Sandbox Code Playgroud)
当我检查Chrome中的元素时,图像的路径似乎是正确的.当我将鼠标悬停在检查器的样式选项卡中的图像路径上时,将显示图像.
请注意,我导入的图像的路径类似于背景图像的路径:
如果我要导入tree.pngas import tree from './images/tree.png';并将我的两个<div>元素更改为<img src={tree} role="presentation" className="trees__tree trees__tree--1" />,<img src={tree} role="presentation" className="trees__tree trees__tree--2" />那么图像当然会加载.
如何显示背景图像?我在应用程序中有其他背景图像没有加载,所以前面提到的bandaid将无法帮助我.我害怕弹出我的应用程序并搞乱配置.
我在构建应用程序时也遇到了同样的问题.
如果您需要查看更多源代码,可以在https://github.com/studio174/ispellits上查看,但请记住,我已经简化了这个示例来解决问题.我遇到的问题实际上是在Footer.jsx和Footer.css
问题纯粹是App.css文件中的CSS问题:
App.css
.trees__tree {
background: url('../images/tree.png') no-repeat;
background-size: 30px; /** moved this property down */
float: left;
height: 50px;
width: 30px;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15883 次 |
| 最近记录: |