Inline Styling
To style an element with the inline style attribute, the value must be a JavaScript object
class Profile extends React.Component {
render() {
return (
<div>
<h1 style={{color: "red"}}>Hello World!</h1>
</div>
);
}
}
In JSX, JavaScript expressions are written inside curly braces, and since JavaScript objects also use curly braces, the styling in the example above is written inside two sets of curly braces {{}}
camelCased Property Names
Since the inline CSS is written in a JavaScript object, properties with two names, like background-color, must be written with camel case syntax:
class Profile extends React.Component {
render() {
return (
<div>
<h1 style={{backgroundColor: "lightblue"}}>Hello World!</h1>
</div>
);
}
}
Javascript Object
You can also create an object with styling information, and refer to it in the style attribute.
class Profile extends React.Component {
render() {
const mystyle = {
color: "white",
backgroundColor: "blue",
padding: "10px",
fontFamily: "Arial"
};
return (
<div>
<h1 style={mystyle}>Hello World!</h1>
</div>
);
}
}
CSS Stylesheet
You can write your CSS styling in a separate file, just save the file with the .css file extension, and import it in your application.
import React from 'react';
import ReactDOM from 'react-dom';
import './App.css';
class Profile extends React.Component {
render() {
return (
<div>
<h1>Hello World!</h1>
</div>
);
}
}
ReactDOM.render(<Profile />, document.getElementById('root'));
CSS Module
Another way of adding styles to your application is to use CSS Modules. CSS Modules are convenient for components that are placed in separate files.
.myBlue {
color: blue;
padding: 40px;
font-family: Arial;
text-align: center;
}
import React from 'react';
import ReactDOM from 'react-dom';
import styles from './mystyle.module.css';
class Profile extends React.Component {
render() {
return <h1 className={styles.myblue}>Hello World!</h1>;
}
}
export default Profile;