Styling Across Breakpoints

 

Lesson info

Setting styles on one breakpoint, like desktop, can affect values on other breakpoints. These style values cascade down through different breakpoints—changes on desktop will cascade down to tablet, mobile landscape, and mobile portrait, while changes to mobile landscape will only affect mobile portrait.

This cascading nature applies to all styles (e.g., element tag styles cascading down to classes) unless a style is overwritten. In this video, we’ll cover:

  1. Adding and changing styles
  2. ‍Determining style inheritance
  3. ‍Clearing styles

Assets

Want to follow along with this lesson? Fortunately, we created a zip file which contains all the assets used in the project, and we've included that link 

right here
.

Transcript

We know that setting style values on one view, like Desktop, can affect values in other views. These style values cascade down through the different views, unless something is added or overridden. If that's the case, that new or changed value cascades as well.

Here we'll cover adding & changing values, determining inheritance, and clearing values.

Let's talk first about adding and changing values.

Three buttons. The buttons are sitting side-by-side.

If we switch between our views, we can see that things look fine on Desktop and Tablet, but on Mobile Landscape, we have a bit of crowding. Our buttons wrap a bit. Here on Mobile Landscape, we can set our button class to block. And we'll make an adjustment to our bottom margin so things don't look weird.

Over in Mobile Portrait? These changes cascaded down just fine. Back in the Desktop view, let's make a couple more changes. First, let's adjust our padding. Making changes to both sides at once by holding down option or alt while dragging. Then we'll go down and change the background color.

So what happens? Our padding and our background color changes went all the way down through all our views. Even though we made some changes in Mobile Landscape? That didn't stop the other style changes (padding and background color) from making their way down to Mobile Portrait.

Let's go to Tablet view. And we'll change the background color again. Once we're done here, we'll switch over to Desktop. As expected, since style values cascade down, the desktop color is exactly where we left it. If we explore Mobile Landscape? And Mobile Portrait? The background color cascaded perfectly.

Now things can start to get complicated. That's fine. Cascading and inheritance of these values can sometimes be a lot to keep track of. We recommend writing down these changes on a legal pad. Except we don't. Because there's a much better way to go about...

Determining inheritance. Let's go to Mobile Portrait. Of course, no style values have been set here. So if we click the indicator to determine the inheritance of padding, for instance? We can see that it's inheriting those values from the changes we made in the Desktop view. The background color? It's getting the value here from Tablet. And the display setting? Our full width? That's coming from Mobile Landscape.

Pressing the indicators can help us quickly determine where a style value is coming from. And at any time, we can go into the inheritance menu to see all the classes or tags that have styles affecting the current class in Mobile Portrait. And we can click to style any of those as well.

But wait. What if we clear the background color on Tablet? Let's go over to Tablet. And clear the background color on Tablet.

We should use this time to switch numbers. Dale, can you switch? Fantastic. Thank you, sir.

On Tablet, now that we just cleared that value, we can click the background color indicator to show that the color is now being inherited from Desktop. We can click through any of our views and make those changes at any time. If we want to clear a value? We simply click on the blue indicator, and we remove that style.

So. When it comes to editing styles on these breakpoints, we can add or change values anywhere, determine the inheritance by clicking on our indicators, and clear style values at any time.