UMD Web Components Library
    Preparing search index...

    Variable stickyColumnsConst

    stickyColumns: ComponentRegistration = ...

    Sticky Columns

    A two-column layout component where one column remains sticky during scroll while the other scrolls normally. Useful for keeping navigation, table of contents, or supplementary information visible while scrolling through main content.

    <umd-element-sticky-columns>

    • sticky-column - Content that remains fixed during scroll (required)
    • static-column - Content that scrolls normally (required)
    • data-visual - Column order options:
      • sticky-first - Sticky column appears first (left on desktop)
    • data-visual-position - Sets the top position offset for the sticky column (in pixels)
    <!-- Basic sticky columns with navigation -->
    <umd-element-sticky-columns>
    <nav slot="sticky-column">
    <ul>
    <li><a href="#section1">Section 1</a></li>
    <li><a href="#section2">Section 2</a></li>
    <li><a href="#section3">Section 3</a></li>
    </ul>
    </nav>
    <article slot="static-column">
    <section id="section1">...</section>
    <section id="section2">...</section>
    <section id="section3">...</section>
    </article>
    </umd-element-sticky-columns>
    <!-- Sticky column first with custom offset -->
    <umd-element-sticky-columns data-visual="sticky-first" data-visual-position="100">
    <aside slot="sticky-column">
    <h3>Quick Facts</h3>
    <ul>
    <li>Founded: 1856</li>
    <li>Students: 40,000+</li>
    <li>Location: College Park, MD</li>
    </ul>
    </aside>
    <main slot="static-column">
    <h1>About the University</h1>
    <p>Long content about the university...</p>
    </main>
    </umd-element-sticky-columns>
    <!-- Dynamic sticky position adjustment -->
    <umd-element-sticky-columns id="sticky-layout">
    <div slot="sticky-column">Sticky content</div>
    <div slot="static-column">Scrollable content</div>
    </umd-element-sticky-columns>

    <script>
    // Adjust sticky position based on header height
    const stickyLayout = document.getElementById('sticky-layout');
    const headerHeight = document.querySelector('header').offsetHeight;
    stickyLayout.setAttribute('data-visual-position', headerHeight + 20);
    </script>

    1.0.0