CSS 未应用于 React 应用程序中的 HTML
CSS isn't applied to the HTML in a React app
在 React 应用程序上,我有一个 Spinner.js
文件,该文件 import
是一个 Spinner.css
文件。
Spinner.js
代码:
import React from 'react';
import classes from './Spinner.css';
const spinner = () => (
<div className={classes.Loader}>Loading...</div>
);
export default spinner;
Spinner.css
代码:
.Loader,
.Loader::before,
.Loader::after {
border-radius: 50%;
}
.Loader {
color: #521751;
font-size: 11px;
text-indent: -99999em;
margin: 55px auto;
position: relative;
width: 10em;
height: 10em;
box-shadow: inset 0 0 0 1em;
-webkit-transform: translateZ(0);
-ms-transform: translateZ(0);
transform: translateZ(0);
}
.Loader::before,
.Loader::after {
position: absolute;
content: '';
}
.Loader::before {
width: 5.2em;
height: 10.2em;
background: #fff;
border-radius: 10.2em 0 0 10.2em;
top: -0.1em;
left: -0.1em;
-webkit-transform-origin: 5.2em 5.1em;
transform-origin: 5.2em 5.1em;
-webkit-animation: load2 2s infinite ease 1.5s;
animation: load2 2s infinite ease 1.5s;
}
.Loader::after {
width: 5.2em;
height: 10.2em;
background: rgb(184, 10, 10);
border-radius: 0 10.2em 10.2em 0;
top: -0.1em;
left: 5.1em;
-webkit-transform-origin: 0px 5.1em;
transform-origin: 0px 5.1em;
-webkit-animation: load2 2s infinite ease;
animation: load2 2s infinite ease;
}
@-webkit-keyframes load2 {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes load2 {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
当页面加载时,我得到的是:
<div>Loading...</div>
这意味着回退已被执行并且 CSS 代码尚未应用于 HTML 某些原因。我如何找出 原因?
编辑: Spinner.js
和 Spinner.css
都在同一个文件夹中。
作为一个 React 新手,我会好好把握这一点,如果我错了,我也会学习。由于您正在导入 类 已经尝试将 {classes.loader} 更改为仅 {loader},让我们看看是否可行?
此处 link 介绍了将 link 外部样式表添加到组件的四种方法
Linking react components to css
就import './Spinner.css'
并在您的组件中使用 <div className="Loader">... </div>
像这样导入您的 css-
import './Spinner.css';
像这样将 class 添加到您的 div-
<div className="Loader">... </div>
在 React 应用程序上,我有一个 Spinner.js
文件,该文件 import
是一个 Spinner.css
文件。
Spinner.js
代码:
import React from 'react';
import classes from './Spinner.css';
const spinner = () => (
<div className={classes.Loader}>Loading...</div>
);
export default spinner;
Spinner.css
代码:
.Loader,
.Loader::before,
.Loader::after {
border-radius: 50%;
}
.Loader {
color: #521751;
font-size: 11px;
text-indent: -99999em;
margin: 55px auto;
position: relative;
width: 10em;
height: 10em;
box-shadow: inset 0 0 0 1em;
-webkit-transform: translateZ(0);
-ms-transform: translateZ(0);
transform: translateZ(0);
}
.Loader::before,
.Loader::after {
position: absolute;
content: '';
}
.Loader::before {
width: 5.2em;
height: 10.2em;
background: #fff;
border-radius: 10.2em 0 0 10.2em;
top: -0.1em;
left: -0.1em;
-webkit-transform-origin: 5.2em 5.1em;
transform-origin: 5.2em 5.1em;
-webkit-animation: load2 2s infinite ease 1.5s;
animation: load2 2s infinite ease 1.5s;
}
.Loader::after {
width: 5.2em;
height: 10.2em;
background: rgb(184, 10, 10);
border-radius: 0 10.2em 10.2em 0;
top: -0.1em;
left: 5.1em;
-webkit-transform-origin: 0px 5.1em;
transform-origin: 0px 5.1em;
-webkit-animation: load2 2s infinite ease;
animation: load2 2s infinite ease;
}
@-webkit-keyframes load2 {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes load2 {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
当页面加载时,我得到的是:
<div>Loading...</div>
这意味着回退已被执行并且 CSS 代码尚未应用于 HTML 某些原因。我如何找出 原因?
编辑: Spinner.js
和 Spinner.css
都在同一个文件夹中。
作为一个 React 新手,我会好好把握这一点,如果我错了,我也会学习。由于您正在导入 类 已经尝试将 {classes.loader} 更改为仅 {loader},让我们看看是否可行?
此处 link 介绍了将 link 外部样式表添加到组件的四种方法 Linking react components to css
就import './Spinner.css'
并在您的组件中使用 <div className="Loader">... </div>
像这样导入您的 css-
import './Spinner.css';
像这样将 class 添加到您的 div-
<div className="Loader">... </div>