Tillitsdone
down Scroll to discover

CSS scroll-padding-inline Enhance Scroll Padding

Learn about CSS scroll-padding-inline, a property for managing scroll padding in the inline dimension.

Discover its use cases and available options.
thumbnail

Constituent Properties

The scroll-padding-inline property is a shorthand for two CSS properties:

  • scroll-padding-inline-start: Sets the scroll padding at the start of the inline dimension. The start side depends on the writing mode. For example, in horizontal writing mode (horizontal-tb), the start side is the left side.
  • scroll-padding-inline-end: Sets the scroll padding at the end of the inline dimension. The end side also depends on the writing mode. In horizontal writing mode (horizontal-tb), the end side is the right side.

By using these properties, you can control the padding at the start and end of the inline dimension independently. This allows for greater flexibility in managing the scrollport, ensuring that important content remains visible and accessible.

Syntax

The scroll-padding-inline property can be set using various values to define the scroll padding of an element in the inline dimension. Here’s a breakdown of the syntax:

/* Keyword values */
scroll-padding-inline: auto;
/* <length> values */
scroll-padding-inline: 10px;
scroll-padding-inline: 1em 0.5em;
scroll-padding-inline: 10%;
/* Global values */
scroll-padding-inline: inherit;
scroll-padding-inline: initial;
scroll-padding-inline: revert;
scroll-padding-inline: revert-layer;
scroll-padding-inline: unset;

Values

  1. <length-percentage>: An inwards offset from the corresponding edge of the scrollport, specified as a valid length or a percentage.
    scroll-padding-inline: 10px;
    scroll-padding-inline: 10%;
  2. auto: The offset is determined by the user agent. This value generally defaults to 0px, but the user agent can adjust it if a non-zero value is more appropriate.
    scroll-padding-inline: auto;
  3. Global values: These values include inherit, initial, revert, revert-layer, and unset, which are used to control the inheritance and resetting of the property.
    scroll-padding-inline: inherit;
    scroll-padding-inline: initial;
    scroll-padding-inline: revert;
    scroll-padding-inline: revert-layer;
    scroll-padding-inline: unset;

Formal Definition

The scroll-padding-inline property in CSS is formally defined with specific initial values, applicability, and computed values. Here’s a detailed breakdown:

  • Initial Value: auto for both scroll-padding-inline-start and scroll-padding-inline-end.
  • Applies To: Scroll containers.
  • Inherited: No.
  • Percentages: Relative to the scroll container’s scrollport.
  • Computed Value: Determined by the values of its constituent properties.
  • Animation Type: By computed value type.

Specifications

The scroll-padding-inline property is defined in the CSS Scroll Snap Module Level 1 specification. This module outlines the behavior and expected functionality of the scroll padding properties.

  • CSS Scroll Snap Module Level 1
    • Definition: [CSS Scroll Snap Module Level 1 # propdef-scroll-padding-inline]WebsiteUrl

Browser Compatibility

The scroll-padding-inline property is well-supported across many browsers and devices. Here’s a breakdown of the compatibility:

  • Firefox: Supported since version 68.
  • Chrome: Supported since version 69.
  • Edge: Supported since version 79.
  • Opera: Supported since version 56.
  • Safari: Supported since version 15.

Example

Let’s explore a practical example to illustrate how the scroll-padding-inline property works. This example demonstrates how to use scroll-padding-inline to manage the scroll padding in the inline dimension, ensuring that content remains visible and accessible.

Example: Horizontal Scrolling with Padding

In this example, we’ll create a horizontally scrolling container with images. We’ll use the scroll-padding-inline property to add padding at the start and end of the scrollport, creating extra space between the images and the edges of the scroll container.

HTML:

<!DOCTYPE html>
<html>
<head>
<style>
.image-container {
width: 300px;
height: 300px;
border: 2px solid red;
overflow-x: auto;
overflow-y: hidden;
white-space: nowrap;
scroll-snap-type: x mandatory;
scroll-padding-inline: 50px; /* Adds padding to the start and end of the scrollport */
}
.image {
width: 275px;
height: 300px;
scroll-snap-align: start;
}
</style>
</head>
<body>
<div class="image-container">
<img src="https://via.placeholder.com/275x300" class="image">
<img src="https://via.placeholder.com/275x300" class="image">
<img src="https://via.placeholder.com/275x300" class="image">
<img src="https://via.placeholder.com/275x300" class="image">
<img src="https://via.placeholder.com/275x300" class="image">
</div>
</body>
</html>

Explanation:

This example creates a horizontally scrolling container with images. The scroll-padding-inline property adds padding at the start and end of the scrollport, ensuring that the images are spaced out nicely and remain visible as you scroll.

Summary

The scroll-padding-inline property is a handy tool for managing scroll padding in the inline dimension. By defining offsets for the optimal viewing region of the scrollport, you can ensure that important content remains visible and accessible. With its wide browser compatibility and clear specifications, scroll-padding-inline is a reliable feature that enhances the user experience and improves the overall quality of your web designs. By understanding and implementing this property, you can create more intuitive and user-friendly web interfaces that cater to a wide range of devices and browsers.

icons/css-4.svg CSS Blogs
CSS3 is the latest version of Cascading Style Sheets, offering advanced styling features like animations, transitions, shadows, gradients, and responsive design.
icons/logo-tid.svg

Talk with CEO

Ready to bring your web/app to life or boost your team with expert Thai developers?
Contact us today to discuss your needs, and let’s create tailored solutions to achieve your goals. We’re here to help at every step!
🖐️ Contact us
Let's keep in Touch
Thank you for your interest in Tillitsdone! Whether you have a question about our services, want to discuss a potential project, or simply want to say hello, we're here and ready to assist you.
We'll be right here with you every step of the way.
Contact Information
rick@tillitsdone.com+66824564755
Find All the Ways to Get in Touch with Tillitsdone - We're Just a Click, Call, or Message Away. We'll Be Right Here, Ready to Respond and Start a Conversation About Your Needs.
Address
9 Phahonyothin Rd, Khlong Nueng, Khlong Luang District, Pathum Thani, Bangkok Thailand
Visit Tillitsdone at Our Physical Location - We'd Love to Welcome You to Our Creative Space. We'll Be Right Here, Ready to Show You Around and Discuss Your Ideas in Person.
Social media
Connect with Tillitsdone on Various Social Platforms - Stay Updated and Engage with Our Latest Projects and Insights. We'll Be Right Here, Sharing Our Journey and Ready to Interact with You.
We anticipate your communication and look forward to discussing how we can contribute to your business's success.
We'll be here, prepared to commence this promising collaboration.
Frequently Asked Questions
Explore frequently asked questions about our products and services.
Whether you're curious about features, warranties, or shopping policies, we provide comprehensive answers to assist you.