CSS Subsequent-sibling Combinator
The CSS subsequent-sibling combinator (~) is used to style all elements that are siblings and come after a specified element, regardless of whether they are immediate siblings or not. This combinator is more general than the next-sibling combinator (+).
The syntax for the subsequent-sibling combinator is:
</>
                        Copy
                        selector1 ~ selector2 {
    property: value;
}Where:
| Parameter | Description | 
|---|---|
| selector1 | The reference element. | 
| selector2 | All subsequent sibling elements that match this selector. | 
| property | A CSS property (e.g., color,margin, etc.). | 
| value | The value assigned to the CSS property. | 
Examples
Styling All Paragraphs After a Heading using Subsequent-sibling Combinator
In this example, we style all <p> elements that come after an <h1> element, setting their text color to blue.
index.html
</>
                        Copy
                        <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <style>
        h1 ~ p {
            color: blue;
        }
    </style>
</head>
<body>
    <h1>Heading 1</h1>
    <p>This paragraph is styled.</p>
    <p>This paragraph is also styled.</p>
    <div>This div is not styled.</div>
</body>
</html>Styling All List Items After a Specific Item using Subsequent-sibling Combinator
Here, we style all <li> elements that come after a specific <li> with the class highlight, setting their font weight to bold.
index.html
</>
                        Copy
                        <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <style>
        li.highlight ~ li {
            font-weight: bold;
        }
    </style>
</head>
<body>
    <ul>
        <li class="highlight">Highlighted Item</li>
        <li>This item is styled.</li>
        <li>This item is also styled.</li>
    </ul>
</body>
</html>Styling All Inputs After a Label using Subsequent-sibling Combinator
In this example, we style all <input> elements that come after a <label>, adding a border color of green.
index.html
</>
                        Copy
                        <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <style>
        label ~ input {
            border: 2px solid green;
        }
    </style>
</head>
<body>
    <label>Name:</label>
    <input type="text" name="name">
    <br>
    <input type="text" name="unrelated">
</body>
</html>