Как изменить меню начальной загрузки 5 по умолчанию на меню вне холста?

Я создаю одну целевую страницу в Bootstrap 5, где меню по умолчанию должно быть заменено меню вне холста со значком закрытия.

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Geometry Global</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
  <link href="assets/css/theme.css" rel="stylesheet">
  <style>
  @import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700;800;900&display=swap');
        body, h1, h2, h3, h4, h5, article, section, div, p, ul, li, ol, a {
            font-family: 'Montserrat', sans-serif;
        }
        h1{
            font-size:5.3rem;
            font-weight:900;
            line-height:0.8;
        }
        h2{
            font-size:2rem;
            font-weight:700;
        }
        body{
            max-width:1414px;
            margin:0 auto;
        }
      [x-cloak] { display: none; }
      button {vertical-align: middle;}
      input#s {border-radius: 0;border-width: 0 0 1px 0;font-size: 1.5rem;}
      input#s:focus {outline: none;box-shadow: none;}
      .search-panel-wrap {
          position: relative;
          height: 1px;
      }
      .search-panel {
          background-color: white;
          position: absolute;
          top: 100%;
          left: 0;
          width: 100%;
          padding: 20px 0;
          z-index: 9;
      }
  </style>
  <script src="https://cdn.jsdelivr.net/gh/alpinejs/[email protected]/dist/alpine.min.js" defer></script>
  <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
</head>

<body x-data="{s_open: false}">

<section>
    <div class="container border-bottom border-1 border-dark">
        <div class="row py-3">
            <div class="col-sm-6 col-6">
                Geometry Global
            </div>
            
            <div class="col-sm-6 col-6 d-block d-sm-none">
                <div class="text-end">
                    <a href="">Explore Geometry Global</a>&nbsp;&nbsp;
                    <a href=""><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-search" viewBox="0 0 16 16"> <path d="M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z"/> </svg></a>
                </div>
            </div>
        </div>
    </div>
</section>

<section class="sticky-top bg-white">
    <nav class="navbar container navbar-expand-lg navbar-light px-0">
    <div class="container-fluid">
        <a class="navbar-brand" href="#">Annual Report</a>
        <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarText" aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse" id="navbarText">
        <ul class="navbar-nav me-auto mb-2 mb-lg-0">
            <li class="nav-item dropdown">
            <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
                Reports 2020
            </a>
            <ul class="dropdown-menu" aria-labelledby="navbarDropdown">
                <li><a class="dropdown-item" href="#">Report Architecture</a></li>
                <li><hr class="dropdown-divider"></li>
                <li><a class="dropdown-item" href="#">Report Planning</a></li>
                <li><hr class="dropdown-divider"></li>
                <li><a class="dropdown-item" href="#">Report Development</a></li>
            </ul>
            </li>
            <li class="nav-item dropdown">
            <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
                External Links
            </a>
            <ul class="dropdown-menu" aria-labelledby="navbarDropdown">
                <li><a class="dropdown-item" href="#">Link 1</a></li>
                <li><hr class="dropdown-divider"></li>
                <li><a class="dropdown-item" href="#">Link 2</a></li>
                <li><hr class="dropdown-divider"></li>
                <li><a class="dropdown-item" href="#">Link 3</a></li>
            </ul>
            </li>
        </ul>
        <span class="navbar-text d-none d-sm-block">
            <a href="#" style="display: inline-block;transform: translateY(3px);">Download Geometry Global Report</a>&nbsp;&nbsp;
            <button class="btn" id="js-toggle-sp" @click="s_open = true" x-show="s_open === false"style="padding:0;height:24px;width:24px;">
                <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-search" viewBox="0 0 16 16"> 
                    <path d="M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z"/> 
                </svg>
            </button>
            <button type="button" class="btn-close" aria-label="Close" x-show="s_open" x-cloak></button>
        </span>
        </div>
    </div>
    </nav>
    <div class="search-panel-wrap">
        <div class="search-panel" x-show="s_open" @click.away="s_open = false" x-cloak>
            <div class="container search-panel__wrap">
                <form action=""><input class="form-control" type="text" name="s" id="s" placeholder="Type here"></form>
            </div>
        </div>
    </div>
</section>

<section class="py-3" style="background-color:#F9ECE4;">
    <div class="container">
        <div class="row">
            <div class="col-sm-4 align-self-center">
                <div><h2>STATISTICS <br/>2020</h2></div>
                <div>An annual report is a comprehensive report on a company's activities throughout the preceding year. Annual reports are intended to give shareholders and other interested people information about the company's activities and financial performance.</div>
            </div>
            
            <div class="col-sm-8 text-center">
                <img class="img-fluid" src="https://cdn.pixabay.com/photo/2019/09/28/10/38/medical-4510408_1280.png" alt=""/>
            </div>
        </div>
    </div>
</section>

<section class="py-3">
    <div class="container">
        <div class="row">
            <div class="col-sm-6 align-self-center">
                <div class="py-3"><h1>Gross <br/>Income <br/>2020</h1></div>
                <div class="py-3">An annual report is a comprehensive report on a company's activities throughout the preceding year. Annual reports are intended to give shareholders and other interested people information about the company's activities and financial performance.</div>
                <div class="py-3">This doctype is meant to help our users create various business or project proposals and help them get approved. Proposals themes can be categorised per industry.</div>
            </div>
            
            <div class="col-sm-6">
                <div class="py-3">An annual report is a comprehensive report on a company's activities throughout the preceding year. Annual reports are intended to give shareholders and other interested people information about the company's activities and financial performance.</div>
                <div class="py-3">They may be considered as grey literature. Most jurisdictions require companies to prepare and disclose annual reports, and many require the annual report to be filed at the company's registry. Companies listed on a stock exchange are also required to report at more frequent intervals (depending upon the rules of the stock exchange involved).</div>
                <div class="py-3">This doctype is meant to help our users create various business or project proposals and help them get approved. Proposals themes can be categorised per industry.</div>
                
            </div>
        </div>
        
        <div class="row py-5">
            <div class="col">
                &copy; geometry global inc. 2021
            </div>
        </div>
    </div>
</section>

</body>
</html>

Я искал какой-то учебник, но не смог реализовать кнопку закрытия. Мне нужно, чтобы значок меню открывался справа как меню вне холста с рабочими раскрывающимися списками. Любая помощь будет принята с благодарностью. Спасибо.


person Ricky    schedule 16.02.2021    source источник


Ответы (1)


Bootstrap 5 Beta 3 (обновление 2021 г.)

Представляем новый компонент Bootstrap 5 Offcanvas

Bootstrap 5 Beta 2 (исходный ответ)

Меню вне холста не является официальным компонентом Bootstrap, но вы можете создать его с помощью этого экспериментального шаблона в качестве примера. Вы увидите, что для этого требуются дополнительные CSS и JS.

person Zim    schedule 16.02.2021