提交 54071259 编写于 作者: C codecalm

tabler layout, sidebar, nav

上级 cac2ea31
{% removeemptylines %}
{% assign side = false %}
<ul class="navbar-nav{% if include.class %} {{ include.class }}{% endif %}">
<ul class="navbar-nav flex-wrap{% if include.class %} {{ include.class }}{% endif %}">
{% assign current-page = page.menu | default: layout.menu | split: '.' %}
{% for level-1 in site.data.menu %}
......
{% assign menu = page.menu | default: layout.menu %}
<aside class="sidenav {% if include.class %} {{ include.class }}{% endif %} {% if include.dark %}sidenav-dark bg-dark text-white{% else %}sidenav-light{% endif %}{% if include.fixed %} sidenav-fixed{% endif %}{% if include.right %} sidenav-right{% endif %}{% if include.folded %} sidenav-folded{% endif %} js-sidebar" id="sidebar">
{% comment %}
{% unless include.empty %}
{% include layout/sidenav-content.html menu=menu dark=include.dark %}
{% endunless %}
{% endcomment %}
<aside class="layout-menubar {% if include.class %} {{ include.class }}{% endif %} {% if include.dark %}sidenav-dark bg-dark text-white{% else %}sidenav-light{% endif %}{% if include.fixed %} sidenav-fixed{% endif %}{% if include.right %} sidenav-right{% endif %}{% if include.folded %} sidenav-folded{% endif %} js-sidebar" id="sidebar">
<div class="container">
{% include layout/sidenav-content.html menu=menu dark=include.dark %}
</div>
</aside>
<div class="d-none d-lg-block navbar {% if include.dark %}navbar-dark{% else %}navbar-light{% endif %} navbar-expand-lg">
<div class="layout-menubar navbar {% if include.dark %}navbar-dark{% else %}navbar-light{% endif %}">
<div class="container">
{% include layout/menu.html top=true %}
</div>
......
<header class="navbar navbar-expand-lg {% if include.dark %}navbar-dark bg-dark text-white{% else %}navbar-light{% endif %}{% if include.sticky %} navbar-sticky{% endif %}">
<header class="layout-topnav navbar navbar-expand-lg {% if include.dark %}navbar-dark bg-dark text-white{% else %}navbar-light{% endif %}{% if include.sticky %} navbar-sticky{% endif %}">
<div class="container{% if include.fluid %} container-fluid{% endif %}">
{% include parts/navbar.html logo=true search=true user-menu=1 person=1 dark=include.dark notifications=true %}
</div>
......
......@@ -2,18 +2,12 @@
layout: base
---
<div class="layout d-flex flex-row h-100p">
{% if page.sidenav %}
{% include layout/sidenav.html dark=page.sidenav-dark folded=page.sidenav-folded right=page.sidenav-right class=page.sidenav-class %}
{% endif %}
<div class="layout{% if page.site-layout %} {{ page.site-layout }}{% endif %}">
<div class="sidenav-overlay" data-toggle="sidenav"></div>
{% include layout/topnav.html dark=page.header-dark sticky=page.header-sticky %}
{% include layout/topmenu.html %}
<div class="layout-main d-flex flex-column flex-fill max-w-full">
{% unless page.sidenav %}
{% include layout/topnav.html dark=page.header-dark sticky=page.header-sticky %}
{% include layout/topmenu.html %}
{% endunless %}
<div class="layout-main">
<main class="container{% if page.container-size %} container-{{ page.container-size }}{% endif %}{% if page.fluid %}-fluid{% endif %} my-4 flex-fill">
{% include layout/page-title.html %}
......
---
title: Layout test
sidenav-class: sidenav-expanded-xl sidenav-folded-md
sidenav: true
sidenav-dark: true
site-layout: layout-with-sidebar-lg layout-with-sidebar-folded-md
---
<div class="card" id="card-test">
......
......@@ -27,11 +27,6 @@ body *:hover::-webkit-scrollbar-thumb {
background: $gray-500;
}
.layout {
position: relative;
outline: 1px solid red;
}
/**
Remove the cancel buttons in Chrome and Safari on macOS.
*/
......
$breakpoints: $grid-breakpoints;
.layout {
position: relative;
display: grid;
grid-template-columns: auto 1fr;
grid-template-rows: auto;
}
.layout-with-sidebar {
display: none;
@each $breakpoint in map-keys($breakpoints) {
$infix: breakpoint-infix($breakpoint, $breakpoints);
@include media-breakpoint-up($breakpoint, $breakpoints) {
&#{$infix} {
.layout-menubar {
width: $sidenav-width;
grid-column: 1;
grid-row: 1 / 10;
}
}
&-folded#{$infix} {
.layout-menubar {
width: $sidenav-folded-width;
grid-column: 1;
grid-row: 1 / 10;
}
}
}
}
}
.layout-topnav {
grid-column: 2/ none;
}
.layout-menubar {
grid-column: 2;
grid-row: 2 / none;
}
.layout-main {
grid-column: 2;
grid-row: 4;
}
......@@ -16,6 +16,11 @@ Navbar logo
margin-right: -($navbar-padding-x);
margin-left: -($navbar-padding-x);
.nav-link {
padding-left: $navbar-nav-link-padding-x;
padding-right: $navbar-nav-link-padding-x;
}
.nav-item.active .nav-link {
position: relative;
......
......@@ -28,17 +28,22 @@ $breakpoints: $grid-breakpoints;
transform: translateX(-100%);
transition: .3s opacity, .3s transform;
will-change: transform;
width: $sidenav-width;
min-width: $sidenav-width;
&.sidenav-right {
left: auto;
right: 0;
transform: translateX(100%);
}
body.show-sidenav & {
@include sidenav-visible-common;
}
}
@mixin sidenav-visible-common {
transform: translateX(0);
transform: translateX(0) !important;
opacity: 1;
}
......@@ -47,16 +52,16 @@ $breakpoints: $grid-breakpoints;
width: $sidenav-width;
min-width: $sidenav-width;
& ~ .layout-main {
padding-left: $sidenav-width;
&:not(.sidenav-right) ~ .layout-main {
//padding-left: $sidenav-width;
}
& ~ .sidenav-overlay {
display: none !important;
&.sidenav-right ~ .layout-main {
//padding-right: $sidenav-width;
}
&:before {
content: 'sidenav'
& ~ .sidenav-overlay {
display: none !important;
}
}
......@@ -65,16 +70,16 @@ $breakpoints: $grid-breakpoints;
width: $sidenav-folded-width;
min-width: $sidenav-folded-width;
& ~ .layout-main {
padding-left: $sidenav-folded-width;
&:not(.sidenav-right) ~ .layout-main {
//padding-left: $sidenav-folded-width;
}
& ~ .sidenav-overlay {
display: none !important;
&.sidenav-right ~ .layout-main {
//padding-right: $sidenav-folded-width;
}
&:before {
content: 'sidenav-folded'
& ~ .sidenav-overlay {
display: none !important;
}
}
......@@ -103,7 +108,7 @@ Sidebar
/*
Right navbar
*/
&.navbar-right {
&.sidenav-right {
order: 9;
box-shadow: -1px 0 $sidenav-border-color;
}
......
......@@ -11,6 +11,7 @@
@import "fonts/webfonts";
@import "layout/core";
@import "layout/layout";
@import "layout/navbar";
@import "layout/sidenav";
@import "layout/page";
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册