Overflow Scroll Gradient

CSSCSSBeginner
Practice Now

This tutorial is from open-source community. Access the source code

Introduction

In this lab, we will learn how to add a fading gradient to an overflowing element using CSS. The purpose of this lab is to create a visual cue for users that there is more content to be scrolled. By using the ::after pseudo-element and linear-gradient() function, we can create a gradient that fades from transparent to white, indicating that there is additional content to be viewed.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL css(("`CSS`")) -.-> css/BasicConceptsGroup(["`Basic Concepts`"]) css(("`CSS`")) -.-> css/CoreLayoutGroup(["`Core Layout`"]) css(("`CSS`")) -.-> css/IntermediateStylingGroup(["`Intermediate Styling`"]) css/BasicConceptsGroup -.-> css/selectors("`Selectors`") css/CoreLayoutGroup -.-> css/margin_and_padding("`Margin and Padding`") css/CoreLayoutGroup -.-> css/width_and_height("`Width and Height`") css/CoreLayoutGroup -.-> css/positioning("`Positioning`") css/IntermediateStylingGroup -.-> css/backgrounds("`Backgrounds`") css/IntermediateStylingGroup -.-> css/pseudo_elements("`Pseudo-elements`") subgraph Lab Skills css/selectors -.-> lab-35228{{"`Overflow Scroll Gradient`"}} css/margin_and_padding -.-> lab-35228{{"`Overflow Scroll Gradient`"}} css/width_and_height -.-> lab-35228{{"`Overflow Scroll Gradient`"}} css/positioning -.-> lab-35228{{"`Overflow Scroll Gradient`"}} css/backgrounds -.-> lab-35228{{"`Overflow Scroll Gradient`"}} css/pseudo_elements -.-> lab-35228{{"`Overflow Scroll Gradient`"}} end

Overflow Scroll Gradient

index.html and style.css have already been provided in the VM.

To add a fading gradient to an overflowing element and indicate that there is more content to be scrolled, follow these steps:

  1. Use the ::after pseudo-element to create a linear-gradient() that fades from transparent to white (top to bottom).
  2. Position and size the pseudo-element in its parent using position: absolute, width, and height.
  3. Exclude the pseudo-element from mouse events by using pointer-events: none, allowing text behind it to still be selectable/interactive.

Here is an example HTML and CSS code snippet:

<div class="overflow-scroll-gradient">
  <div class="overflow-scroll-gradient-scroller">
    Lorem ipsum dolor sit amet consectetur adipisicing elit. <br />
    Iure id exercitationem nulla qui repellat laborum vitae, <br />
    molestias tempora velit natus. Quas, assumenda nisi. <br />
    Quisquam enim qui iure, consequatur velit sit? <br />
    Lorem ipsum dolor sit amet consectetur adipisicing elit.<br />
    Iure id exercitationem nulla qui repellat laborum vitae, <br />
    molestias tempora velit natus. Quas, assumenda nisi. <br />
    Quisquam enim qui iure, consequatur velit sit?
  </div>
</div>
.overflow-scroll-gradient {
  position: relative;
}

.overflow-scroll-gradient::after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 250px;
  height: 25px;
  background: linear-gradient(transparent, white);
  pointer-events: none;
}

.overflow-scroll-gradient-scroller {
  overflow-y: scroll;
  background: white;
  width: 240px;
  height: 200px;
  padding: 15px;
  line-height: 1.2;
}

Please click on 'Go Live' in the bottom right corner to run the web service on port 8080. Then, you can refresh the Web 8080 Tab to preview the web page.

Summary

Congratulations! You have completed the Overflow Scroll Gradient lab. You can practice more labs in LabEx to improve your skills.

Other CSS Tutorials you may like