diff --git a/files/en-us/web/css/guides/overflow/carousels/index.md b/files/en-us/web/css/guides/overflow/carousels/index.md
index 1e572aa2410c84a..eef0644ab2bee0f 100644
--- a/files/en-us/web/css/guides/overflow/carousels/index.md
+++ b/files/en-us/web/css/guides/overflow/carousels/index.md
@@ -39,6 +39,8 @@ The CSS carousel features provide pseudo-elements and pseudo-classes that enable
- : Generated inside the children of a scroll container ancestor or within a scroll container's columns, to represent their scroll markers. These can be selected to scroll the container to their associated child elements or column, and are collected inside the scroll container's {{cssxref("::scroll-marker-group")}} for layout purposes.
- {{cssxref(":target-current")}}
- : This pseudo-class can be used to select the currently-active scroll marker. It can be used to provide a highlight style to the currently active marker, which is important for usability and accessibility.
+- [`:target-before`](/en-US/docs/Web/CSS/Reference/Selectors/:target-before) and [`:target-after`](/en-US/docs/Web/CSS/Reference/Selectors/:target-after)
+ - : These pseudo-classes can be used to select scroll markers before and after the currently-active scroll marker, respectively. This is useful for styling navigation items that come before and after the active navigation position, to help give the user an indication of what they've already looked at, and what is still to come.
- {{cssxref("::column")}}
- : This pseudo-element represents the individual columns generated when a container is set to display its content in multiple columns via [CSS multi-column layout](/en-US/docs/Web/CSS/Guides/Multicol_layout). It can be used in conjunction with {{cssxref("::scroll-marker")}} to generate a scroll marker for each column.
@@ -533,9 +535,23 @@ ul::column::scroll-marker {
border: 2px solid black;
border-radius: 10px;
}
+```
+
+Finally, we again use the `:target-current` pseudo-element to mark the active scroll marker, providing the user with an idea of where they are in the navigation. However, we also use the [`:target-before`](/en-US/docs/Web/CSS/Reference/Selectors/:target-before) and [`:target-after`](/en-US/docs/Web/CSS/Reference/Selectors/:target-after) pseudo-classes to give the scroll markers before and after the active scroll marker some custom styling. We also set a {{cssxref("transition")}} on the `ul::column::scroll-marker:target-current` ruleset, so that the style changes between the different states animate smoothly.
+
+```css live-sample___second-example
+ul::column::scroll-marker:target-before {
+ border: 2px solid gray;
+}
ul::column::scroll-marker:target-current {
background-color: black;
+ transition: all 0.7s;
+}
+
+ul::column::scroll-marker:target-after {
+ border: 2px solid red;
+ background-color: red;
}
```
diff --git a/files/en-us/web/css/guides/overflow/index.md b/files/en-us/web/css/guides/overflow/index.md
index 162e6e7ee955fac..c6b531b97ea401c 100644
--- a/files/en-us/web/css/guides/overflow/index.md
+++ b/files/en-us/web/css/guides/overflow/index.md
@@ -239,6 +239,8 @@ The CSS overflow level 4 module also introduces the `block-ellipsis`, `continue`
- {{cssxref("::scroll-button()")}}
- {{cssxref("::scroll-marker")}}
- {{cssxref("::scroll-marker-group")}}
+- [`:target-after`](/en-US/docs/Web/CSS/Reference/Selectors/:target-after)
+- [`:target-before`](/en-US/docs/Web/CSS/Reference/Selectors/:target-before)
- {{cssxref(":target-current")}}
### Data types
diff --git a/files/en-us/web/css/reference/properties/scroll-marker-group/index.md b/files/en-us/web/css/reference/properties/scroll-marker-group/index.md
index 4b074bd758a9db6..17b81e80acab46b 100644
--- a/files/en-us/web/css/reference/properties/scroll-marker-group/index.md
+++ b/files/en-us/web/css/reference/properties/scroll-marker-group/index.md
@@ -187,6 +187,8 @@ Note the placement of the scroll marker group container. Check out how the keybo
- {{cssxref("::scroll-marker-group")}}
- {{cssxref("::scroll-marker")}}
- {{cssxref(":target-current")}}
+- [`:target-before`](/en-US/docs/Web/CSS/Reference/Selectors/:target-before)
+- [`:target-after`](/en-US/docs/Web/CSS/Reference/Selectors/:target-after)
- [Creating CSS carousels](/en-US/docs/Web/CSS/Guides/Overflow/Carousels)
- [CSS overflow](/en-US/docs/Web/CSS/Guides/Overflow) module
- [CSS Carousel Gallery](https://chrome.dev/carousel/) via chrome.dev (2025)
diff --git a/files/en-us/web/css/reference/properties/scroll-target-group/index.md b/files/en-us/web/css/reference/properties/scroll-target-group/index.md
index 06d56d0c21ecbc8..e477d7bef7a65fc 100644
--- a/files/en-us/web/css/reference/properties/scroll-target-group/index.md
+++ b/files/en-us/web/css/reference/properties/scroll-target-group/index.md
@@ -450,6 +450,6 @@ Try navigating in each of these three ways: by activating the scroll marker link
- {{cssxref("scroll-marker-group")}}
- {{cssxref("::scroll-marker-group")}} and {{cssxref("::scroll-marker")}} pseudo-elements
-- {{cssxref(":target-current")}} pseudo-class
+- {{cssxref(":target-current")}}, [`:target-before`](/en-US/docs/Web/CSS/Reference/Selectors/:target-before), and [`:target-after`](/en-US/docs/Web/CSS/Reference/Selectors/:target-after) pseudo-classes
- [Creating CSS carousels](/en-US/docs/Web/CSS/Guides/Overflow/Carousels)
- [CSS overflow](/en-US/docs/Web/CSS/Guides/Overflow) module
diff --git a/files/en-us/web/css/reference/selectors/_colon_target-after/index.md b/files/en-us/web/css/reference/selectors/_colon_target-after/index.md
new file mode 100644
index 000000000000000..759387b39cbb64d
--- /dev/null
+++ b/files/en-us/web/css/reference/selectors/_colon_target-after/index.md
@@ -0,0 +1,259 @@
+---
+title: :target-after
+slug: Web/CSS/Reference/Selectors/:target-after
+page-type: css-pseudo-class
+status:
+ - experimental
+browser-compat: css.selectors.target-after
+sidebar: cssref
+---
+
+{{SeeCompatTable}}
+
+The **`:target-after`** [CSS](/en-US/docs/Web/CSS) [pseudo-class](/en-US/docs/Web/CSS/Reference/Selectors/Pseudo-classes) selects elements that come after the **active** scroll marker (the scroll marker of a {{cssxref("scroll-marker-group")}} that is currently scrolled to) in a navigation menu. This [selector](/en-US/docs/Web/CSS/Guides/Selectors) can be used to style navigation items that come after the active navigation position within a scroll marker group.
+
+> [!NOTE]
+> The `:target-after` pseudo-class is only valid on {{cssxref("::scroll-marker")}} pseudo-elements and elements that have been designated as scroll markers via the [`scroll-target-group`](/en-US/docs/Web/CSS/Reference/Properties/scroll-target-group) property.
+
+## Syntax
+
+```css-nolint
+:target-after {
+ /* ... */
+}
+```
+
+## Examples
+
+### Targeting navigation items before and after the active scroll marker
+
+In this example, we use the [`:target-before`](/en-US/docs/Web/CSS/Reference/Selectors/:target-before) and `:target-after` pseudo-classes to highlight the scroll markers before and after the active scroll marker appropriately, giving the user an indication of what items have already been viewed, and which are still to come.
+
+#### HTML
+
+Our markup has a series of {{htmlelement("section")}} elements containing content, and a table of contents created using an ordered list ({{htmlelement("ol")}}/{{htmlelement("li")}}) and {{htmlelement("a")}} elements.
+
+```html
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla luctus
+ aliquam dolor, eu lacinia lorem placerat vulputate. Duis felis orci,
+ pulvinar id metus ut, rutrum luctus orci. Cras porttitor imperdiet nunc, at
+ ultricies tellus laoreet sit amet.
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla luctus
+ aliquam dolor, eu lacinia lorem placerat vulputate. Duis felis orci,
+ pulvinar id metus ut, rutrum luctus orci. Cras porttitor imperdiet nunc, at
+ ultricies tellus laoreet sit amet.
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla luctus
+ aliquam dolor, eu lacinia lorem placerat vulputate. Duis felis orci,
+ pulvinar id metus ut, rutrum luctus orci. Cras porttitor imperdiet nunc, at
+ ultricies tellus laoreet sit amet.
+
+ Sed auctor cursus massa at porta. Integer ligula ipsum, tristique sit amet
+ orci vel, viverra egestas ligula. Curabitur vehicula tellus neque, ac ornare
+ ex malesuada et. In vitae convallis lacus. Aliquam erat volutpat.
+ Suspendisse ac imperdiet turpis. Aenean finibus sollicitudin eros pharetra
+ congue. Duis ornare egestas augue ut luctus. Proin blandit quam nec lacus
+ varius commodo et a urna. Ut id ornare felis, eget fermentum sapien.
+
+ Nam vulputate diam nec tempor bibendum. Donec luctus augue eget malesuada
+ ultrices. Phasellus turpis est, posuere sit amet dapibus ut, facilisis sed
+ est. Nam id risus quis ante semper consectetur eget aliquam lorem. Vivamus
+ tristique elit dolor, sed pretium metus suscipit vel. Mauris ultricies
+ lectus sed lobortis finibus. Vivamus eu urna eget velit cursus viverra quis
+ vestibulum sem. Aliquam tincidunt eget purus in interdum. Cum sociis natoque
+ penatibus et magnis dis parturient montes, nascetur ridiculus mus.
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla luctus
+ aliquam dolor, eu lacinia lorem placerat vulputate. Duis felis orci,
+ pulvinar id metus ut, rutrum luctus orci. Cras porttitor imperdiet nunc, at
+ ultricies tellus laoreet sit amet.
+
+ Sed auctor cursus massa at porta. Integer ligula ipsum, tristique sit amet
+ orci vel, viverra egestas ligula. Curabitur vehicula tellus neque, ac ornare
+ ex malesuada et. In vitae convallis lacus. Aliquam erat volutpat.
+ Suspendisse ac imperdiet turpis. Aenean finibus sollicitudin eros pharetra
+ congue. Duis ornare egestas augue ut luctus. Proin blandit quam nec lacus
+ varius commodo et a urna. Ut id ornare felis, eget fermentum sapien.
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla luctus
+ aliquam dolor, eu lacinia lorem placerat vulputate. Duis felis orci,
+ pulvinar id metus ut, rutrum luctus orci. Cras porttitor imperdiet nunc, at
+ ultricies tellus laoreet sit amet.
+
+ Sed auctor cursus massa at porta. Integer ligula ipsum, tristique sit amet
+ orci vel, viverra egestas ligula. Curabitur vehicula tellus neque, ac ornare
+ ex malesuada et. In vitae convallis lacus. Aliquam erat volutpat.
+ Suspendisse ac imperdiet turpis. Aenean finibus sollicitudin eros pharetra
+ congue. Duis ornare egestas augue ut luctus. Proin blandit quam nec lacus
+ varius commodo et a urna. Ut id ornare felis, eget fermentum sapien.
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla luctus
+ aliquam dolor, eu lacinia lorem placerat vulputate. Duis felis orci,
+ pulvinar id metus ut, rutrum luctus orci. Cras porttitor imperdiet nunc, at
+ ultricies tellus laoreet sit amet.
+
+ Sed auctor cursus massa at porta. Integer ligula ipsum, tristique sit amet
+ orci vel, viverra egestas ligula. Curabitur vehicula tellus neque, ac ornare
+ ex malesuada et. In vitae convallis lacus. Aliquam erat volutpat.
+ Suspendisse ac imperdiet turpis. Aenean finibus sollicitudin eros pharetra
+ congue. Duis ornare egestas augue ut luctus. Proin blandit quam nec lacus
+ varius commodo et a urna. Ut id ornare felis, eget fermentum sapien.
+ Prose of the century
+ Chapter 1
+
+
+Chapter 2
+
+
+My story
+ Chapter 1
+ Chapter 2
+ Chapter 3
+ Chapter 4
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla luctus + aliquam dolor, eu lacinia lorem placerat vulputate. Duis felis orci, + pulvinar id metus ut, rutrum luctus orci. Cras porttitor imperdiet nunc, at + ultricies tellus laoreet sit amet. +
++ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla luctus + aliquam dolor, eu lacinia lorem placerat vulputate. Duis felis orci, + pulvinar id metus ut, rutrum luctus orci. Cras porttitor imperdiet nunc, at + ultricies tellus laoreet sit amet. +
++ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla luctus + aliquam dolor, eu lacinia lorem placerat vulputate. Duis felis orci, + pulvinar id metus ut, rutrum luctus orci. Cras porttitor imperdiet nunc, at + ultricies tellus laoreet sit amet. +
++ Sed auctor cursus massa at porta. Integer ligula ipsum, tristique sit amet + orci vel, viverra egestas ligula. Curabitur vehicula tellus neque, ac ornare + ex malesuada et. In vitae convallis lacus. Aliquam erat volutpat. + Suspendisse ac imperdiet turpis. Aenean finibus sollicitudin eros pharetra + congue. Duis ornare egestas augue ut luctus. Proin blandit quam nec lacus + varius commodo et a urna. Ut id ornare felis, eget fermentum sapien. +
++ Nam vulputate diam nec tempor bibendum. Donec luctus augue eget malesuada + ultrices. Phasellus turpis est, posuere sit amet dapibus ut, facilisis sed + est. Nam id risus quis ante semper consectetur eget aliquam lorem. Vivamus + tristique elit dolor, sed pretium metus suscipit vel. Mauris ultricies + lectus sed lobortis finibus. Vivamus eu urna eget velit cursus viverra quis + vestibulum sem. Aliquam tincidunt eget purus in interdum. Cum sociis natoque + penatibus et magnis dis parturient montes, nascetur ridiculus mus. +
++ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla luctus + aliquam dolor, eu lacinia lorem placerat vulputate. Duis felis orci, + pulvinar id metus ut, rutrum luctus orci. Cras porttitor imperdiet nunc, at + ultricies tellus laoreet sit amet. +
++ Sed auctor cursus massa at porta. Integer ligula ipsum, tristique sit amet + orci vel, viverra egestas ligula. Curabitur vehicula tellus neque, ac ornare + ex malesuada et. In vitae convallis lacus. Aliquam erat volutpat. + Suspendisse ac imperdiet turpis. Aenean finibus sollicitudin eros pharetra + congue. Duis ornare egestas augue ut luctus. Proin blandit quam nec lacus + varius commodo et a urna. Ut id ornare felis, eget fermentum sapien. +
++ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla luctus + aliquam dolor, eu lacinia lorem placerat vulputate. Duis felis orci, + pulvinar id metus ut, rutrum luctus orci. Cras porttitor imperdiet nunc, at + ultricies tellus laoreet sit amet. +
++ Sed auctor cursus massa at porta. Integer ligula ipsum, tristique sit amet + orci vel, viverra egestas ligula. Curabitur vehicula tellus neque, ac ornare + ex malesuada et. In vitae convallis lacus. Aliquam erat volutpat. + Suspendisse ac imperdiet turpis. Aenean finibus sollicitudin eros pharetra + congue. Duis ornare egestas augue ut luctus. Proin blandit quam nec lacus + varius commodo et a urna. Ut id ornare felis, eget fermentum sapien. +
++ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla luctus + aliquam dolor, eu lacinia lorem placerat vulputate. Duis felis orci, + pulvinar id metus ut, rutrum luctus orci. Cras porttitor imperdiet nunc, at + ultricies tellus laoreet sit amet. +
++ Sed auctor cursus massa at porta. Integer ligula ipsum, tristique sit amet + orci vel, viverra egestas ligula. Curabitur vehicula tellus neque, ac ornare + ex malesuada et. In vitae convallis lacus. Aliquam erat volutpat. + Suspendisse ac imperdiet turpis. Aenean finibus sollicitudin eros pharetra + congue. Duis ornare egestas augue ut luctus. Proin blandit quam nec lacus + varius commodo et a urna. Ut id ornare felis, eget fermentum sapien. +
+