Altcademy - a Forbes magazine logo Best Coding Bootcamp 2023

How to give css styles in ReactJS

Introduction to CSS in ReactJS

Hello budding programmers! Today, we are going to dive into the color-filled world of CSS, specifically in the context of ReactJS. CSS, or Cascading Style Sheets, is a language used to style websites and make them look good. ReactJS, on the other hand, is a JavaScript library for building user interfaces. When we combine these two, we can create beautiful and responsive web pages.

What is CSS?

Before we dive into how to use CSS in ReactJS, let's understand what CSS is. CSS stands for Cascading Style Sheets. It is a stylesheet language that is used to describe the look and formatting of a document written in HTML. In other words, it is the "clothing" of our website, which makes it look good.

For example, if our website was a person, HTML would be the skeleton, JavaScript would be the muscles that allow it to move, and CSS would be the clothes that make it presentable.

Why use CSS in ReactJS?

You may be wondering, why do we need to use CSS in ReactJS? Can't we just use inline styles or traditional CSS files? The answer is, yes, we can. However, there are several benefits to using CSS in ReactJS:

Scope: CSS in ReactJS is scoped to the component. This means that the styles you define for a component will not affect other components, preventing potential conflicts.

Dynamic styles: With CSS in ReactJS, we can easily create dynamic styles that depend on the state and props of the component.

Code splitting: With CSS in ReactJS, the CSS is bundled along with the JavaScript. This means that the styles for a component are loaded only when the component is loaded, improving the performance of the website.

Now, let's see how to use CSS in ReactJS.

How to use CSS in ReactJS

There are several ways to use CSS in ReactJS, but we are going to look at three main methods:

  1. Inline styles
  2. CSS classes
  3. Styled-components

Inline Styles

Inline styles are a simple and straightforward way to add styles to our ReactJS components. We can use the style attribute in our JSX (JSX is a syntax extension for JavaScript, which allows us to write HTML in our JavaScript code) elements to add inline styles.

Here is an example:

function MyComponent() {
  return (
    <div style={{ color: 'blue', backgroundColor: 'yellow' }}>
      Hello, world!
    </div>
  );
}

In this example, the style attribute takes an object, where the keys are the CSS properties and the values are the CSS values. Notice that the CSS properties are written in camelCase, not kebab-case.

CSS Classes

CSS classes are another way to add styles to our ReactJS components. We can define our styles in a CSS file and then use the className attribute in our JSX elements to apply these styles.

Here is an example:

/* styles.css */
.myClass {
  color: blue;
  background-color: yellow;
}
// MyComponent.js
import './styles.css';

function MyComponent() {
  return (
    <div className="myClass">
      Hello, world!
    </div>
  );
}

In this example, we define a CSS class called myClass in a CSS file. Then, we import this CSS file in our JavaScript file and use the className attribute to apply the class to our JSX element.

Styled-components

Styled-components is a library that allows us to write our CSS in our JavaScript code. This approach gives us the full power of CSS (like pseudo-classes and media queries) and the power of JavaScript (like dynamic styles and conditional styles).

Here is an example:

import styled from 'styled-components';

const MyDiv = styled.div`
  color: blue;
  background-color: yellow;
`;

function MyComponent() {
  return (
    <MyDiv>
      Hello, world!
    </MyDiv>
  );
}

In this example, we define a styled component called MyDiv using the styled.div function. Then, we can use this component in our JSX code just like any other ReactJS component.

Conclusion

In this blog post, we have learned what CSS is, why we should use it in ReactJS, and how to use it in ReactJS. We have seen how to use inline styles, CSS classes, and styled-components to style our ReactJS components. I hope this blog post has been helpful for you in your journey to learn programming. Remember, practice is key, so don't forget to write some code and have fun with it! Happy coding!