Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/bootstrap.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/site
diff options
context:
space:
mode:
authorMark Otto <markd.otto@gmail.com>2021-12-03 11:08:01 +0300
committerGitHub <noreply@github.com>2021-12-03 11:08:01 +0300
commita780d74b28add417be398c525d2ed75775e02e16 (patch)
tree058a106e5ca750899dfbe293405345b710af6cd7 /site
parent6eef480e1e0c839243871b7714a925a14579fc28 (diff)
Docs offcanvas navbar (#34487)
* Redesign docs navbar to use offcanvas, tweak overall padding while I'm here * Match code snippets to new gutter width * Replace value with docs-specific variable Opted not to do a CSS variable here since on .bd-content it would be inherited into our examples Co-authored-by: XhmikosR <xhmikosr@gmail.com>
Diffstat (limited to 'site')
-rw-r--r--site/assets/scss/_component-examples.scss8
-rw-r--r--site/assets/scss/_layout.scss3
-rw-r--r--site/assets/scss/_navbar.scss12
-rw-r--r--site/assets/scss/_sidebar.scss2
-rw-r--r--site/assets/scss/_subnav.scss11
-rw-r--r--site/assets/scss/_variables.scss2
-rw-r--r--site/layouts/partials/docs-navbar.html110
7 files changed, 89 insertions, 59 deletions
diff --git a/site/assets/scss/_component-examples.scss b/site/assets/scss/_component-examples.scss
index f93f1ee989..208654ae03 100644
--- a/site/assets/scss/_component-examples.scss
+++ b/site/assets/scss/_component-examples.scss
@@ -85,7 +85,7 @@
.bd-example {
position: relative;
padding: 1rem;
- margin: 1rem (-$grid-gutter-width * .5) 0;
+ margin: 1rem ($bd-gutter-x * -1) 0;
border: solid $gray-300;
border-width: 1px 0 0;
@include clearfix();
@@ -313,7 +313,7 @@
//
.highlight {
- padding: 1rem;
+ padding: var(--bs-gutter-x) $bd-gutter-x;
margin-bottom: 1rem;
background-color: $gray-100;
@@ -338,8 +338,8 @@
}
.bd-content .highlight {
- margin-right: (-$grid-gutter-width * .5);
- margin-left: (-$grid-gutter-width * .5);
+ margin-right: $bd-gutter-x * -1;
+ margin-left: $bd-gutter-x * -1;
@include media-breakpoint-up(sm) {
margin-right: 0;
diff --git a/site/assets/scss/_layout.scss b/site/assets/scss/_layout.scss
index 707c4949d1..03eab6f287 100644
--- a/site/assets/scss/_layout.scss
+++ b/site/assets/scss/_layout.scss
@@ -1,4 +1,7 @@
.bd-layout {
+ padding-right: $bd-gutter-x;
+ padding-left: $bd-gutter-x;
+
@include media-breakpoint-up(md) {
display: grid;
gap: $grid-gutter-width;
diff --git a/site/assets/scss/_navbar.scss b/site/assets/scss/_navbar.scss
index 053cadf2ee..07851b55c7 100644
--- a/site/assets/scss/_navbar.scss
+++ b/site/assets/scss/_navbar.scss
@@ -1,4 +1,7 @@
.bd-navbar {
+ --bs-gutter-x: $bd-gutter-x;
+ --bs-gutter-y: $bd-gutter-x;
+
padding: .75rem 0;
background-color: $bd-purple-bright;
@@ -29,4 +32,13 @@
width: 1rem;
height: 1rem;
}
+
+ .offcanvas {
+ background-color: $bd-purple-bright;
+ border-left: 0;
+
+ @include media-breakpoint-down(md) {
+ box-shadow: $box-shadow-lg;
+ }
+ }
}
diff --git a/site/assets/scss/_sidebar.scss b/site/assets/scss/_sidebar.scss
index d893ba9dcc..b6d347fe7a 100644
--- a/site/assets/scss/_sidebar.scss
+++ b/site/assets/scss/_sidebar.scss
@@ -1,6 +1,6 @@
.bd-sidebar {
@include media-breakpoint-down(md) {
- margin: 0 -.75rem 1rem;
+ margin: 0 ($bd-gutter-x * -1) 1rem;
}
}
diff --git a/site/assets/scss/_subnav.scss b/site/assets/scss/_subnav.scss
index 8377ff4235..cc47c6fb54 100644
--- a/site/assets/scss/_subnav.scss
+++ b/site/assets/scss/_subnav.scss
@@ -1,4 +1,7 @@
.bd-subnavbar {
+ --bs-gutter-x: $bd-gutter-x;
+ --bs-gutter-y: $bd-gutter-x;
+
// The position and z-index are needed for the dropdown to stay on top of the content
position: relative;
z-index: $zindex-sticky;
@@ -31,16 +34,16 @@
position: absolute;
top: .4rem;
right: .4rem;
+ bottom: .4rem;
display: flex;
align-items: center;
justify-content: center;
- height: 1.5rem;
- padding-right: .25rem;
- padding-left: .25rem;
+ padding-right: .3125rem;
+ padding-left: .3125rem;
@include font-size(.75rem);
color: $gray-600;
content: "Ctrl + /";
- border: $border-width solid $border-color;
+ background-color: $gray-100;
@include border-radius(.125rem);
}
diff --git a/site/assets/scss/_variables.scss b/site/assets/scss/_variables.scss
index 110600260c..939492f702 100644
--- a/site/assets/scss/_variables.scss
+++ b/site/assets/scss/_variables.scss
@@ -11,3 +11,5 @@ $bd-warning: #f0ad4e;
$bd-danger: #d9534f;
$dropdown-active-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#292b2c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>");
$sidebar-collapse-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><path fill='none' stroke='rgba(0,0,0,.5)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 14l6-6-6-6'/></svg>");
+
+$bd-gutter-x: 1.25rem;
diff --git a/site/layouts/partials/docs-navbar.html b/site/layouts/partials/docs-navbar.html
index e120c9c740..6611596e6b 100644
--- a/site/layouts/partials/docs-navbar.html
+++ b/site/layouts/partials/docs-navbar.html
@@ -4,62 +4,72 @@
{{ partial "icons/bootstrap-white-fill.svg" (dict "class" "d-block my-1" "width" "40" "height" "32") }}
</a>
- <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#bdNavbar" aria-controls="bdNavbar" aria-expanded="false" aria-label="Toggle navigation">
+ <button class="navbar-toggler" type="button" data-bs-toggle="offcanvas" data-bs-target="#bdNavbar" aria-controls="bdNavbar" aria-expanded="false" aria-label="Toggle navigation">
{{ partial "icons/hamburger.svg" (dict "class" "bi" "width" "32" "height" "32") }}
</button>
- <div class="collapse navbar-collapse" id="bdNavbar">
- <ul class="navbar-nav flex-row flex-wrap bd-navbar-nav pt-2 py-md-0">
- <li class="nav-item col-6 col-md-auto">
- <a class="nav-link p-2{{ if .IsHome }} active" aria-current="page{{ end }}" href="/" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Bootstrap');">Home</a>
- </li>
- <li class="nav-item col-6 col-md-auto">
- <a class="nav-link p-2{{ if eq .Page.Layout "docs" }} active" aria-current="true{{ end }}" href="/docs/{{ .Site.Params.docs_version }}/getting-started/introduction/" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Docs');">Docs</a>
- </li>
- <li class="nav-item col-6 col-md-auto">
- <a class="nav-link p-2{{ if eq .Page.Title "Examples" }} active" aria-current="true{{ end }}" href="/docs/{{ .Site.Params.docs_version }}/examples/" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Examples');">Examples</a>
- </li>
- <li class="nav-item col-6 col-md-auto">
- <a class="nav-link p-2" href="{{ .Site.Params.icons }}" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Icons');" target="_blank" rel="noopener">Icons</a>
- </li>
- <li class="nav-item col-6 col-md-auto">
- <a class="nav-link p-2" href="{{ .Site.Params.themes }}" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Themes');" target="_blank" rel="noopener">Themes</a>
- </li>
- <li class="nav-item col-6 col-md-auto">
- <a class="nav-link p-2" href="{{ .Site.Params.blog }}" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Blog');" target="_blank" rel="noopener">Blog</a>
- </li>
- </ul>
+ <div class="offcanvas offcanvas-end" tabindex="-1" id="bdNavbar" aria-labelledby="bdNavbarOffcanvasLabel">
+ <div class="offcanvas-header pb-0">
+ <h5 class="offcanvas-title text-white" id="bdNavbarOffcanvasLabel">Bootstrap</h5>
+ <button type="button" class="btn-close btn-close-white" data-bs-dismiss="offcanvas" aria-label="Close"></button>
+ </div>
- <hr class="d-md-none text-white-50">
+ <div class="offcanvas-body pt-0">
+ <hr class="d-md-none text-white-50">
+ <ul class="navbar-nav flex-row flex-wrap bd-navbar-nav">
+ <li class="nav-item col-6 col-md-auto">
+ <a class="nav-link p-2{{ if .IsHome }} active" aria-current="page{{ end }}" href="/" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Bootstrap');">Home</a>
+ </li>
+ <li class="nav-item col-6 col-md-auto">
+ <a class="nav-link p-2{{ if eq .Page.Layout "docs" }} active" aria-current="true{{ end }}" href="/docs/{{ .Site.Params.docs_version }}/getting-started/introduction/" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Docs');">Docs</a>
+ </li>
+ <li class="nav-item col-6 col-md-auto">
+ <a class="nav-link p-2{{ if eq .Page.Title "Examples" }} active" aria-current="true{{ end }}" href="/docs/{{ .Site.Params.docs_version }}/examples/" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Examples');">Examples</a>
+ </li>
+ <li class="nav-item col-6 col-md-auto">
+ <a class="nav-link p-2" href="{{ .Site.Params.icons }}" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Icons');" target="_blank" rel="noopener">Icons</a>
+ </li>
+ <li class="nav-item col-6 col-md-auto">
+ <a class="nav-link p-2" href="{{ .Site.Params.themes }}" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Themes');" target="_blank" rel="noopener">Themes</a>
+ </li>
+ <li class="nav-item col-6 col-md-auto">
+ <a class="nav-link p-2" href="{{ .Site.Params.blog }}" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Blog');" target="_blank" rel="noopener">Blog</a>
+ </li>
+ </ul>
- <ul class="navbar-nav flex-row flex-wrap ms-md-auto">
- <li class="nav-item col-6 col-md-auto">
- <a class="nav-link p-2" href="{{ .Site.Params.github_org }}" target="_blank" rel="noopener">
- {{ partial "icons/github.svg" (dict "class" "navbar-nav-svg d-inline-block align-text-top" "width" "36" "height" "36") }}
- <small class="d-md-none ms-2">GitHub</small>
- </a>
- </li>
- <li class="nav-item col-6 col-md-auto">
- <a class="nav-link p-2" href="https://twitter.com/{{ .Site.Params.twitter }}" target="_blank" rel="noopener">
- {{ partial "icons/twitter.svg" (dict "class" "navbar-nav-svg d-inline-block align-text-top" "width" "36" "height" "36") }}
- <small class="d-md-none ms-2">Twitter</small>
- </a>
- </li>
- <li class="nav-item col-6 col-md-auto">
- <a class="nav-link p-2" href="{{ .Site.Params.slack }}" target="_blank" rel="noopener">
- {{ partial "icons/slack.svg" (dict "class" "navbar-nav-svg d-inline-block align-text-top" "width" "36" "height" "36") }}
- <small class="d-md-none ms-2">Slack</small>
- </a>
- </li>
- <li class="nav-item col-6 col-md-auto">
- <a class="nav-link p-2" href="{{ .Site.Params.opencollective }}" target="_blank" rel="noopener">
- {{ partial "icons/opencollective.svg" (dict "class" "navbar-nav-svg d-inline-block align-text-top" "width" "36" "height" "36") }}
- <small class="d-md-none ms-2">Open Collective</small>
- </a>
- </li>
- </ul>
+ <hr class="d-md-none text-white-50">
- <a class="btn btn-bd-download d-lg-inline-block my-2 my-md-0 ms-md-3" href="/docs/{{ .Site.Params.docs_version }}/getting-started/download/">Download</a>
+ <ul class="navbar-nav flex-row flex-wrap ms-md-auto">
+ <li class="nav-item col-6 col-md-auto">
+ <a class="nav-link p-2" href="{{ .Site.Params.github_org }}" target="_blank" rel="noopener">
+ {{ partial "icons/github.svg" (dict "class" "navbar-nav-svg d-inline-block align-text-top" "width" "36" "height" "36") }}
+ <small class="d-md-none ms-2">GitHub</small>
+ </a>
+ </li>
+ <li class="nav-item col-6 col-md-auto">
+ <a class="nav-link p-2" href="https://twitter.com/{{ .Site.Params.twitter }}" target="_blank" rel="noopener">
+ {{ partial "icons/twitter.svg" (dict "class" "navbar-nav-svg d-inline-block align-text-top" "width" "36" "height" "36") }}
+ <small class="d-md-none ms-2">Twitter</small>
+ </a>
+ </li>
+ <li class="nav-item col-6 col-md-auto">
+ <a class="nav-link p-2" href="{{ .Site.Params.slack }}" target="_blank" rel="noopener">
+ {{ partial "icons/slack.svg" (dict "class" "navbar-nav-svg d-inline-block align-text-top" "width" "36" "height" "36") }}
+ <small class="d-md-none ms-2">Slack</small>
+ </a>
+ </li>
+ <li class="nav-item col-6 col-md-auto">
+ <a class="nav-link p-2" href="{{ .Site.Params.opencollective }}" target="_blank" rel="noopener">
+ {{ partial "icons/opencollective.svg" (dict "class" "navbar-nav-svg d-inline-block align-text-top" "width" "36" "height" "36") }}
+ <small class="d-md-none ms-2">Open Collective</small>
+ </a>
+ </li>
+ </ul>
+
+ <hr class="d-md-none text-white-50">
+
+ <a class="btn btn-bd-download d-lg-inline-block my-2 my-md-0 ms-md-3" href="/docs/{{ .Site.Params.docs_version }}/getting-started/download/">Download</a>
+ </div>
</div>
</nav>
</header>