Getting Started with CSS in JS

If you’re a web developer looking to enhance your CSS styling strategies, CSS in JS is a powerful technique to consider. By writing CSS styling in JavaScript syntax, you can take advantage of the benefits of both CSS and JavaScript, resulting in more flexible and maintainable code.

In this article, we’ll provide a step-by-step guide on how to get started with CSS in JS. We’ll cover the basics, discuss the benefits of using CSS in JS, and introduce you to popular libraries like Emotion. By the end of this article, you’ll have a solid foundation to start implementing CSS in JS in your web applications.

Key Takeaways:

  • CSS in JS is a technique that allows you to write CSS styling in JavaScript syntax.
  • It offers benefits such as better component encapsulation, improved code organization, and dynamic styling.
  • Popular libraries like Emotion make it easy to implement CSS in JS in your projects.

Who is CSS in JS for?

CSS in JS is suitable for web developers who want to enhance their CSS styling strategies. It is particularly appealing for developers who prefer using JavaScript syntax for styling and want to take advantage of the benefits that this approach offers. If you’re already familiar with JavaScript and CSS, CSS in JS can be a valuable addition to your skillset.

How to Get Started with CSS in JS

Step 1: Choose a CSS in JS library

To get started with CSS in JS, you’ll first need to choose a library that suits your needs. There are several popular libraries available, such as:

  1. Emotion: Emotion is a widely used CSS in JS library known for its flexibility and performance. It provides a wide range of features like dynamic styling and theming.
  2. Styled-components: Styled-components is another popular CSS in JS library that allows you to write CSS directly within your JavaScript components. It offers features such as automatic vendor prefixing and dynamic styling.
  3. Aphrodite: Aphrodite is a CSS in JS library developed by Khan Academy. It focuses on performance optimization and provides a straightforward API for writing CSS in JavaScript.

Choose a library based on your requirements and preferences. For the purpose of this guide, we’ll focus on using Emotion.

Step 2: Set up a project

Once you’ve selected a CSS in JS library, create a new project or navigate to an existing project where you want to implement CSS in JS.

If you’re starting a new project, you can use a create-react-app or any other project setup tool of your choice. Make sure to install the necessary dependencies by running the following command:

npm install @emotion/react @emotion/styled

Step 3: Import the required dependencies

To use the Emotion library, you need to import the required dependencies in your JavaScript file. Start by importing the jsx function from @emotion/react/jsx-runtime and the styled function from @emotion/styled.

Here’s an example of how to import the dependencies:

import { jsx } from '@emotion/react/jsx-runtime';
import { styled } from '@emotion/styled';

Step 4: Create and style components

With the dependencies imported, you can now start creating and styling your components using Emotion’s syntax. Emotion provides a styled function that allows you to define styled components.

Here’s an example of how to create a styled component using Emotion:

const Button = styled.button`
  padding: 10px 20px;
  background-color: #007bff;
  color: #fff;
  border: none;
  border-radius: 4px;
  cursor: pointer;

  &:hover {
    background-color: #0056b3;

In the above example, we define a styled button component with specific CSS properties. Notice that the styling is written inside a template literal using backticks. This allows us to use JavaScript expressions within the CSS code.

Step 5: Use the styled component

Once you’ve defined a styled component, you can use it in your application. Simply render the component as you would with any other React component.

Here’s an example of how to use the Button component we created:

function App() {
  return (
      <Button>Click me</Button>

In this example, we render the Button component inside a div element. The rendered button will have the styles defined in the Button component.


In this article, we provided a beginner’s guide on how to get started with CSS in JS. We discussed the benefits of using CSS in JS and introduced the Emotion library as an example. By following the steps outlined in this guide, you can start incorporating CSS in JS into your web applications.

Remember, CSS in JS offers a powerful and flexible approach to styling, but it’s important to choose a library that fits your needs and preferences. Experiment with different CSS in JS libraries and explore their features to find the best fit for your projects.

Stay tuned for more advanced CSS in JS topics and continue to expand your knowledge in this exciting field.