我正在尝试将下拉菜单宽度调整为div header-bar
。我页面中间的条形图,下面有一个背景图像。
我已经尝试过此解决方案http://jsfiddle.net/4MEWL/1/,但它使子菜单与浏览器窗口一样宽。那不是我需要实现的。
HTML
<header>
<div class="container">
<div class="header-bar">
<div class="header-company-logo">
</div><!-- .header-company-logo -->
<div class="header-menu">
<nav class="navbar navbar-expand-lg">
<button class="navbar-toggler custom-toggler" type="button" data-toggle="collapse" data-target="#navbarToggler" aria-controls="navbarToggler" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarToggler">
<?php wp_nav_menu( array( 'theme_location' => 'primary_navigation' ) ); ?>
</div>
</nav>
</div><!-- .header-menu -->
<div class="header-phone">
<a href="tel:<?php echo get_option('cellphone-no-set'); ?>"><?php echo get_option('cellphone-no-set'); ?></a>
</div><!-- .header-phone -->
</div><!-- .header-bar -->
</div><!-- .container -->
</header>
SASS
$ base-padding = 15px
#menu-main-menu {
float: left;
margin: 0;
padding: 0;
li {
display: inline-block;
position: relative;
padding: 0 $base-padding;
list-style: none;
a {
text-transform: uppercase;
text-decoration: none;
padding-bottom: $base-padding * 2;
&:after {
content: '';
position: absolute;
left: 0;
display: inline-block;
height: 1em;
width: 100%;
border-bottom: 1.5px solid $green-color;
margin-top: $base-padding - 2px;
opacity: 0;
-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
transition: opacity 0.35s, transform 0.35s;
-webkit-transform: scale(0,1);
transform: scale(0,1);
}
}
ul {
background: $white-color;
position: absolute;
display: none;
left: 0;
top: 47px;
width: 100%;
}
&:hover {
ul {
display: block;
li {
width: 100%;
padding: $base-padding;
a {
&:after {
opacity: 0;
}
}
}
}
a {
&:after {
opacity: 1;
-webkit-transform: scale(1);
transform: scale(1);
}
}
}
}
}