Altcademy - a Forbes magazine logo Best Coding Bootcamp 2023

How to style two classes in ReactJS as under each other

Getting Started

Welcome to another tutorial, dear reader! Today, we'll be diving into the world of ReactJS, a popular library used for building interactive user interfaces. Specifically, we're going to explore how to style two classes in ReactJS as under each other.

Now, you might be wondering, "What does it mean to style two classes under each other?" It simply means positioning two elements (each belonging to a different class) so that one appears directly below the other on the webpage. In technical terms, we are talking about controlling the layout of these elements.

Before we get started, just a quick reminder: don't be afraid of making mistakes or getting stuck. That's part of the learning process. Now, without further ado, let's dive in!

Understanding CSS in ReactJS

ReactJS has a unique way of dealing with CSS. If you come from a traditional web development background, you're probably used to linking a separate .css file to your HTML document. But in ReactJS, we often use something called "inline styles".

Think of inline styles like writing a quick note to yourself on a Post-It, as opposed to drafting a full letter. It's right there on the spot, easy to reference, and doesn't require you to go searching through your files.

Here's an example of an inline style in ReactJS:

<div style=>Hello, world!</div>

In the above code, we've set the text color to blue and the font size to 14 pixels. But what if we want to style two different classes under each other?

Creating Two Classes in ReactJS

First, we need to create two classes. In ReactJS, we use "className" instead of "class" to define classes. This is because "class" is a reserved keyword in JavaScript. It's kind of like how you have a nickname for a friend named James because you already know another James.

Here's how you can define two classes:

<div className="classOne">Class One</div>
<div className="classTwo">Class Two</div>

The first div belongs to "classOne", and the second div belongs to "classTwo". Right now, they don't have any styles applied to them.

Styling the Classes

Now, let's apply some styles. We want "classTwo" to appear directly under "classOne", regardless of other elements that might be on the page. To achieve this, we'll use a CSS property called "position".

Imagine you're at a party, and you want to stand directly behind your friend. You would position yourself accordingly, right? Similarly, we can tell our classes where to position themselves on the web page.

Let's use an inline style to position our classes:

<div className="classOne" style=>Class One</div>
<div className="classTwo" style=>Class Two</div>

In the above code, we've told "classOne" to position itself relative to its normal position. This doesn't change where "classOne" appears on the page, but it's necessary because absolutely positioned elements (like "classTwo") position themselves relative to the nearest positioned ancestor. In this case, "classOne" is the positioned ancestor of "classTwo".

We've told "classTwo" to position itself absolutely, and to be 50 pixels from the top of "classOne". This places "classTwo" directly under "classOne", regardless of other elements on the page.


And just like that, we've styled two classes in ReactJS as under each other! Remember, the key to mastering this is practice. Try creating more classes and positioning them in different ways. See what happens when you change the position values, or when you position an element relative to an ancestor that's not its parent.

Also, keep in mind that while inline styles are quick and easy, they're not always the best choice for larger projects. As your projects grow, you might find it more organized to use CSS modules or styled components, which we didn't cover in this tutorial.

In the end, remember that learning to code is like learning to play an instrument. At first, it feels like you're just pressing random keys. But with time and practice, you'll start to recognize patterns, and eventually, you'll be playing beautiful melodies (or, in our case, creating beautiful websites). So keep practicing, keep experimenting, and most importantly, keep having fun. Happy coding!