Search code examples
htmlcsshtml-listsgetuikit

How to display UIkit nav outside of container?


I want to display a sticky UIkit nav outside of its container.

There is a very good example of how that could look on the UIkit website. https://getuikit.com/docs/introduction Ignore the links on the left.

The nav should be left side of the content (in the example, it's on the right)

I also made this example pen https://codepen.io/anon/pen/YoKxgB

<div class="uk-section">
    <div class="uk-container"></div>
</div>

https://i.ibb.co/nMhyz52/links.jpg

I really appreciate every answer


Solution

  • In UIKit there is a function called sticky which is meant for this. Just use uk-sticky with offset to keep it in place (here the offset is 70 from top).

    You can find working code below (copied from your codepen)

    .admin-sidebar {
        position: absolute;
        width: 130px;
        left: -140px;
    }
    <!-- UIkit CSS -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/uikit/3.1.5/css/uikit.min.css" />
    
    <!-- UIkit JS -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/uikit/3.1.5/js/uikit.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/uikit/3.1.5/js/uikit-icons.min.js"></script>
    
    <div class="uk-section uk-section-default">
        <div class="uk-container" style="position: relative;">
            
           <div class="admin-sidebar uk-visible@xl">
              <!-- here we define uk-sticky with offset -->
              <div uk-sticky="offset:70">
                <ul class="uk-nav-default uk-nav-parent-icon" uk-nav>
                    <li class="uk-nav-header">Navigation</li>
                    <li><a href="#"><span class="uk-margin-small-right" uk-icon="icon: users"></span>Benutzer</a></li>
                    <li><a href="#"><span class="uk-margin-small-right" uk-icon="icon: thumbnails"></span>Gruppen</a></li>
                    <li><a href="#"><span class="uk-margin-small-right" uk-icon="icon: unlock"></span>Rechte</a></li>
                    <li class="uk-nav-divider"></li>
                    <li><a href=""><span class="uk-margin-small-right" uk-icon="icon: server"></span>Server</a></li>
                 </ul>
              </div>
           </div>
          
            <div>
                <div class="uk-panel uk-margin-medium">
                    <h3>UIkit</h3>
                </div>
                <div class="uk-card uk-card-default uk-card-body">
                    <p>Content #1<br/>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
                </div>
                <div class="uk-card uk-card-default uk-card-body">
                    <p>Content #2<br/>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
                </div>
                <div class="uk-card uk-card-default uk-card-body">
                    <p>Content #2<br/>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
                </div>
                <div class="uk-card uk-card-default uk-card-body">
                    <p>Content #2<br/>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
                </div>
            </div>
    
        </div>
    </div>