This commit is contained in:
Luiz Felipe Silva 2022-12-08 23:46:03 -03:00
parent 5665b5a31f
commit ec10216244
7 changed files with 158 additions and 28 deletions

View File

@ -1,4 +1,5 @@
.page-header { .page-header {
position: relative;
padding: 28px 0; padding: 28px 0;
background: $black-500; background: $black-500;
// O include está puxando a classe mq no SCSS mixin. O lg(max-width: 991px) é um tamanho armazenado e o max é de max-width. // O include está puxando a classe mq no SCSS mixin. O lg(max-width: 991px) é um tamanho armazenado e o max é de max-width.

View File

@ -1,4 +1,6 @@
.menu { .menu {
align-self: stretch;
&__button { &__button {
padding: 0; padding: 0;
border: 0; border: 0;
@ -12,14 +14,19 @@
} }
.main-menu { .main-menu {
height: 100%;
&__departments { &__departments {
display: flex; display: flex;
align-items: center; margin: 0;
height: 100%;
} }
&__department { &__department {
display: flex;
align-items: center;
margin-right: 40px; margin-right: 40px;
// O include está puxando a classe mq no SCSS mixin. O lg(min-width: 991px) é um tamanho armazenado e o min é de min-width.
@include mq(lg, min) { @include mq(lg, min) {
&:hover { &:hover {
.main-menu__department-link { .main-menu__department-link {
@ -27,6 +34,12 @@
color: $blue-500; color: $blue-500;
text-decoration: underline; text-decoration: underline;
} }
.submenu {
top: 100%;
opacity: 1;
pointer-events: all;
}
} }
} }
} }
@ -35,7 +48,7 @@
font-size: 12px; font-size: 12px;
line-height: 15px; line-height: 15px;
color: $white-500; color: $white-500;
// O include está puxando a classe mq no SCSS mixin. O lg(min-width: 991px) é um tamanho armazenado e o min é de min-width.
@include mq(lg, min) { @include mq(lg, min) {
// Técnica usada para quando aplicar bold no hover o elemento não mexer toda a tela. // Técnica usada para quando aplicar bold no hover o elemento não mexer toda a tela.
&::after { &::after {
@ -50,4 +63,76 @@
} }
} }
} }
.submenu {
position: absolute;
// Significa que o submenu vai estar a 100% mais 32px do topo do header.
top: calc(100% + 32px);
left: 0;
width: 100%;
// O map-get é usado para acessar atributos de uma variável. O primeiro valor é o nome da variável(presente em variables) e o segundo o nome do elemento a ser puxado.
z-index: map-get($z-index, level-4);
padding: 30px 0 43px;
background: rgba($white-500, 0.95);
box-shadow: 0px 4px 4px rgba($black-500, 0.02);
opacity: 0;
pointer-events: none;
transition: all 0.4s ease-in-out;
// Usado para fazer as LI preencher todo o submenu assim não fechando quando o mouse estiver sobre ele.
&::before {
content: '';
position: absolute;
left: 0;
bottom: 100%;
width: 100%;
height: 28px;
}
&__title {
margin: 0;
margin: 0 0 8px;
font-size: 20px;
line-height: 24px;
}
&__categories-wrapper {
display: flex;
margin-bottom: 8px;
}
&__categories {
margin-right: 20px;
}
&__category {
padding: 8px 0;
}
&__category-link {
line-height: 15px;
font-size: 12px;
color: $black-500;
transition: color 0.2s linear;
// O include está puxando a classe mq no SCSS mixin. O lg(min-width: 991px) é um tamanho armazenado e o min é de min-width.
@include mq(lg, min) {
&:hover {
color: $blue-500;
}
}
}
&__see-all {
display: flex;
align-items: center;
font-weight: 700;
line-height: 15px;
font-size: 12px;
color: $black-500;
i {
margin-left: 9px;
}
}
}
} }

View File

@ -23,7 +23,7 @@ html {
*/ */
body { body {
color: #142032; color: $black-500;
margin: 0; margin: 0;
} }

View File

@ -1,4 +1,4 @@
// fonts // Fonts
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap');
@ -9,15 +9,13 @@ $font-weight-regular: 400;
$font-weight-heavy: 700; $font-weight-heavy: 700;
$font-height: 1.5; $font-height: 1.5;
// colors // Colors
$black-500: #000000; $black-500: #000000;
$white-500: #ffffff; $white-500: #ffffff;
$blue-500: #00C8FF; $blue-500: #00C8FF;
$gray-500: #333333; $gray-500: #333333;
// universal
// Grid breakpoints // Grid breakpoints
$grid-breakpoints: ( $grid-breakpoints: (
@ -28,14 +26,12 @@ $grid-breakpoints: (
xl: 1200px, xl: 1200px,
) !default; ) !default;
// Z-index
$z-index: ( $z-index: (
menu: 15, level-1: 5,
popup-add-cart: 10, level-2: 10,
dropdown: 10, level-3: 15,
flag-prateleira: 5, level-4: 20,
comprar-flutuante: 5, level-5: 25,
avise-me: 5,
scroll-top: 7,
header-fixo: 10,
popup-user: 15,
) !default; ) !default;

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 B

View File

@ -2,6 +2,56 @@
<ul class="main-menu__departments"> <ul class="main-menu__departments">
<li class="main-menu__department"> <li class="main-menu__department">
<a href="#" class="main-menu__department-link" title="LOREM IPSUM">LOREM IPSUM</a> <a href="#" class="main-menu__department-link" title="LOREM IPSUM">LOREM IPSUM</a>
<div class="submenu">
<div class="container">
<h2 class="submenu__title">LOREM IPSUM</h2>
<div class="submenu__categories-wrapper">
<ul class="submenu__categories">
<li class="submenu__category">
<a href="" class="submenu__category-link">Lorem ipsum</a>
</li class="submenu__category">
<li class="submenu__category">
<a href="" class="submenu__category-link">Lorem ipsum</a>
</li class="submenu__category">
<li class="submenu__category">
<a href="" class="submenu__category-link">Lorem ipsum</a>
</li class="submenu__category">
<li class="submenu__category">
<a href="" class="submenu__category-link">Lorem ipsum</a>
</li class="submenu__category">
</ul>
<ul class="submenu__categories">
<li class="submenu__category">
<a href="" class="submenu__category-link">Lorem ipsum</a>
</li class="submenu__category">
<li class="submenu__category">
<a href="" class="submenu__category-link">Lorem ipsum</a>
</li class="submenu__category">
<li class="submenu__category">
<a href="" class="submenu__category-link">Lorem ipsum</a>
</li class="submenu__category">
<li class="submenu__category">
<a href="" class="submenu__category-link">Lorem ipsum</a>
</li class="submenu__category">
</ul>
</div>
<a href="" class="submenu__see-all">
VER TODOS
<!--O sprite adiciona um fundo e a segunda classe adiciona a imagem. -->
<i class="sprite sprite-menu-arrow-icon"></i>
</a>
</div>
</div>
</li> </li>
<li class="main-menu__department"> <li class="main-menu__department">

View File

@ -8,7 +8,7 @@
</button> </button>
<!-- Está chamando o arquivo HTML presente em controles customizados. --> <!-- Está chamando o arquivo HTML presente em controles customizados. -->
<vtex.cmc:menuPrincipal/> <vtex.cmc:menuPrincipal />
</div> </div>
<a href="/"> <a href="/">
@ -40,7 +40,5 @@
<!-- Cria o input de busca VTEX. --> <!-- Cria o input de busca VTEX. -->
<vtex.cmc:fullTextSearchBox /> <vtex.cmc:fullTextSearchBox />
</div> </div>
</div> </div>
</header> </header>